Introduction: Modeling, Analysis and Synthesis of Embedded Software and Systems

  • Alberto Sangiovanni-Vincentelli
  • Haibo Zeng
  • Marco Di Natale
  • Peter Marwedel
Part of the Embedded Systems book series (EMSY, volume 20)


Embedded systems are increasingly complex, function-rich and required to perform tasks that are mission- or safety-critical. The use of models to specify the functional contents of the system and its execution platform is today the most promising solution to reduce the productivity gap and improve the quality, correctness and modularity of software subsystems and systems. Models allow to advance the analysis, validation, and verification of properties in the design flow, and enable the exploration and synthesis of cost-effective and provably correct solutions. While there is (relative) consensus on the use of models, competing (and not necessarily compatible) approaches are explored in the academic and industrial domain, each with its distinctive features, strengths, and weaknesses. Modeling languages (and the accompanying methodologies) are today roughly divided as belonging to the Model-Based Design (MBD) or Model-Driven Engineering (MDE) approach. Component-based development is a desirable paradigm that applies to both modeling styles. Research work tries to define (and possibly widen) the range of model properties that can be analyzed and demonstrated as correct, providing methods and tools to this purpose. Time properties are an important subset, since they apply to the majority of the complex and distributed systems in the automotive, avionics, and controls domains. A synthesis path, with the methods and tools to generate a (provably correct) software or hardware implementation of a model is a necessary complement to the use of an analyzable modeling language, not only to improve efficiency, but to avoid the introduction of unwanted errors when the model is refined into its implementation.


  1. 1.
    The MathWorks Inc.: Simulink User’s Guide (2005).
  2. 2.
  3. 3.
    Andrade, H.A., Kovner, S.: Software synthesis from dataflow models for G and LabVIEW. In: Proceedings of the IEEE Asilomar Conference on Signals, Systems, and Computers, 1705–1709 (1998)Google Scholar
  4. 4.
    Modelica Association: Modelica and the modelica association.
  5. 5.
    Eker, J., Janneck, J.W., Lee, E.A., Liu, J., Liu, X., Ludvig, J., Neuendorffer, S., Sachs, S., Xiong, Y.: Taming heterogeneity-the Ptolemy approach. Proc. IEEE 91(1), 127–144 (2003)CrossRefGoogle Scholar
  6. 6.
    Davare, A., Densmore, D., Meyerowitz, T., Pinto, A., Sangiovanni-Vincentelli, A., Yang, G., Zeng, H., Zhu, Q.: A next-generation design framework for platform-based design. DVCon, In (2007)Google Scholar
  7. 7.
    Alur, R., Dill, D.L.: A theory of timed automata. Theor. Comput. Sci. 126(2), 183–235 (1994). Google Scholar
  8. 8.
    Object Management Group: Omg model driven architecture.
  9. 9.
    Unified Modeling Language, 2.0.
  10. 10.
    System Modeling Language.
  11. 11.
    Object Management Group: Concrete syntax for uml action language (action language for foundational uml - alf).
  12. 12.
    Object Management Group: Semantics of a foundational subset for executable uml models (fuml).
  13. 13.
    Object Management Group: UML profile for modeling and analysis of real-time and embedded systems (MARTE), version 1.1, formal/2011-06-02 (June 2011).
  14. 14.
    Kienhuis, B., Deprettere, E.F., Wolf, P.v.d., Vissers, K.A.: A methodology to design programmable embedded systems–the y-chart approach. In: Embedded Processor Design Challenges: Systems, Architectures, Modeling, and Simulation–SAMOS, pp. 18–37. Springer-Verlag, London, UK, (2002)Google Scholar
  15. 15.
    Keutzer, K., Newton, A., Rabaey, J., Sangiovanni-Vincentelli, A.: System-level design: orthogonalization of concerns and platform-based design. Comput.-Aided Des. Integr. Circuits Syst., IEEE Trans. on 19(12), 1523–1543 (2000)Google Scholar
  16. 16.
    Mukerji, J., Miller, J.: Overview and guide to omg’s, architecture.
  17. 17.
    Balarin, F., Watanabe, Y., Hsieh, H., Lavagno, L., Passerone, C., Sangiovanni-Vincentelli, A.L.: Metropolis: An integrated electronic system design environment. IEEE Comput. 36(4), 45–52 (2003)CrossRefGoogle Scholar
  18. 18.
    Object Management Group: Home page.
  19. 19.
    T., B.: Current trends in the design of automotive electronic systems. Proceedings of the Design Automation and Test in Europe Conference (2001)Google Scholar
  20. 20.
    AUTOSAR consortium: automotive open system architecture.
  21. 21.
    Edwards, S., Lavagno, L., Lee, E.A., Sangiovanni-Vincentelli, A.: Design of embedded systems: Formal models, validation and synthesis. Proc. IEEE 85(3), 366–390 (1997)CrossRefGoogle Scholar
  22. 22.
    Alur, R., Henzinger, T.A.: Logics and models of real time: A survey. Real-Time: Theory in Practice, REX Workshop, LNCS 600pp, 74–106 (1991)Google Scholar
  23. 23.
    Lee, E., Sangiovanni-Vincentelli, A.: A framework for comparing models of computation. Comput.-Aided Des. Integr. Circuits Syst., IEEE Trans. on 17(12), 1217–1229 (1998)Google Scholar
  24. 24.
    Benveniste, A., Caspi, P., Edwards, S.A., Halbwachs, N., Guernic, P.L., Robert, Simone, D.: The synchronous languages 12 years later. In: Proceedings of The IEEE, pp. 64–83 (2003)Google Scholar
  25. 25.
    Berry, G., Gonthier, G.: The esterel synchronous programming language: design, semantics, implementation. Sci. Comput. Program. 19(2), 87–152 (1992)MATHCrossRefGoogle Scholar
  26. 26.
    Boussinot, F., De Simone, R.: The esterel language. Proc. IEEE 79(9), 1293–1304 (1991)CrossRefGoogle Scholar
  27. 27.
    Caspi, P., Pilaud, D., Halbwachs, N., Plaice, J.A.: Lustre: a declarative language for real-time programming. In: Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, POPL ’87, pp. 178–188. ACM (1987)Google Scholar
  28. 28.
    Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous dataflow programming language lustre. In: Proceedings of the IEEE, pp. 1305–1320 (1991)Google Scholar
  29. 29.
    Harel, D.: Statecharts: A visual formalism for complex systems. Sci. Comput. Program. 8(3), 231–274 (1987)MathSciNetMATHCrossRefGoogle Scholar
  30. 30.
    Berthomieu, B., Diaz, M.: Modeling and verification of time dependent systems using time petri nets. Softw. Eng., IEEE Trans. 17(3), 259–273 (1991)Google Scholar
  31. 31.
    Yovine, S.: Kronos: A verification tool for real-time systems. (kronos user’s manual release 2.2). Int. J. Softw. Tools Technol. Transf. 1, 123–133 (1997)Google Scholar
  32. 32.
    Behrmann, G., David, A., Larsen, K.G.: A tutorial on uppaal. In: M. Bernardo, F. Corradini (eds.) Formal methods for the design of real-time systems: 4th International School on Formal Methods for the Design of Computer, Communication, and Software Systems, SFM-RT 2004, no. 3185 in LNCS, pp. 200–236. Springer-Verlag (2004)Google Scholar
  33. 33.
    Wozniak, E., Mraidha, C., Gerard, S., Terrier, F.: A guidance framework for the generation of implementation models in the automotive domain. In: Software Engineering and Advanced Applications (SEAA), 2011 37th EUROMICRO Conference on, pp. 468–476 (2011)Google Scholar
  34. 34.
    Koudri, A., Cuccuru, A., Gerard, S., Terrier, F.: Designing heterogeneous component based systems: evaluation of MARTE standard and enhancement proposal. In: Model Driven Engineering Languages and Systems, pp. 243–257 (2011)Google Scholar
  35. 35.
  36. 36.
    Department of Defense: DoD architecture framework v2.02.
  37. 37.
    Vanderperren, Y., Dehaene, W.: From uml/sysml to matlab/simulink: current state and future perspectives. In: Proceedings of the conference on Design, automation and test in Europe, DATE ’06. Leuven, Belgium (2006)Google Scholar
  38. 38.
    Berry, G., Gonthier, G.: The synchronous programming language esterel: Design, semantics, implementation. Sci. Comput. Program. 19(2), 87–152 (1992)MATHCrossRefGoogle Scholar
  39. 39.
    Ledeczi, A., Maroti, M., Bakay, A., Karsai, G., Garrett, J., Thomason, C., Nordstrom, G., Sprinkle, J., Volgyesi, P.: The generic modeling environment. Workshop on Intelligent Signal Processing, In (2001)Google Scholar
  40. 40.
    Sangiovanni-Vincentelli, A., Shukla, S., Sztipanovits, J., Yang, G., Mathaikutty, D.: Metamodeling: An emerging representation paradigm for system-level design. Special Section on Meta-Modeling, IEEE Des. Test 26(3), 54–69 (2009)Google Scholar
  41. 41.
    Alfaro, L., Henzinger, T.A.: Interface automata. In: Proceedings of ESEC/SIGSOFT FSE’01, pp. 109–120. ACM Press (2001)Google Scholar
  42. 42.
    Lee, E., Sangiovanni-Vincentelli, A.: A unified framework for comparing models of computation. In. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 17, 1217–1229 (1998)CrossRefGoogle Scholar
  43. 43.
    Liu, C.L., Layland, J.W.: Scheduling algorithms for multiprogramming in a hard-real-time environment. J. ACM 20, 46–61 (1973)MathSciNetMATHCrossRefGoogle Scholar
  44. 44.
    Lehoczky, J.P., Sha, L., Ding, Y.: The rate-monotonic scheduling algorithm: exact characterization and average case behavior. In: Proceedings of the 10th IEEE RTSS, pp. 166–171. Santa Monica, CA USA (1989)Google Scholar
  45. 45.
    Benveniste, A., Caillaud, B., Carloni, L.P., Caspi, P., Sangiovanni-Vincentelli, A.L., Tripakis, S.: Communication by sampling in time-sensitive distributed systems. In: EMSOFT, pp. 152–160 (2006)Google Scholar
  46. 46.
    Zheng, W., Natale, M.D., Pinello, C., Giusto, P., Sangiovanni-Vincentelli, A.: Synthesis of task and message activation models in real-time distributed automotive systems. In: DATE’07: Proceedings of the Design, Automation and Test in Europe Conference. Nice, France (2007)Google Scholar
  47. 47.
    Davare, A., Zhu, Q., Natale, M.D., Pinello, C., Kanajan, S., Sangiovanni-Vincentelli, A.: Period optimization for hard real-time distributed automotive systems. In: DAC ’07: Proceedings of the 44th annual conference on Design automation, pp. 278–283. ACM, New York, NY, USA (2007)
  48. 48.
    Tindell, K.W.: Holistic schedulability analysis for distributed hard real-time systems. Tech. Rep. YCS 197, Department of Computer Science, University of York (1993)Google Scholar
  49. 49.
    Palencia, J., Harbour, M.G.: Schedulability analysis for tasks with static and dynamic offsets. In: 19th IEEE Real-Time Systems Symposium. Madrid, Spain (1998)Google Scholar
  50. 50.
    Di Natale, M., Zheng, W., Pinello, C., Giusto, P., Sangiovanni Vincentelli, A.: Optimizing end-to-end latencies by adaptation of the activation events in distributed automotive systems. In: Proceedings of the IEEE Real-Time Application Symposium. Bellevue, WA (2007)Google Scholar
  51. 51.
    Hamann, A., Henia, R., Jerzak, M., Racu, R., Richter, K., Ernst, R.: SymTA/S symbolic timing analysis for systems. available at (2004)
  52. 52.
    RTCA: Do-178b: Software considerations in airborne systems and equipment certification.
  53. 53.
    ISO: Iso 26262 road vehicles-functional safety.
  54. 54.
    Benveniste, A., Caspi, P., Guernic, P.L., Marchand, H., Talpin, J.P., Tripakis, S.: A protocol for loosely time-triggered architectures. In: Proceedings of the Second International Conference on Embedded Software, EMSOFT ’02, pp. 252–265. Springer-Verlag, London, UK, (2002)Google Scholar
  55. 55.
    Sangiovanni-Vincentelli, A., Damm, W., Passerone, R.: Taming Dr. Frankenstein: Contract-based design for cyber-physical systems. Eur. J. Control 18(3), 217–238 (2012). doi: 10.3166/EJC.18.217-238 MathSciNetMATHCrossRefGoogle Scholar
  56. 56.
    B., M.: An overview of Eiffel. In: The Handbook of Programming Languages, vol. 1, Object-Oriented Languages, ed. Peter H. Salus, Macmillan Technical Publishing (1998)Google Scholar
  57. 57.
    Audsley, N.C., Burns, A., Davis, R., Tindell, K.W., Wellings, A.J.: Fixed priority pre-emptive scheduling: an historical prespective. Real-Time Syst. 8, 173–198 (1995)CrossRefGoogle Scholar
  58. 58.
    George, L., Rivierre, N., Spuri, M.: Preemptive and Non-Preemptive Real-Time UniProcessor Scheduling. Research Report RR-2966, INRIA (1996)Google Scholar
  59. 59.
    Mok, A.K.: Fundamental design problems of distributed systems for the hard-real-time environment. Ph.d. thesis, Cambridge, MA, USA (1983)Google Scholar
  60. 60.
    Hamann, A., Racu, R., Ernst, R.: Multi-dimensional robustness optimization in heterogeneous distributed embedded systems. In: Proceedings of the 13th IEEE Real Time and Embedded Technology and Applications Symposium, RTAS ’07, pp. 269–280. IEEE Computer Society, Washington, DC, USA (2007)Google Scholar
  61. 61.
    Ghattas, R., Dean, A.G.: Preemption threshold scheduling: Stack optimality, enhancements and analysis. In: Proceedings of the 13th IEEE Real Time and Embedded Technology and Applications Symposium, RTAS ’07, pp. 147–157. IEEE Computer Society, Washington, DC, USA (2007)Google Scholar
  62. 62.
    Cervin, A., Henriksson, D., Lincoln, B., Eker, J., Arzen, K.: How does control timing affect performance? analysis and simulation of timing using jitterbug and truetime. Control Syst., IEEE 23(3), 16–30 (2003)Google Scholar
  63. 63.
    Velasco, M., Martí, P., Bini, E.: Control-driven tasks: Modeling and analysis. In: Proceedings of the 2008 Real-Time Systems Symposium, RTSS ’08, pp. 280–290. IEEE Computer Society, Washington, DC, USA (2008)Google Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  • Alberto Sangiovanni-Vincentelli
    • 1
  • Haibo Zeng
    • 2
  • Marco Di Natale
    • 3
  • Peter Marwedel
    • 4
  1. 1.Department of Electrical Engineering and Computer Science (EECS)University of California, BerkeleyBerkeleyUSA
  2. 2.Department of ECEMcGill UniversityMontrealCanada
  3. 3.Scuola Superiore Sant’AnnaPisaItaly
  4. 4.Embedded Systems GroupTU Dortmund UniversityDortmundGermany

Personalised recommendations