Academia.eduAcademia.edu

Outline

On Model-Based Software Development

2013

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

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.

FAQs

sparkles

AI

What are the primary benefits of using Model-Based Development (MBD)?add

MBD aids in early bug detection, enhancing understanding of system behavior, and supports automatic code generation. For instance, models allow for easier reasoning about system dynamics and facilitate formal verification.

How does the Abstract Requirements (AR) model improve software requirements modeling?add

The AR model simplifies representation by defining controlled variables as functions of modes and monitored variables. This approach enables checking for completeness and consistency, enhancing overall model reliability.

What are the challenges faced when synthesizing code from models?add

Synthesis often struggles due to insufficient formal requirement models and lack of necessary supplementary information for code generation. Tools like MathWork's Simulink exemplify these limitations by producing untrustworthy code due to absent formal semantics.

How does the FMBD process address the validation of model translations?add

FMBD employs translation validation techniques to confirm that each model translation, such as AR to CR, adheres to correctness criteria. This approach was notably enhanced by Pnueli et al. in 1999, establishing rigorous validation methods.

When utilizing MRICDF, how does polychronous modeling differ from synchronous approaches?add

MRICDF's polychronous modeling allows asynchronous processes to execute in parallel, unlike synchronous languages that mandate a strict time order. This flexibility facilitates the specification of complex real-world systems that synchronous models cannot adequately capture.

References (36)

  1. ArduPilot. http://www.diydrones.com/notes/ArduPilot.
  2. G. Berry and G. Gonthier. The Esterel synchronous programming language: Design, seman- tics, implementation. Sci. Comput. Program., 19(2):87-152, 1992.
  3. R. Bharadwaj and C. Heitmeyer. Developing high assurance avionics systems with the SCR requirements method. In Proc. 19th Digital Avionics Sys. Conf., 2000.
  4. C. X. Brooks, E. A. Lee, and S. Tripakis. Exploring models of computation with Ptolemy II. In Proc., 8th Intern. Conf. on Hardware/Software Codesign and System Synthesis (CODES+ISSS 2010), pages 331-332, 2010.
  5. M. Broy and Others. Service-oriented modeling of CoCoME with Focus and AutoFocus. In CoCoME, volume 5153 of Lecture Notes in Computer Science, 2008.
  6. C. Damas, B. Lambeau, P. Dupont, and A. van Lamsweerde. Generating annotated behavior models from end-user scenarios. IEEE Trans. Software Eng., 31(12):1056-1073, 2005.
  7. P. H. Feiler and D. P. Gluch. Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis and Design Language. Addison-Wesley Professional, 2012.
  8. J. S. Fitzgerald and P. G. Larsen. Modelling Systems-Practical Tools and Techniques in Soft- ware Development. Cambridge University Press, 2009.
  9. A. Gamatié. Designing Embedded Systems with the SIGNAL Programming Language- Synchronous, Reactive Specification. Springer, 2010.
  10. N. Halbwachs. A synchronous language at work: the story of Lustre. In 3rd ACM & IEEE Intern. Conf. on Formal Methods and Models for Co-Design, pages 3-11, 2005.
  11. C. Heitmeyer, M. Archer, R. Bharadwaj, and R. Jeffords. Tools for constructing requirements specifications: The SCR toolset at the age of ten. Internat. Journal of Computer Systems Science and Eng., 1:19-35, 2005.
  12. C. Heitmeyer, J. Kirby, B. Labaw, M. Archer, and R. Bharadwaj. Using abstraction and model checking to detect safety violations in requirements specifications. IEEE Trans. on Softw. Eng., 24(11), Nov. 1998.
  13. C. Heitmeyer, M. Pickett, L. Breslow, D. W. Aha, J. G. Trafton, and E. I. Leonard. High assurance human-centric decision systems, 2013. Submitted.
  14. C. L. Heitmeyer, R. D. Jeffords, and B. G. Labaw. Automated consistency checking of re- quirements specifications. ACM Transactions on Software Engineering and Methodology, 5(3):231-261, 1996.
  15. D. Hirsch, J. Kramer, J. Magee, and S. Uchitel. Modes for software architectures. In Software Architecture, Third European Workshop, EWSA, pages 113-126, 2006.
  16. ITU. Message sequence charts, 1996. Recommendation Z.120, International Telecommuni- cations Union, Standardization Sector.
  17. R. D. Jeffords and C. L. Heitmeyer. A strategy for efficiently verifying requirements. In ESEC/FSE-11: Proc. 9th Eur. Softw. Eng. Conf./11th ACM SIGSOFT Int. Symp. on Founda- tions of Softw. Eng., pages 28-37, 2003.
  18. R. D. Jeffords, C. L. Heitmeyer, M. Archer, and E. I. Leonard. Model-based construction and verification of critical systems using composition and partial refinement. Formal Methods in System Design, 37(2):265-294, 2010.
  19. B. A. Jose and S. K. Shukla. MRICDF: A polychronous model for embedded software synthe- sis.
  20. In S. K. Shukla and J.-P. Talpin, editors, Synthesis of Embedded Software, pages 173-199. Springer US, 2010.
  21. S. Konrad and B. H. C. Cheng. Real-time specification patterns. In 27th Intern. Conf. on Software Eng. (ICSE 2005), pages 372-381, 2005.
  22. I. Krüger, R. Grosu, P. Scholz, and M. Broy. From MSCs to Statecharts. In Distributed and Parallel Embedded Systems (DIPES), volume 155 of IFIP Conference Proceedings, pages 61-72. Kluwer, 1999.
  23. E. Leonard, M. Archer, C. Heitmeyer, and R. Jeffords. Direct generation of invariants for reactive models. In Proc., 10th ACM/IEEE Conf. on Formal Methods and Models for Co- Design (MEMOCODE 2012), 2012.
  24. E. I. Leonard and C. L. Heitmeyer. Program synthesis from formal requirements specifications using APTS. Higher-Order and Symbolic Computation, 16(1-2):63-92, 2003.
  25. J. Magee and J. Kramer. Concurrency -state models and Java programs. Wiley, 1999.
  26. MathWorks. Simulink Coder. http://www.mathworks.com/products/simulink-coder/.
  27. G. C. Necula. Translation validation for an optimizing compiler. In Proceedings, 2000 ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI), Vancouver, British Columbia, Canada, pages 83-94, 2000.
  28. V. C. Ngo, J. P. Talpin, T. Gautier, P. L. Guernic, and L. Besnard. Formal verification on com- piler transformations on polychronous equations. In Springer, editor, Int'l Conf. on Integrated Formal Methods (IFM'11), 2012.
  29. A. Pnueli, O. Strichman, and M. Siegel. Translation validation: From SIGNAL to C. In Correct System Design, volume 1710 of Lecture Notes in Computer Science, 1999.
  30. A. Post, I. Menzel, J. Hoenicke, and A. Podelski. Automotive behavioral requirements ex- pressed in a specification pattern system: a case study at BOSCH. Requir. Eng., 17(1):19-33, 2012.
  31. T. Rothamel, C. Heitmeyer, E. Leonard, and Y. A. Liu. Generating optimized code from SCR specifications. In Proc., ACM SIGPLAN/SIGBED Conf. on Languages, Compilers and Tools for Embedded Systems (LCTES 2006), Ottawa, Canada, June 2006.
  32. M. Schoeberl, C. Brooks, and E. A. Lee. Code generation for embedded Java with Ptolemy. In Proc., 8th IFIP Workshop on Software Technologies for Future Embedded and Ubiquitous Systems (SEUS 2010), 2010.
  33. W. Su, J.-R. Abrial, R. Huang, and H. Zhu. From requirements to development: Methodology and example. In Formal Methods and Software Engineering, volume 6991 of Lecture Notes in Computer Science, pages 437-455. Springer Berlin Heidelberg, 2011.
  34. J.-B.
  35. Tristan, P. Govereau, and G. Morrisett. Evaluating value-graph translation validation for llvm. In Proceedings, 32nd ACM SIGPLAN Conf. on Programming Language Design and Implementation, PLDI 2011, San Jose, CA, pages 295-305, 2011.
  36. S. Uchitel, J. Kramer, and J. Magee. Synthesis of behavioral models from scenarios. IEEE Trans. on Softw. Eng., 29(2), Feb. 2003.