Skip to main content

On Model-Based Software Development

  • Chapter
  • First Online:
Perspectives on the Future of Software Engineering

Abstract

Due to its many advantages, the growing use in software practice of Model-Based Development (MBD) is a promising trend. However, major problems in MBD of software remain, for example, the failure to integrate formal system requirements models with current code synthesis methods. This chapter introduces FMBD, a formal MBD process for building software systems which addresses this problem. The goal of FMBD is to produce high assurance software systems which are correct by construction. The chapter describes three types of models built during the FMBD process, provides examples from an avionics system to illustrate the models, and proposes three major challenges in MBD as topics for future research.

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 EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover 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.

    An unprimed variable x represents x’s value in the old state of a transition in the state machine model, while x′ represents x’s value in the new state.

References

  1. ArduPilot. http://www.diydrones.com/notes/ArduPilot

  2. Berry, G., Gonthier, G.: The Esterel synchronous programming language: design, semantics, implementation. Sci. Comput. Program. 19(2), 87–152 (1992)

    Article  MATH  Google Scholar 

  3. Bharadwaj, R., Heitmeyer, C.: Developing high assurance avionics systems with the SCR requirements method. In: Proceedings of 19th Digital Avionics System Conference, Philadelphia (2000)

    Google Scholar 

  4. Brooks, C.X., Lee, E.A., Tripakis, S.: Exploring models of computation with Ptolemy II. In: Proceedings of 8th International Conference on Hardware/Software Codesign and System Synthesis (CODES + ISSS 2010), Scottsdale, pp. 331–332 (2010)

    Google Scholar 

  5. Broy, M., et al.: Service-oriented modeling of CoCoME with Focus and AutoFocus. In: The Common Component Modeling Example (CoCoME). Lecture Notes in Computer Science, vol. 5153, pp. 177–206. Springer, Berlin/New York (2008)

    Google Scholar 

  6. Damas, C., Lambeau, B., Dupont, P., van Lamsweerde, A.: Generating annotated behavior models from end-user scenarios. IEEE Trans. Softw. Eng. 31(12), 1056–1073 (2005)

    Article  Google Scholar 

  7. Feiler, P.H., Gluch, D.P.: Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis and Design Language. Addison-Wesley, Upper Saddle River (2012)

    Google Scholar 

  8. Fitzgerald, J.S., Larsen, P.G.: Modelling Systems–Practical Tools and Techniques in Software Development. Cambridge University Press, Cambridge/New York (2009)

    Book  MATH  Google Scholar 

  9. Gamatié, A.: Designing Embedded Systems with the SIGNAL Programming Language–Synchronous, Reactive Specification. Springer, New York (2010)

    Book  Google Scholar 

  10. Halbwachs, N.: A synchronous language at work: the story of Lustre. In : 3rd ACM & IEEE International Conference on Formal Methods and Models for Co-Design, Verona, pp. 3–11 (2005)

    Google Scholar 

  11. Heitmeyer, C.L., Jeffords, R.D., Labaw, B.G.: Automated consistency checking of requirements specifications. ACM Trans. Softw. Eng. Methodol. 5(3), 231–261 (1996)

    Article  Google Scholar 

  12. Heitmeyer, C., Kirby, J., Labaw, B., Archer, M., Bharadwaj, R.: Using abstraction and model checking to detect safety violations in requirements specifications. IEEE Trans. Softw. Eng. 24(11), 927–948 (1998)

    Article  Google Scholar 

  13. Heitmeyer, C., Archer, M., Bharadwaj, R., Jeffords, R.: Tools for constructing requirements specifications: the SCR toolset at the age of ten. Int. J. Comput. Syst. Sci. Eng. 1, 19–35 (2005)

    Google Scholar 

  14. Heitmeyer, C., Pickett, M., Breslow, L., Aha, D.W., Trafton, J.G., Leonard, E.I.: High assurance human-centric decision systems (2013, Submitted)

    Google Scholar 

  15. Hirsch, D., Kramer, J., Magee, J., Uchitel, S.: Modes for software architectures. In: Third European Workshop on Software Architecture, EWSA, Nantes, pp. 113–126 (2006)

    Google Scholar 

  16. ITU. Message sequence charts (1996). Recommendation Z.120, International Telecommunications Union, Standardization Sector

    Google Scholar 

  17. Jeffords, R.D., Heitmeyer, C.L.: A strategy for efficiently verifying requirements. In: ESEC/FSE-11: Proceedings of 9th European Software Engineering Conference/11th ACM SIGSOFT International Symposium on Foundations of Software Engineering, Helsinki, pp. 28–37 (2003)

    Google Scholar 

  18. Jeffords, R.D., Heitmeyer, C.L., Archer, M., Leonard, E.I.: Model-based construction and verification of critical systems using composition and partial refinement. Form. Methods Syst. Des. 37(2), 265–294 (2010)

    Article  MATH  Google Scholar 

  19. Jose, B.A., Shukla, S.K.: MRICDF: a polychronous model for embedded software synthesis. In: Shukla, S.K., Talpin, J.-P. (eds.) Synthesis of Embedded Software, pp. 173–199. Springer, New York (2010)

    Chapter  Google Scholar 

  20. Konrad, S., Cheng, B.H.C.: Real-time specification patterns. In: 27th International Conference on Software Engineering (ICSE 2005), St Louis, pp. 372–381 (2005)

    Google Scholar 

  21. Krüger, I., Grosu, R., Scholz, P., Broy, M.: From MSCs to statecharts. In: Distributed and Parallel Embedded Systems (DIPES), Schloss Eringerfeld. IFIP Conference Proceedings, vol. 155, pp. 61–72. Kluwer, Boston (1999)

    Google Scholar 

  22. Leonard, E.I., Heitmeyer, C.L.: Program synthesis from formal requirements specifications using APTS. High. Order Symb. Comput. 16(1–2), 63–92 (2003)

    Article  MATH  Google Scholar 

  23. Leonard, E., Archer, M., Heitmeyer, C., Jeffords, R.: Direct generation of invariants for reactive models. In: Proceedings of 10th ACM/IEEE Conference on Formal Methods and Models for Co-Design (MEMOCODE 2012), Arlington (2012)

    Google Scholar 

  24. Magee, J., Kramer, J.: Concurrency – State Models and Java Programs. Wiley, New York (1999)

    Google Scholar 

  25. MathWorks: Simulink Coder. http://www.mathworks.com/products/simulink-coder/

  26. Necula, G.C.: Translation validation for an optimizing compiler. In: Proceedings, 2000 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Vancouver, pp. 83–94 (2000)

    Google Scholar 

  27. Ngo, V.C., Talpin, J.P., Gautier, T., Guernic, P.L., Besnard, L.: Formal verification on compiler transformations on polychronous equations. In: Derrick, J., Gnesi, S., Latella, D., Treharne, H. (eds.) International Conference on Integrated Formal Methods (IFM’11), Pisa. Springer (2012)

    Google Scholar 

  28. Pnueli, A., Shtrichman, O., Siegel, M.: Translation validation: from SIGNAL to C. In: Correct System Design. Lecture Notes in Computer Science, vol. 1710, pp. 231–255, Springer, New York (1999)

    Google Scholar 

  29. Post, A., Menzel, I., Hoenicke, J., Podelski, A.: Automotive behavioral requirements expressed in a specification pattern system: a case study at BOSCH. Requir. Eng. 17(1), 19–33 (2012)

    Article  Google Scholar 

  30. Rothamel, T., Heitmeyer, C., Leonard, E., Liu, Y.A.: Generating optimized code from SCR specifications. In: Proceedings of the ACM SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems (LCTES 2006), Ottawa, June 2006

    Google Scholar 

  31. Schoeberl, M., Brooks, C., Lee, E.A.: Code generation for embedded Java with Ptolemy. In: Proceedings of 8th IFIP Workshop on Software Technologies for Future Embedded and Ubiquitous Systems (SEUS 2010), Waidhofen/Ybbs (2010)

    Google Scholar 

  32. Su, W., Abrial, J.-R., Huang, R., Zhu, H.: From requirements to development: methodology and example. In: Formal Methods and Software Engineering. Lecture Notes in Computer Science, vol. 6991, pp. 437–455. Springer, Berlin/Heidelberg (2011)

    Google Scholar 

  33. Tristan, J.-B., Govereau, P., Morrisett, G.: Evaluating value-graph translation validation for llvm. In: Proceedings, 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2011, San Jose, pp. 295–305 (2011)

    Google Scholar 

  34. Uchitel, S., Kramer, J., Magee, J.: Synthesis of behavioral models from scenarios. IEEE Trans. Softw. Eng. 29(2), 99–115 (2003)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Constance L. Heitmeyer .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Heitmeyer, C.L., Shukla, S., Archer, M.M., Leonard, E.I. (2013). On Model-Based Software Development. In: Münch, J., Schmid, K. (eds) Perspectives on the Future of Software Engineering. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-37395-4_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-37395-4_4

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-37394-7

  • Online ISBN: 978-3-642-37395-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics