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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 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
ArduPilot. http://www.diydrones.com/notes/ArduPilot
Berry, G., Gonthier, G.: The Esterel synchronous programming language: design, semantics, implementation. Sci. Comput. Program. 19(2), 87–152 (1992)
Bharadwaj, R., Heitmeyer, C.: Developing high assurance avionics systems with the SCR requirements method. In: Proceedings of 19th Digital Avionics System Conference, Philadelphia (2000)
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)
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)
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)
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)
Fitzgerald, J.S., Larsen, P.G.: Modelling Systems–Practical Tools and Techniques in Software Development. Cambridge University Press, Cambridge/New York (2009)
Gamatié, A.: Designing Embedded Systems with the SIGNAL Programming Language–Synchronous, Reactive Specification. Springer, New York (2010)
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)
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)
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)
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)
Heitmeyer, C., Pickett, M., Breslow, L., Aha, D.W., Trafton, J.G., Leonard, E.I.: High assurance human-centric decision systems (2013, Submitted)
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)
ITU. Message sequence charts (1996). Recommendation Z.120, International Telecommunications Union, Standardization Sector
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)
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)
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)
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)
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)
Leonard, E.I., Heitmeyer, C.L.: Program synthesis from formal requirements specifications using APTS. High. Order Symb. Comput. 16(1–2), 63–92 (2003)
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)
Magee, J., Kramer, J.: Concurrency – State Models and Java Programs. Wiley, New York (1999)
MathWorks: Simulink Coder. http://www.mathworks.com/products/simulink-coder/
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)
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)
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)
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)
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
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)
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)
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)
Uchitel, S., Kramer, J., Magee, J.: Synthesis of behavioral models from scenarios. IEEE Trans. Softw. Eng. 29(2), 99–115 (2003)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)