Automatic validation of deployed J2EE components using aspects

Validating that software components meet their requirements under a particular deployment scenario is very challenging. We describe a new approach that uses component aspects, describing functional and nonfunctional cross-cutting concerns impacting components, to perform automated deployed component validation. Aspect information associated with J2EE component implementations is inspected after component deployment by validation agents. These agents run automated tests to determine if the deployed components meet their aspect-described requirements. We describe the way component aspects are encoded, the automated agent-based testing process we employ, and our validation agent architecture and implementation.

[1]  Jean-Marc Jézéquel,et al.  Making Components Contract Aware , 1999, Computer.

[2]  John C. Grundy,et al.  Generation of distributed system test-beds from high-level software architecture descriptions , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[3]  Jean-Marc Jézéquel,et al.  Aspect-oriented design with the UML , 2000, ICSE 2000.

[4]  Ping Bai,et al.  Retrieving software components by execution , 1998 .

[5]  Enrico Motta,et al.  Specifications of Knowledge Components for Reuse , 1999 .

[6]  Stanley M. Sutton,et al.  N degrees of separation: multi-dimensional separation of concerns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[7]  Paul Allen,et al.  Component-Based Development for Enterprise Systems: Applying the SELECT Perspective , 1997 .

[8]  Jun Han,et al.  Security characterisation and integrity assurance for component-based software , 2000, Proceedings International Conference on Software Methods and Tools. SMT 2000.

[9]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[10]  Gregg Rothermel,et al.  Using component metacontent to support the regression testing of component-based software , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[11]  Gregory M. Kapfhammer,et al.  An approach for understanding and testing third party software components , 2002, Annual Reliability and Maintainability Symposium. 2002 Proceedings (Cat. No.02CH37318).

[12]  Yves Le Traon,et al.  Testing-for-trust: the genetic selection model applied to component qualification , 2000, Proceedings 33rd International Conference on Technology of Object-Oriented Languages and Systems TOOLS 33.

[13]  Lei Hu,et al.  A performance prototyping approach to designing concurrent software architectures , 1997, Proceedings of PDSE '97: 2nd International Workshop on Software Engineering for Parallel and Distributed Systems.

[14]  Julie A. McCann,et al.  Tool to evaluate performance in distributed heterogeneous processing , 1998, Proceedings of the Sixth Euromicro Workshop on Parallel and Distributed Processing - PDP '98 -.

[15]  Khaled M. Khan,et al.  Composing Security-Aware Software , 2002, IEEE Softw..

[16]  John D. McGregor,et al.  Parallel Architecture for Component Testing , 1997, J. Object Oriented Program..

[17]  Ian Gorton,et al.  Evaluating Enterprise Java Bean Technology , 2000 .

[18]  Mira Mezini,et al.  Adaptive plug-and-play components for evolutionary software development , 1998, OOPSLA '98.

[19]  A. Jefferson Offutt,et al.  Generating test cases for XML-based Web component interactions using mutation analysis , 2001, Proceedings 12th International Symposium on Software Reliability Engineering.

[20]  Andry Rakotonirainy,et al.  A simple architecture description model , 1998, Proceedings Technology of Object-Oriented Languages. TOOLS 28 (Cat. No.98TB100271).

[21]  John Grundy,et al.  Multi-Perspective Specification, Design and Implementation of Software Components Using Aspects , 2000, Int. J. Softw. Eng. Knowl. Eng..

[22]  Paul Allen Component-Based Development for Enterprise Systems , 1998 .

[23]  H. Kaiya,et al.  Specifying runtime environments and functionalities of downloadable components under the sandbox model , 2000, Proceedings International Symposium on Principles of Software Evolution.

[24]  Yong Rae Kwon,et al.  Framework for third party testing of component software , 2001, Proceedings Eighth Asia-Pacific Software Engineering Conference.

[25]  Matjaz B. Juric,et al.  Java 2 distributed object middleware performance analysis and optimization , 2000, SIGP.

[26]  Martin S. Feather,et al.  Test oracle automation for V&V of an autonomous spacecraft's planner , 2001 .

[27]  Scott Henninger,et al.  Supporting the construction and evolution of component repositories , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[28]  Paul J. Perrone,et al.  Building Java Enterprise Systems with J2EE , 2000 .

[29]  John C. Grundy,et al.  Developing software components with the UML, Enterprise Java Beans and aspects , 2001, Proceedings 2001 Australian Software Engineering Conference.

[30]  Daniel Hoffman,et al.  Boundary Values and Automated Component Testing , 1999, Softw. Test. Verification Reliab..

[31]  Daniel Hoffman,et al.  Tools and techniques for Java API testing , 2000, Proceedings 2000 Australian Software Engineering Conference.