A Formal Approach to Heterogeneous Software Modeling

  • Alexander Egyed
  • Nenad Medvidovic
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1783)


The problem of consistently engineering large, complex software systems of today is often addressed by introducing new, “improved” models. Examples of such models are architectural, design, structural, behavioral, and so forth. Each software model is intended to highlight a particular view of a desired system. A combination of multiple models is needed to represent and understand the entire system. Ensuring that the various models used in development are consistent relative to each other thus becomes a critical concern. This paper presents an approach that integrates and ensures the consistency across an architectural and a number of design models. The goal of this work is to combine the respective strengths of a powerful, specialized (architecture-based) modeling approach with a widely used, general (design-based) approach. We have formally addressed the various details of our approach, which has allowed us to construct a large set of supporting tools to automate the related development activities. We use an example application throughout the paper to illustrate the concepts.


Software Architecture Class Diagram Formal Approach Sequence Diagram Object Constraint Language 
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.

7 References

  1. 1.
    Booch, G., Jacobson, I., Rumbaugh, J.: The Unified Modeling Language User Guide, Addison-Wesley, 1998Google Scholar
  2. 2.
    DARPA. Evolutionary Design of Complex Software (EDCS): Demonstration Days 1999.
  3. 3.
    Egyed, A.: “Integrating Architectural Views in UML,” Qualifying Report, Technical Report, Center for Software Engineering, University of Southern California, USC-CSE-99-514,, 1999
  4. 4.
    Egyed, A. and Kruchten, P.: Rose/Architect: a tool to visualize software architecture. Proceedings of the 32 nd Annual Hawaii Conference on Systems Sciences (1999)Google Scholar
  5. 5.
    Koskimies, K., Systä, T., Tuomi, J., and Männistö, T. (1998) “Automated Support for Modelling OO Software,” IEEE Software, January, pp. 87–94.Google Scholar
  6. 6.
    Luckham, D.C. and Vera, J.: “An Event-Based Architecture Definition Language.” IEEE Transactions on Software Engineering, vol. 21, no. 9, pages 717–734, September 1995.CrossRefGoogle Scholar
  7. 7.
    Medvidovic, N., Egyed, A., and Rosenblum, D.S.: Round-Trip Software Engineering Using UML: From Architecture to Design and Back. In Proceedings of the Second International Workshop on Object-Oriented Reengineering (WOOR’99), Toulouse, France, September 6, 1999.Google Scholar
  8. 8.
    Medvidovic, N., Oreizy, P., Robbins, J.E., and Taylor, R.N.: Using Object-Oriented Typing to Support Architectural Design in the C2 Style. In Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE4), pp. 24–32, San Francisco, CA, October 16–18, 1996.Google Scholar
  9. 9.
    Medvidovic, N., Oreizy, P., and Taylor, R.N.: Reuse of Off-the-Shelf Components in C2-Style Architectures. In Proceedings of the 1997 Symposium on Software Reusability (SSR’97), pp. 190–198, Boston, MA, May 17–19, 1997. Also in Proceedings of the 1997 International Conference on Software Engineering (ICSE’97), pp. 692–700, Boston, MA, May 17–23, 1997.Google Scholar
  10. 10.
    Medvidovic, N. and Rosenblum, D.S.: Assessing the Suitability of a Standard Design Method for Modeling Software Architectures. In Proceedings of the First Working IFIP Conference on Software Architecture (WICSA1), pp. 161–182, San Antonio, TX, February 22–24, 1999.Google Scholar
  11. 11.
    Medvidovic, N., Rosenblum, D.S., and Taylor, R.N.: A Type Theory for Software Architectures. Technical Report, UCI-ICS-98-14, Department of Information and Computer Science, University of California, Irvine, April 1998.Google Scholar
  12. 12.
    Medvidovic, N., Rosenblum, D.S., Robbins, J.E., Redmiles, D.F.: Modeling Software Architectures in the Unified Modeling Language. In submission.Google Scholar
  13. 13.
    Medvidovic, N., Rosenblum, D.S., and Taylor, R.N.: A Language and Environment for Architecture-Based Software Development and Evolution. In Proceedings of the 21st International Conference on Software Engineering (ICSE’99), pp. 44–53, Los Angeles, CA, May 16–22, 1999.Google Scholar
  14. 14.
    Medvidovic, N., and Taylor, R.N.: A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transactions on Software Engineering, to appear, 2000.Google Scholar
  15. 15.
    Rational Software Corporation, Rational Rose 98: Using Rational RoseGoogle Scholar
  16. 16.
    Robbins, J.E., Medvidovic, N., Redmiles, D.F., and Rosenblum, D.S.: Integrating Architecture Description Languages with a Standard Design Method. In Proceedings of the 20th International Conference on Software Engineering (ICSE’98), pp. 209–218, Kyoto, Japan, April 19–25, 1998.Google Scholar
  17. 17.
    Spivey, J.M.: The Z notation: a reference manual. Prentice Hall, New York, 1989.zbMATHGoogle Scholar
  18. 18.
    Taylor, R.N., Medvidovic, N., Anderson, K.N., Whitehead, E.J., Jr., Robbins, J.E., Nies, K.A., Oreizy, P., and Dubrow, D.L.: A Component-and Message-Based Architectural Style for GUI Software. IEEE Transactions on Software Engineering, vol. 22, no. 6, pp. 390–406, 1996.CrossRefGoogle Scholar
  19. 19.
    Warmer, J.B., Kleppe, A.G.: The Object Constraint Language: Precise Modeling With UML, Addison-Wesley, 1999Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Alexander Egyed
    • 1
  • Nenad Medvidovic
    • 1
  1. 1.Computer Science DepartmentUniversity of Southern CaliforniaLos AngelesUSA

Personalised recommendations