Advertisement

Multi-view Software Component Modeling for Dependability

  • Roshanak Roshandel
  • Nenad Medvidovic
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3069)

Abstract

Modeling software components from multiple perspectives provides complementary views of a software system and enables sophisticated analyses of its functionality. A software component is traditionally modeled from one or more of four functional aspects: interface, static behavior, dynamic behavior, and interaction protocol. Each of these aspects helps to ensure different levels of component compatibility and interoperability. Existing approaches to component modeling have either focused on only one of the aspects (e.g., interfaces in various IDLs) or on well-understood combinations of pairs of aspects (e.g., interfaces and their associated pre- and post-conditions in static behavior models). We advocate that, in order to accrue the true benefits of component-based software development, one needs to model all four aspects of components. In such a case, ensuring the consistency among the multiple views becomes critical. We offer an approach to modeling components using a fourview perspective (called the Quartet) and identify the points at which the consistency among the models must be maintained. We outline the range of possible intra-component, inter-model relationships, discuss their respective advantages and drawbacks, and motivate the specific choices we have made in our on-going research on ensuring the dependability of software systems from an architectural perspective.

Keywords

Software architecture software component dependability reliability the Quartet 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aguirre, N., Maibaum, T.S.E.: A Temporal Logic Approach to Component Based System Specification and Reasoning. In: Proceedings of the 5th ICSE Workshop on Component-Based Software Engineering, Orlando, FL (2002)Google Scholar
  2. 2.
    America, P.: Designing an Object-Oriented Programming Language with Behavioral Subtyping. In: de Bakker, J.W., Rozenberg, G., de Roever, W.-P. (eds.) REX 1990. LNCS, vol. 489, Springer, Heidelberg (1991)Google Scholar
  3. 3.
    Allen, R., Garlan, D.: A Formal Basis for Architectural Connection. ACM Transactions on Software Engineering and Methodology 6(3), 213–249 (1997)CrossRefGoogle Scholar
  4. 4.
    Ashar, P., Gupta, A., Malik, S.: Using complete-1-distinguishability for FSM equivalence checking. ACM Transactions on Design Automation of Electronic Systems 6(4), 569–590 (2001)CrossRefGoogle Scholar
  5. 5.
    Balzer, R.: Tolerating Inconsistency. In: Proceedings of 13th International Conference on Software Engineering (ICSE-13), Austin, Texas (1991)Google Scholar
  6. 6.
    Booch, G., Jacobson, I., Rumbaugh, J.: The Unified Modeling Language User Guide. Addison-Wesley, ReadingGoogle Scholar
  7. 7.
    Dias, M., Vieira, M.: Software Architecture Analysis based on Statechart Semantics. In: Proceedings of the 10th International Workshop on Software Specification and Design, FSE-8, San Diego, USA (November 2000)Google Scholar
  8. 8.
    Egyed, A.: Scalable Consistency Checking between Diagrams - The ViewIntegra Approach. In: Proceedings of the 16th IEEE International Conference on Automated Software Engineering, San Diego, CA (2001)Google Scholar
  9. 9.
    Farías, A., Südholt, M.: On Components with Explicit Protocols Satisfying a Notion of Correctness by Construction. In: Proceedings of Confederated International Conferences CoopIS/DOA/ODBASE 2002 (2002)Google Scholar
  10. 10.
    Finkelstein, A., Gabbay, D., Hunter, A., Kramer, J., Nuseibeh, B.: Inconsistency Handling in Multi-Perspective Specifications. IEEE Transactions on Software Engineering 20(8), 569–578 (1994)CrossRefGoogle Scholar
  11. 11.
    Fradet, P., Le Métayer, D., Périn, M.: Consistency checking for multiple view software architectures. In: Proceeding of ESEC / SIGSOFT FSE 1999 (1999)Google Scholar
  12. 12.
    Hofmeister, C., Nord, R.L., Soni, D.: Describing Software Architecture with UML. In: Proceedings of the TC2 First Working IFIP Conference on Software Architecture (WICSA1), San Antonio, TX, February 22-24 (1999)Google Scholar
  13. 13.
    Hnatkowska, B., Huzar, Z., Magott, J.: Consistency Checking in UML Models. In: Proceedings of Fourth International Conference on Information System Modeling (ISM 2001), Czech Republic (2001)Google Scholar
  14. 14.
    Krutchen, P.B.: The 4+1 View Model of Architecture. IEEE Software 12, 42–50 (1995)Google Scholar
  15. 15.
    Liskov, B.H., Wing, J.M.: A Behavioral Notion of Subtyping. ACM Transactions on Programming Languages and Systems (November 1994)Google Scholar
  16. 16.
    Maggiolo-Schettini, A., Peron, A., Tini, S.: Equivalence of Statecharts. In: Sassone, V., Montanari, U. (eds.) CONCUR 1996. LNCS, vol. 1119, Springer, Heidelberg (1996)Google Scholar
  17. 17.
    Medvidovic, N., Rosenblum, D.S., Taylor, R.N.: A Language and Environment for Architecture-Based Software Development and Evolution. In: Proceedings of the 21st International Conference on Software Engineering, Los Angeles, CA, May 16-22 (1999)Google Scholar
  18. 18.
    Medvidovic, N., Taylor, R.N.: A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transactions on Software Engineering (January 2000)Google Scholar
  19. 19.
    Microsoft Developer Network Library, Common Object Model Specification, Microsoft Corporation (1996)Google Scholar
  20. 20.
    Nuseibeh, B., Kramer, J., Finkelstein, A.: Expressing the Relationships Between Multiple Views in Requirements Specification. In: Proceedings of the 15th International Conference on Software Engineering (ICSE-15), Baltimore, Maryland, USA (1993)Google Scholar
  21. 21.
    Object Management Group, The Common Object Request Broker: Architecture and Specification, Document Number 91.12.1, OMG (December 1991)Google Scholar
  22. 22.
  23. 23.
    Perry, D.E., Wolf, A.L.: Foundations for the Study of Software Architectures. ACM SIGSOFT Software Engineering Notes 17(4), 40–52 (1992)CrossRefGoogle Scholar
  24. 24.
    Plasil, F., Visnovsky, S.: Behavior Protocols for Software Components. IEEE Transactions on Software Engineering 28(11), 1056–1076 (2002)CrossRefGoogle Scholar
  25. 25.
    Roshandel, R.: Calculating Architectural Reliability via Modeling and Analysis (Qualifying Exam Report), USC Technical Report Number USC-CSE-2003-516 (December 2003)Google Scholar
  26. 26.
    Roshandel, R.: Calculating Architectural Reliability via Modeling and Analysis. In: The proceedings of the Doctoral Symposium of the 26th International Conference on Software Engineering, Scotland, UK (2004) (to appear)Google Scholar
  27. 27.
    Roshandel, R., Medvidovic, N.: Coupling Static and Dynamic Semantics in an Architecture Description Language. In: Proceeding of Working Conference on Complex and Dynamic Systems Architectures, Brisbane, Australia (December 2001)Google Scholar
  28. 28.
    Roshandel, R., Medvidovic, N.: Relating Software Component Models. USC Technical Report Number USC-CSE-2003-504 (March 2003)Google Scholar
  29. 29.
    Roshandel, R., van der Hoek, A., Mikic-Rakic, M., Medvidovic, N.: Mae - A System Model and Environment for Managing Architectural Evolution. Submitted to ACM Transactions on Software Engineering and Methodology (In review) (October 2002)Google Scholar
  30. 30.
    Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)zbMATHGoogle Scholar
  31. 31.
    Yellin, D.M., Strom, R.E.: Protocol Specifications and Component Adaptors. ACM Transactions on Programming Languages and Systems 19(2) (1997)Google Scholar
  32. 32.
    Zaremski, A.M., Wing, J.M.: Specification Matching of Software Components. ACM Transactions on Software Engineering and Methodology 6(4), 333–369 (1997)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Roshanak Roshandel
    • 1
  • Nenad Medvidovic
    • 1
  1. 1.Computer Science DepartmentUniversity of Southern CaliforniaLos AngelesUSA

Personalised recommendations