External Requirements Validation for Component-Based Systems

  • Andreas Leicher
  • Felix Bübl
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2348)


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.


Context Condition Context Property Rule Manager Interception Point Type Clause 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    BEA Systems, Inc. BEA WebLogic Server, Using WebLogic Server Clusters, March 2001.Google Scholar
  2. 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. 3.
    Felix Bübl. The context-based constraint language CCL for component. Technical report, Technical University Berlin, available at, 2002.
  4. 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. 5.
    John Cheesman and John Daniels. UML Components. Addison-Wesley, 2000.Google Scholar
  6. 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. 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. 8.
    Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns, Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.Google Scholar
  9. 9.
    Yariv Kaplan. API spying techniques for windows 9x, NT and 2000., 2001.
  10. 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
  11. 11.
    Tom Mens and Theo D’Hondt. Automating support for software evolution in UML. Automated Software Engineering, 7(1):39–59, 2000.CrossRefGoogle Scholar
  12. 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. 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. 14.
    OMG. UML specification v1.4 (ad/01-02-14), 2001.Google Scholar
  15. 15.
    JBoss Organization. Jboss website., December 2001.
  16. 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. 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. 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. 19.
    Mary Shaw and David Garlan. Software Architecture. Prentice-Hall, 1996.Google Scholar
  20. 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. 21.
    Jos B. Warmer and Anneke G. Kleppe. Object Constraint Language-Precise modeling with UML. Addison-Wesley, Reading, 1999.Google Scholar
  22. 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. 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. 24.
    Jennifer Widom and Umeshwar Dayal. A Guide To Active Databases. Morgan-Kaufmann, 1993.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Andreas Leicher
    • 1
    • 2
  • Felix Bübl
    • 1
    • 2
  1. 1.Technische Universität BerlinGermany
  2. 2.Computergestützte InformationsSysteme (CIS)Germany

Personalised recommendations