Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9953))

Included in the following conference series:

Abstract

The proven ability of some modeling languages to be used as both design and implementation languages has raised hopes of a seamless blending between design and implementation, a capability that only seems possible in the domain of software engineering. In turn, this has led to methodological questions on how best to take advantage of models and modeling technologies in the development of complex software systems. To provide some insight into this question, we start with a review of the role and types of models that are found in traditional engineering disciplines and compare that to current practices in model-based software engineering in industrial practice. The conclusion reached is that, despite some very unique characteristics of software, there does not seem to be any compelling reason to treat the handling of models in software engineering in a radically different way than what is done in engineering in general.

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 EPUB and 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

Notes

  1. 1.

    The American Heritage Dictionary® of the English Language (5th edition) defines engineering as “the application of scientific and mathematical principles to practical ends such as the design, manufacture, and operation of efficient and economical structures, machines, processes, and systems.” (http://www.thefreedictionary.com/engineering).

  2. 2.

    Taken from clause 5, Chap. 16, Book X, in [7].

  3. 3.

    Sadly, this is something that is still not well understood by many software engineers, where it is common practice to focus exclusively on use cases before any other considerations. The result is often a cumbersome and ineffective infrastructure.

  4. 4.

    “Because [programs] are put together in the context of a set of information requirements, they observe no natural limits other than those imposed by those requirements. Unlike the world of engineering, there are no immutable laws to violate”, Wei-Lung Wang in a letter to the editor published in the Communications of the ACM (vol. 45, 5), 2002.

  5. 5.

    In EWD1209 (http://www.cs.utexas.edu/~EWD/).

  6. 6.

    The difficulty with this approach is that the independently derived solutions to the sub-problems may not be independent of each other. This leads to subsequent integration problems. As Michael Jackson noted: “Having divided to conquer, we must reunite if we wish to rule” [5].

References

  1. Brooks, F.: The Mythical Man-Month. Addison-Wesley, Reading (1995)

    Google Scholar 

  2. Corcoran, D.: The good, the bad, and the ugly: experiences with model-driven development in large scale projects at Ericsson. In: Proceedings of the 6th European Conference on Modelling Foundations and Applications (ECMFA 2010) (2010)

    Google Scholar 

  3. Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)

    Article  Google Scholar 

  4. Harel, D.: Statecharts: a visual formalism for complex systems. Sci. Comput. Program. 8(3), 231–274 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  5. Jackson, M.: CASE tools and development methods. In: Spurr, K., Layzell, P. (eds.) CASE on Trial, Chap. 8. John Wiley & Sons (1990)

    Google Scholar 

  6. Lee, E.A., Seshia, S.A.: Introduction to Embedded Systems, A Cyber-Physical Systems Approach, 2nd edn. (2015). http://LeeSeshia.org. ISBN 978-1-312-42740-2

  7. Morgan, M.H. (translator): Vitruvius: The Ten Books on Architecture. Dover Publications, Inc., New York (1914). (An on-line version of this volume can be found in the Project Gutenburg repository at http://www.gutenberg.org/files/20239/20239-h/29239-h.htm)

  8. Nuseibeh, B.: Weaving together requirements and architectures. IEEE Comput. 34(3), 115–117 (2001)

    Article  Google Scholar 

  9. Object Management Group (OMG): UML Profile for MARTE™: Modeling and Analysis of Real-time Embedded Systems™, Version 1.1, OMG document no.: formal/2011-06-02 (2011). (http://www.omg.org/spec/MARTE/1.1/PDF)

  10. Object Management Group (OMG): OMG Unified Modeling Language™ (OMG UML), Version 2.5, OMG document no.: formal/2015-03-01 (2015). (http://www.omg.org/spec/UML/2.5/PDF)

  11. Saltzer, J., et al.: End-to-end arguments in system design. In: Proceedings of the Second International Conference on Distributed Computing Systems, pp. 509–512. IEEE Computer Society (1981)

    Google Scholar 

  12. Selic, B., Gullekson, G., Ward, P.: Real-time Object-Oriented Modeling. John Wiley & Sons, Hoboken (1994)

    MATH  Google Scholar 

  13. Selic, B.: A short catalogue of abstraction patterns for model-based software engineering. Int. J. Inf. 5(1–2), 313–334 (2011)

    Google Scholar 

  14. Selic, B., Gerard, S.: Modeling and Analysis of Real-Time and Embedded Systems with UML and MARTE: Developing Cyber-physical Systems. The MK/OMG Press (2013)

    Google Scholar 

  15. Syriani, E., Vangheluwe, H., LaShomb, B.: T-Core: a framework for custom-built model transformation engines. J. Softw. Syst. Model. 14(3), 1215–1243 (2015)

    Article  Google Scholar 

  16. Weigert, T., Weil, F.: Practical experience in using model-driven engineering to develop trustworthy systems. In: Proceedings of IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing (SUTC 2006), pp. 208–217. IEEE Computer Society (2006)

    Google Scholar 

Download references

Acknowledgement

The author would like to express his gratitude to Prof. Manfred Broy and Dr. Gerard Berry on their very helpful and constructive reviews of the original version of this text. All remaining flaws are solely the responsibility of the author.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Bran Selić .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this paper

Cite this paper

Selić, B. (2016). Programming ⊂ Modeling ⊂ Engineering. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications. ISoLA 2016. Lecture Notes in Computer Science(), vol 9953. Springer, Cham. https://doi.org/10.1007/978-3-319-47169-3_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-47169-3_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-47168-6

  • Online ISBN: 978-3-319-47169-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics