Skip to main content

Multi-view Software Component Modeling for Dependability

  • Conference paper
Architecting Dependable Systems II

Part of the book series: Lecture Notes in Computer Science ((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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. 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. Allen, R., Garlan, D.: A Formal Basis for Architectural Connection. ACM Transactions on Software Engineering and Methodology 6(3), 213–249 (1997)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  5. Balzer, R.: Tolerating Inconsistency. In: Proceedings of 13th International Conference on Software Engineering (ICSE-13), Austin, Texas (1991)

    Google Scholar 

  6. Booch, G., Jacobson, I., Rumbaugh, J.: The Unified Modeling Language User Guide. Addison-Wesley, Reading

    Google Scholar 

  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. 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. 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. 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)

    Article  Google Scholar 

  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. 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. 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. Krutchen, P.B.: The 4+1 View Model of Architecture. IEEE Software 12, 42–50 (1995)

    Google Scholar 

  15. Liskov, B.H., Wing, J.M.: A Behavioral Notion of Subtyping. ACM Transactions on Programming Languages and Systems (November 1994)

    Google Scholar 

  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. 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. 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. Microsoft Developer Network Library, Common Object Model Specification, Microsoft Corporation (1996)

    Google Scholar 

  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. Object Management Group, The Common Object Request Broker: Architecture and Specification, Document Number 91.12.1, OMG (December 1991)

    Google Scholar 

  22. The Object Constraint Language (OCL), http://www-3.ibm.com/software/ad/library/standards/ocl.html

  23. Perry, D.E., Wolf, A.L.: Foundations for the Study of Software Architectures. ACM SIGSOFT Software Engineering Notes 17(4), 40–52 (1992)

    Article  Google Scholar 

  24. Plasil, F., Visnovsky, S.: Behavior Protocols for Software Components. IEEE Transactions on Software Engineering 28(11), 1056–1076 (2002)

    Article  Google Scholar 

  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. 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. 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. Roshandel, R., Medvidovic, N.: Relating Software Component Models. USC Technical Report Number USC-CSE-2003-504 (March 2003)

    Google Scholar 

  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. Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

  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. Zaremski, A.M., Wing, J.M.: Specification Matching of Software Components. ACM Transactions on Software Engineering and Methodology 6(4), 333–369 (1997)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Roshandel, R., Medvidovic, N. (2004). Multi-view Software Component Modeling for Dependability. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds) Architecting Dependable Systems II. Lecture Notes in Computer Science, vol 3069. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-25939-8_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-25939-8_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-23168-4

  • Online ISBN: 978-3-540-25939-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics