External Requirements Validation for Component-Based Systems
Software evolution is a major challenge to software development. When adapting a component-based system to new, altered or deleted requirements, existing requirements should not accidentally be violated. Invariant conditions are usually specified via constraint languages like OCL on a high precision level close to source code. On the contrary, this paper uses a new constraint mechanism. One context-based constraint (CoCon) specifies one requirement for a group of indirectly associated components that share a context. This paper proposes a ‘Rule Manager’ approach to monitor a system’s compliance with requirements automatically at runtime. The approach is compatible with modern middleware technologies and allows the transparent integration of requirement validation in legacy systems or COTS.
KeywordsContext Condition Context Property Rule Manager Interception Point Type Clause
- 1.BEA Systems, Inc. BEA WebLogic Server, Using WebLogic Server Clusters, March 2001.Google Scholar
- 2.Marko Boger, Toby Baier, Frank Wienberg, and Winfried Lamersdorf. Structuring QoS-supporting services with smart proxies. In Extreme Programming and Flexible Processes in Software Engineering-XP2000, Reading, 2000. Addison-Wesley.Google Scholar
- 3.Felix Bübl. The context-based constraint language CCL for component. Technical report, Technical University Berlin, available at http://www.CoCons.org, 2002.
- 4.Felix Bübl. Introducing context-based constraints. In Herbert Weber and Ralf-Detlef Kutsche, editors, Fundamental Approaches to Software Engineering (FASE’ 02), Grenoble, France. Springer, April 2002.Google Scholar
- 5.John Cheesman and John Daniels. UML Components. Addison-Wesley, 2000.Google Scholar
- 6.Steve Cook, Anneke Kleppe, Richard Mitchell, Jos Warmer, and Alan Wills. Defining the context of OCL expressions. In B. Rumpe and R.B. France, editors, 2nd International Conference on the Unified Modeling Language, Colorado, USA, volume 1723 of LNCS. Springer, 1999.Google Scholar
- 7.Linda G. DeMichiel, L. Umit Yalcinalp, and Sanjeev Krishnan. Enterprise Jav-aBeans Specification. Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, California 94303, U.S.A., April 2001. Proposed Final Draft.Google Scholar
- 8.Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns, Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.Google Scholar
- 9.Yariv Kaplan. API spying techniques for windows 9x, NT and 2000. http://www.internals.com/articles/apispy/apispy.htm, 2001.
- 10.G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J. Loingtier, and J. Irwin. Aspect-oriented programming. In Mehmet Akşit and Satoshi Matsuoka, editors, ECOOP’ 97 — Object-Oriented Programming 11th European Conference, Jyväskylä, Finland, volume 1241, pages 220–242. Springer, New York, 1997.CrossRefGoogle Scholar
- 12.Hausi Müller and Herber Weber, editors. Continuous Engineering of Industrial Scale Software Systems, Dagstuhl Seminar #98092, Report No. 203, IBFI, Schloss Dagstuhl, March 2–6 1998.Google Scholar
- 13.Bashar Nuseibeh. Weaving the software development process between requirements and architecture. In Proceedings of ICSE-2001 International Workshop: From Software Requirements to Architectures (STRAW-01) Toronto, Canada, 2001.Google Scholar
- 14.OMG. UML specification v1.4 (ad/01-02-14), 2001.Google Scholar
- 15.JBoss Organization. Jboss website. http://www.jboss.org, December 2001.
- 16.Alessandro Orso, Mary Jean Harrold, and David Rosenblum. Component metadata for software engineering tasks. In Wolfgang Emmerich and Stefan Tai, editors, Engineering Distributed Objects (EDO 2000), volume 1999 of LNCS, Berlin, November 2000. Springer.Google Scholar
- 17.G. S. Reddy and R. K. Joshi. Filter objects for distributed object systems. Journal of Object Oriented Programming, 13(9):12–17, January 2001.Google Scholar
- 18.E. F. Robert, S. Barret, D. D. Lee, and T. Linden. Inserting ilities by controlling communications. Communications of the ACM, 45(1):116–122, January 2002.Google Scholar
- 19.Mary Shaw and David Garlan. Software Architecture. Prentice-Hall, 1996.Google Scholar
- 20.Judith A. Stafford and Alexander L. Wolf. Annotating components to support component-based static analyses of software systems. In Grace Hopper Celebration of Women in Computing, Hyannis, Massachusetts, September 2000.Google Scholar
- 21.Jos B. Warmer and Anneke G. Kleppe. Object Constraint Language-Precise modeling with UML. Addison-Wesley, Reading, 1999.Google Scholar
- 22.Herbert Weber. Continuous engineering of information and communication infrastructures (extended abstract). In Jean-Pierre Finance, editor, Fundamental Approaches to Software Engineering FASE’99 Amsterdam Proceedings, volume 1577 of LNCS, pages 22–29, Berlin, March 22–28 1999. Springer.Google Scholar
- 23.Ian Welch and Robert J. Stroud. From Dalang to Kava-the evolution of a reflective java extension. In Reflection, pages 2–21, 1999.Google Scholar
- 24.Jennifer Widom and Umeshwar Dayal. A Guide To Active Databases. Morgan-Kaufmann, 1993.Google Scholar