Skip to main content

A Software Modeling Odyssey: Designing Evolutionary Architecture-Centric Real-Time Systems and Product Lines

  • Conference paper
Model Driven Engineering Languages and Systems (MODELS 2006)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4199))

Abstract

According to OMG, “modeling is the designing of software applications before coding.” This paper describes a modeling approach to software design. The paper describes the key elements of design methods for component based software product lines, which promote reuse, variability management, and evolution. Approaches for executable models and performance analysis of concurrent and real-time design are discussed. Finally, some outstanding challenges are outlined, in particular the design of evolutionary and dynamically reconfigurable software architectures.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison Wesley, Reading (2003)

    Google Scholar 

  2. Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P.: Pattern Oriented Software Architecture: A System of Patterns. John Wiley & Sons, Chichester (1996)

    Google Scholar 

  3. Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison Wesley, Reading (2002)

    Google Scholar 

  4. Gomaa, H., Kerschberg, L., Sugumaran, V., Bosch, C., Tavakoli, I.: A Knowledge-Based Software Engineering Environment for Reusable Software Requirements and Architectures. Journal of Automated Software Engineering 3, 285–307 (1996)

    Google Scholar 

  5. Gomaa, H., O’Hara, E.: Dynamic Navigation in Multiple View Software Specifications and Designs. Journal of Systems and Software 41, 93–103 (1998)

    Google Scholar 

  6. Gomaa, H., Farrukh, G.A.: Methods and Tools for the Automated Configuration of Distributed Applications from Reusable Software Architectures and Components. IEE Proceedings – Software 146(6) (December 1999)

    Google Scholar 

  7. Gomaa, H.: Designing Concurrent, Distributed, and Real-Time Applications with UML. Addison-Wesley Object Technology Series (2000)

    Google Scholar 

  8. Gomaa, H., Menasce, D., Shin, E.: Reusable Component Interconnection Patterns for Distributed Software Architectures. In: Proceedings ACM Symposium on Software Reusability, Toronto, Canada, May 2001, pp. 69–77. ACM Press, New York (2001)

    Google Scholar 

  9. Gomaa, H., Hussein, M.: Software Reconfiguration Patterns for Dynamic Evolution of Software Architectures. In: Proc. Fourth Working IEEE/IFIP Conference on Software Architecture, Oslo, Norway (June 2004)

    Google Scholar 

  10. Gomaa, H.: Designing Software Product Lines with UML: From Use Cases to Pattern-based Software Architectures. Addison-Wesley Object Technology Series (2005)

    Google Scholar 

  11. Gomaa, H., Saleh, M.: Feature Driven Dynamic Customization of Software Product Lines. In: Morisio, M. (ed.) ICSR 2006. LNCS, vol. 4039, pp. 58–72. Springer, Heidelberg (2006)

    Google Scholar 

  12. Gomaa, H., Menasce, D.: Performance Engineering of Component-Based Distributed Software Systems. In: Dumke, R.R., Rautenstrauch, C., Schmietendorf, A., Scholz, A. (eds.) WOSP 2000 and GWPESD 2000. LNCS, vol. 2047, Springer, Heidelberg (2001)

    Google Scholar 

  13. Gomaa, H., Shin, M.E.: A Multiple-View Meta-Modeling Approach for Variability Management in Software Product Lines. In: Bosch, J., Krueger, C. (eds.) ICOIN 2004 and ICSR 2004. LNCS, vol. 3107, pp. 274–285. Springer, Heidelberg (2004)

    Google Scholar 

  14. Griss, M., Favaro, J., d’Alessandro, M.: Integrating Feature Modeling with the RSEB. In: Devanbu, P., Poulin, J. (eds.) Fifth Intl. Conf. on Software Reuse: Proc., Victoria, BC, Canada, June 1998, pp. 1–10. IEEE Computer Soc. Press, Los Alamitos (1998)

    Google Scholar 

  15. Harel, D., Gary, E.: Executable Object Modeling with Statecharts. In: Proc. 18th International Conference on Software Engineering, Berlin (March 1996)

    Google Scholar 

  16. Jacobson, I., Griss, M., Jonsson, P.: Software Reuse: Architecture, Process and Organization for Business Success. Addison-Wesley, Reading (1997)

    Google Scholar 

  17. Kang, K.C., et al.: Feature-Oriented Domain Analysis, Technical Report No. CMU/SEI-90-TR-21, Software Engineering Institute (November 1990)

    Google Scholar 

  18. Magee, J., Dulay, N., Kramer, J.: Regis: A Constructive Development Environment for Parallel and Distributed Programs. Journal of Distributed Systems Engineering, 304–312 (1994)

    Google Scholar 

  19. Menasce, D., Gomaa, H.: A Method for Design and Performance Modeling of Client/Server Systems. IEEE Transactions on Software Engineering 26(11), 1066–1085 (2000)

    Google Scholar 

  20. Parnas, D.: Designing Software for Ease of Extension and Contraction. IEEE Transactions on Software Engineering (March 1979)

    Google Scholar 

  21. Pettit, R., Gomaa, H.: Modeling Behavioral Design Patterns of Concurrent Objects. In: Proc. International Conf. on Software Engineering, Shanghai, China (May 2006)

    Google Scholar 

  22. Rumbaugh, J., Booch, G., Jacobson, I.: The Unified Modeling Language Reference Manual, 2nd edn. Addison Wesley, Reading (2005)

    Google Scholar 

  23. Webber, D., Gomaa, H.: Modeling Variability in Software Product Lines with the Variation Point Model. Journal of Science of Computer Programming 53(3), 305–331 (2004)

    Google Scholar 

  24. Weiss, D.M., Lai, C.T.R.: Software Product-Line Engineering: A Family-Based Software Development Process. Addison Wesley, Reading (1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gomaa, H. (2006). A Software Modeling Odyssey: Designing Evolutionary Architecture-Centric Real-Time Systems and Product Lines. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds) Model Driven Engineering Languages and Systems. MODELS 2006. Lecture Notes in Computer Science, vol 4199. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11880240_1

Download citation

  • DOI: https://doi.org/10.1007/11880240_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-45772-5

  • Online ISBN: 978-3-540-45773-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics