Model-Driven Design-Space Exploration for Software-Intensive Embedded Systems

  • Twan Basten
  • Martijn Hendriks
  • Nikola Trčka
  • Lou Somers
  • Marc Geilen
  • Yang Yang
  • Georgeta Igna
  • Sebastian de Smet
  • Marc Voorhoeve
  • Wil van der Aalst
  • Henk Corporaal
  • Frits Vaandrager
Chapter
Part of the Embedded Systems book series (EMSY, volume 22)

Abstract

The complexity of today’s embedded systems is increasing rapidly. Ever more functionality is realised in software, for reasons of cost and flexibility. This leads to many implementation alternatives that vary in functionality, performance, hardware, etc. To cope with this complexity, systematic development support during the early phases of design is needed. Model-driven development provides this support. It bridges the gap between ad-hoc back-of-the-envelope or spreadsheet calculations and physical prototypes. Models provide insight in system-level performance characteristics of potential implementation options and are a good means of documentation and communication. They ultimately lead to shorter, more predictable development times and better controlled product quality. This chapter presents the Octopus tool set for model-driven design-space exploration. It supports designers in modelling and analysing design alternatives for embedded software and hardware. It follows the Y-chart paradigm, which advocates a separation between application software functionality, platform implementation choices, and the mapping of software functionality onto the platform. The tool set enables fast and accurate exploration of design alternatives for software-intensive embedded systems.

Notes

Acknowledgements

This work has been carried out as part of the Octopus project with Océ-Technologies B.V. under the responsibility of the Embedded Systems Institute. This project is partially supported by the Netherlands Ministry of Economic Affairs, Agriculture, and Innovation under the BSIK program.

References

  1. 1.
    AADL. http://www.aadl.info/ (2012). Accessed Oct 2012
  2. 2.
    Alur, R., Courcoubetis, C., Dill, D.L.: Model-checking in dense real-time. Inf. Comput. 104, 2–34 (1993)MathSciNetMATHCrossRefGoogle Scholar
  3. 3.
    Alur, R., Courcoubetis, C., Halbwachs, N., Henzinger, T.A., Ho, P.H., Nicollin, X., Olivero, A., Sifakis, J., Yovine, S.: The algorithmic analysis of hybrid systems. Theor. Comput. Sci. 138, 3–34 (1995)MATHCrossRefGoogle Scholar
  4. 4.
    Alur, R., Dill, D.L.: A theory of timed automata. Theor. Comput. Sci. 126, 183–235 (1994)MathSciNetMATHCrossRefGoogle Scholar
  5. 5.
    Apache Felix. http://felix.apache.org/ (2012). Accessed Oct 2012
  6. 6.
    Balarin, F., Giusto, P., Jurecska, A., Passerone, C., Sentovich, E., Tabbara, B., Chiodo, M., Hsieh, H., Lavagno, L., Sangiovanni-Vincentelli, A., Suzuki, K.: Hardware-Software Co-design of Embedded Systems: The POLIS Approach. Kluwer Academic Publishers, Norwell (1997)MATHCrossRefGoogle Scholar
  7. 7.
    Basten, T., Hendriks, M., Somers, L., Trčka, N.: Model-driven design-space exploration for software-intensive embedded systems (extended abstract). In: Jurdzinski, M., Nickovic, D. (eds.) Formal Modeling and Analysis of Timed Systems. Lecture Notes in Computer Science, vol. 7595, pp. 1–6. Springer, Berlin (2012)CrossRefGoogle Scholar
  8. 8.
    Basten, T., van Benthum, E., Geilen, M., Hendriks, M., Houben, F., Igna, G., Reckers, F., de Smet, S., Somers, L., Teeselink, E., Trčka, N., Vaandrager, F., Verriet, J., Voorhoeve, M., Yang, Y.: Model-driven design-space exploration for embedded systems: The Octopus toolset. In: Margaria, T., Steffen, B. (eds.) Leveraging Applications of Formal Methods, Verification, and Validation. Lecture Notes in Computer Science, vol. 6415, pp. 90–105. Springer, Heidelberg (2010). http://dse.esi.nl/. Accessed Oct 2012
  9. 9.
    Basu, A., Bozga, M., Sifakis, J.: Modeling heterogeneous real-time components in BIP. In: Proceedings of the Fourth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2006), Pune, pp. 3–12 (2006)Google Scholar
  10. 10.
    Behrmann, G., David, A., Larsen, K.G., Hakansson, J., Pettersson, P., Yi, W., Hendriks, M.: Uppaal 4.0. In: Proceedings of the Third International Conference on the Quantitative Evaluation of Systems (QEST06), Riverside, pp. 125–126 (2006). http://www.uppaal.com/. Accessed Oct 2012
  11. 11.
    Bleuler, S., Laumanns, M., Thiele, L., Zitzler, E.: PISA – a platform and programming language independent interface for search algorithms. In: Fonseca, C.M., Fleming, P.J., Zitzler, E., Deb, K., Thiele, L. (eds.) Evolutionary Multi-Criterion Optimization. Lecture Notes in Computer Science, vol. 2632, pp. 494–508. Springer, Berlin (2003). http://www.tik.ee.ethz.ch/pisa/. Accessed Oct 2012
  12. 12.
    Börner, K.: Plug-and-play macroscopes. Commun. ACM 54, 60–69 (2011)CrossRefGoogle Scholar
  13. 13.
    Bulychev, P.E., David, A., Larsen, K.G., Mikučionis, M., Poulsen, D.B., Legay, A., Wang, Z.: UPPAAL-SMC: statistical model checking for priced timed automata. In: Proceedings of the 10th Workshop on Quantitative Aspects of Programming Languages and Systems (QAPL 2012), Tallinn, pp. 1–16 (2012)Google Scholar
  14. 14.
    Cassez, F., Larsen, K.: The impressive power of stopwatches. In: Palamidessi, C. (ed.) CONCUR 2000 – Concurrency Theory. Lecture Notes in Computer Science, vol. 1877, pp. 138–152. Springer, Berlin (2000)CrossRefGoogle Scholar
  15. 15.
    CoFluent design, CoFluent studio. http://www.cofluentdesign.com/ (2012). Accessed Oct 2012
  16. 16.
    Cyberinfrastructure shell. http://cishell.org/home.html (2012). Accessed Oct 2012
  17. 17.
    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. In: Proceedings of the 2007 Design and Verification Conference (DVCon 2007), San Jose (2007)Google Scholar
  18. 18.
    David, A., Larsen, K.G., Legay, A., Mikučionis, M., Poulsen, D.B., van Vliet, J., Wang, Z.: Statistical model checking for networks of priced timed automata. In: Formal Modeling and Analysis of Timed Systems. Lecture Notes in Computer Science, vol. 6919, pp. 80–96. Springer, Berlin (2011)Google Scholar
  19. 19.
    Derler, P., Lee, E.A., Matic, S.: Simulation and implementation of the PTIDES programming model. In: Proceedings of the 12th IEEE/ACM International Symposium on Distributed Simulation and Real-Time Applications (DS-RT ’08), Vancouver, pp. 330–333 (2008)Google Scholar
  20. 20.
    Eker, J., Janneck, J.W.: CAL language report specification of the CAL actor language. ERL technical memo UCB/ERL M03/48, University of California, Berkeley (2003)Google Scholar
  21. 21.
    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, 127–144 (2003)CrossRefGoogle Scholar
  22. 22.
    Esterel technologies, SCADE Suite. http://www.esterel-technologies.com/products/scade-suite (2012). Accessed Oct 2012
  23. 23.
    Hendriks, M., Geilen, M., Basten, T.: Pareto analysis with uncertainty. In: Proceedings of the 9th IEEE/IFIP International Conference on Embedded and Ubiquitous Computing (EUC 2011), Melbourne, pp. 189–196 (2011)Google Scholar
  24. 24.
    Hendriks, M., Vaandrager, F.W.: Reconstructing critical paths from execution traces. In: Proceedings of the 10th IEEE/IFIP International Conference on Embedded and Ubiquitous Computing (EUC 2012), Paphos, pp. 524–531 (2012)Google Scholar
  25. 25.
    Holzmann, G.J.: The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley, Boston (2004). http://spinroot.com/. Accessed Oct 2012
  26. 26.
    Houben, F., Igna, G., Vaandrager, F.: Modeling task systems using parameterized partial orders. Int. J. Softw. Tools Technol. Transf. (2012). DOI: 10.1007/s10009-012-0264-8Google Scholar
  27. 27.
    Hsu, C.J., Keceli, F., Ko, M.Y., Shahparnia, S., Bhattacharyya, S.S.: DIF: an interchange format for dataflow-based design tools. In: Pimentel, A.D., Vassiliadis, S. (eds.) Computer Systems: Architectures, Modeling, and Simulation. Lecture Notes in Computer Science, vol. 3133, pp. 3–32. Springer, Berlin (2004)Google Scholar
  28. 28.
    IBM ILOG CPLEX optimizer. http://www.ibm.com/CPLEX/ (2012). Accessed Oct 2012
  29. 29.
    Igna, G., Kannan, V., Yang, Y., Basten, T., Geilen, M., Vaandrager, F., Voorhoeve, M., de Smet, S., Somers, L.: Formal modeling and scheduling of data paths of digital document printers. In: Cassez, F., Jard, C. (eds.) Formal Modeling and Analysis of Timed Systems. Lecture Notes in Computer Science, vol. 5215, pp. 170–187. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  30. 30.
    Igna, G., Vaandrager, F.: Verification of printer datapaths using timed automata. In: Margaria, T., Steffen, B. (eds.) Leveraging Applications of Formal Methods, Verification, and Validation. Lecture Notes in Computer Science, vol. 6416, pp. 412–423. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  31. 31.
    Improvise. http://www.cs.ou.edu/~weaver/improvise/index.html (2012). Accessed Oct 2012
  32. 32.
    Jackson, D.: Software Abstractions: Logic, Language, and Analysis. MIT Press, Cambridge (2006)Google Scholar
  33. 33.
    Jackson, E.K., Kang, E., Dahlweid, M., Seifert, D., Santen, T.: Components, platforms and possibilities: towards generic automation for MDA. In: Proceedings of the Tenth ACM International Conference on Embedded Software (EMSOFT 2010), Scottsdale, pp. 39–48 (2010)Google Scholar
  34. 34.
    JAVA genetic algoritms package. http://jgap.sourceforge.net/ (2012). Accessed Oct 2012
  35. 35.
    Jensen, K., Kristensen, L., Wells, L.: Coloured Petri nets and CPN tools for modelling and validation of concurrent systems. Int. J. Softw. Tools Technol. Transf. 9, 213–254 (2007)CrossRefGoogle Scholar
  36. 36.
    Jensen, K., Kristensen, L.M.: Coloured Petri Nets: Modelling and Validation of Concurrent Systems. Springer, Berlin (2009)MATHCrossRefGoogle Scholar
  37. 37.
    Katoen, J.P., Zapreev, I.S., Hahn, E.M., Hermanns, H., Jansen, D.N.: The ins and outs of the probabilistic model checker MRMC. In: Proceedings of the Sixth International Conference on the Quantitative Evaluation of Systems (QEST 2009), Budapest, pp. 167–176 (2009)Google Scholar
  38. 38.
    Keinert, J., Streubühr, M., Schlichter, T., Falk, J., Gladigau, J., Haubelt, C., Teich, J., Meredith, M.: SystemCoDesigner–an automatic ESL synthesis approach by design space exploration and behavioral synthesis for streaming applications. ACM Trans. Des. Autom. Electron. Syst. 14(1), Article 1, 1:1–1:23 (2009). http://www12.informatik.uni-erlangen.de/research/scd/. Accessed Oct 2012
  39. 39.
    Kienhuis, B., Deprettere, E., Vissers, K., van der Wolf, P.: An approach for quantitative analysis of application-specific dataflow architectures. In: Proceedings of the 1997 IEEE International Conference on Application-Specific Systems, Architectures and Processors (ASAP ’97), Zurich, pp. 338–349 (1997)Google Scholar
  40. 40.
    Kumar, A.: Adding schedulability analysis to the Octopus toolset. Master’s thesis, Eindhoven University of Technology, Faculty of Mathematics and Computer Science, Design and Analysis of Systems group, Eindhoven (2011)Google Scholar
  41. 41.
    Lee, E.A., Messerschmitt, D.G.: Static scheduling of synchronous data flow programs for digital signal processing. IEEE Trans. Comput. 36, 24–35 (1987)MATHCrossRefGoogle Scholar
  42. 42.
    Lukasiewycz, M., Glaß, M., Reimann, F., Teich, J.: Opt4j: meta-heuristic optimization framework for Java. In: Proceedings of the 13th Annual Conference Genetic and Evolutionary Computing Conference (GECCO 2011), Dublin, pp. 1723–1730 (2011). http://opt4j.sourceforge.net/. Accessed Oct 2012
  43. 43.
    MathWorks – global optimization toolbox – Solve multiple maxima, multiple minima, and nonsmooth optimization problems. http://www.mathworks.com/products/global-optimization (2012). Accessed Oct 2012
  44. 44.
    MathWorks – SimEvents – discrete-event simulation software. http://www.mathworks.com/products/simevents/ (2012). Accessed Oct 2012
  45. 45.
    MathWorks – Simulink – simulation and model-based design. http://www.mathworks.com/products/simulink/ (2012). Accessed Oct 2012
  46. 46.
    MLDesign Technologies, MLDesigner. http://www.mldesigner.com/ (2012). Accessed Oct 2012
  47. 47.
    Modelica and the Modelica Association. http://www.modelica.org/ (2012). Accessed Oct 2012
  48. 48.
    Moily, A.: Supporting design-space exploration with synchronous data flow graphs in the Octopus toolset. Master’s thesis, Eindhoven University of Technology, Faculty of Mathematics and Computer Science, Software Engineering and Technology group, Eindhoven (2011)Google Scholar
  49. 49.
    Nikolov, H., Thompson, M., Stefanov, T., Pimentel, A., Polstra, S., Bose, R., Zissulescu, C., Deprettere, E.: Daedalus: toward composable multimedia MP-SoC design. In: Proceedings of the 45th Annual Design Automation Conference (DAC 2008), Anaheim, pp. 574–579 (2008). http://daedalus.liacs.nl/. Accessed Oct 2012
  50. 50.
    NuSMV. http://nusmv.fbk.eu/ (2012). Accessed Oct 2012
  51. 51.
    Open SystemC Initiative (OSCI). http://www.systemc.org/ (2012). Accessed Oct 2012
  52. 52.
    OSGi Alliance: OSGI service platform release 4. http://www.osgi.org/Specifications/HomePage (2012). Accessed Oct 2012
  53. 53.
    Pareto, V.: Manual of Political Economy (manuale di economia politica). Kelley, New York (1971 (1906)). Translated by A.S. Schwier, A.N. PageGoogle Scholar
  54. 54.
    PRISM. http://www.prismmodelchecker.org/ (2012). Accessed Oct 2012
  55. 55.
    ProM – process mining workbench. http://www.promtools.org/prom6/ (2012). Accessed Oct 2012
  56. 56.
    Qt – a cross-platform application and UI framework. http://qt.nokia.com/products/ (2012). Accessed Oct 2012
  57. 57.
    RTCtoolbox: modular performance analysis with real-time calculus. http://www.mpa.ethz.ch/Rtctoolbox/ (2012). Accessed Oct 2012
  58. 58.
    Sander, I., Jantsch, A.: System modeling and transformational design refinement in ForSyDe. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 23, 17–32 (2004)CrossRefGoogle Scholar
  59. 59.
    Schindler, K.: Measurement data visualization and performance visualization. Internship report, Eindhoven University of Technology, Department of Mathematics and Computer Science (2008)Google Scholar
  60. 60.
    Stuijk, S., Geilen, M., Basten, T.: Throughput-buffering trade-off exploration for cyclo-static and synchronous dataflow graphs. IEEE Trans. Comput. 57, 1331–1345 (2008)MathSciNetCrossRefGoogle Scholar
  61. 61.
    Stuijk, S., Geilen, M., Theelen, B., Basten, T.: Scenario-aware dataflow: modeling, analysis and implementation of dynamic applications. In: Proceedings of the 2011 International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS XI), Samos, pp. 404–411 (2011)Google Scholar
  62. 62.
    Stuijk, S., Geilen, M.C.W., Basten, T.: SDF3: SDF for free. In: Proceedings of the 6th International Conference on Application of Concurrency to System Design (ACSD 2006), Turku, Finland, pp. 276–278 (2006)Google Scholar
  63. 63.
    Symtavision SymTA/S. http://www.symtavision.com/symtas.html/ (2012). Accessed Oct 2012
  64. 64.
    SysML. http://www.sysml.org/ (2012). Accessed Oct 2012
  65. 65.
    Teeselink, E., Somers, L., Basten, T., Trčka, N., Hendriks, M.: A visual language for modeling and analyzing printer data path architectures. In: Proceedings of the Industry Track of Software Language Engineering 2011 (ITSLE 2011), Braga, pp. 1–20 (2011)Google Scholar
  66. 66.
    Theelen, B.D., Florescu, O., Geilen, M.C.W., Huang, J., van der Putten, P.H.A., Voeten, J.P.M.: Software/hardware engineering with the parallel object-oriented specification language. In: Proceedings of the 5th IEEE/ACM International Conference on Formal Methods and Models for Codesign (MEMOCODE ’07), Nice, pp. 139–148 (2007)Google Scholar
  67. 67.
    Theelen, B.D., Geilen, M.C.W., Basten, T., Voeten, J.P.M., Gheorghita, S.V., Stuijk, S.: A scenario-aware data flow model for combined long-run average and worst-case performance analysis. In: Proceedings of the Fourth ACM and IEEE International Conference on Formal Methods and Models for CoDesign (MEMOCODE 2006), Napa, pp. 185–194 (2006)Google Scholar
  68. 68.
    TimeDoctor. http://sourceforge.net/projects/timedoctor/ (2012). Accessed Oct 2012
  69. 69.
    Trčka, N., Hendriks, M., Basten, T., Geilen, M., Somers, L.: Integrated model-driven design-space exploration for embedded systems. In: Proceedings of the International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS XI), Samos, pp. 339–346 (2011). http://dse.esi.nl/. Accessed Oct 2012
  70. 70.
    Trčka, N., Voorhoeve, M., Basten, T.: Parameterized timed partial orders with resources: formal definition and semantics. ES report ESR-2010-01, Eindhoven University of Technology, Department of Electrical Engineering, Electronic Systems group, Eindhoven (2010)Google Scholar
  71. 71.
    Trčka, N., Voorhoeve, M., Basten, T.: Parameterized partial orders for modeling embedded system use cases: formal definition and translation to coloured Petri nets. In: Proceedings of the 11th International Conference on Application of Concurrency to System Design (ACSD 2011), Kanazawa, pp. 13–18 (2011)Google Scholar
  72. 72.
    UML – Object Management Group. http://www.uml.org (2012). Accessed Oct 2012
  73. 73.
    UML profile for MARTE: modeling and analysis of real-time and embedded systems. http://www.omgmarte.org/ (2012). Accessed Oct 2012
  74. 74.
    van Beek, D.A., Collins, P., Nadales, D.E., Rooda, J.E., Schiffelers, R.R.H.: New concepts in the abstract format of the compositional interchange format. In: Proceedings of the 3rd IFAC Conference on Analysis and Design of Hybrid Systems (ADHS 2009), Zaragoza, pp. 250–255 (2009)Google Scholar
  75. 75.
    Viskic, I., Yu, L., Gajski, D.: Design exploration and automatic generation of MPSoC platform TLMs from Kahn Process Network applications. In: Proceedings of the ACM SIGPLAN/SIGBED 2010 Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES ’10), Stockholm, pp. 77–84 (2010)Google Scholar
  76. 76.
    Yang, Y.: Exploring resource/performance trade-offs for streaming applications on embedded multiprocessors. Ph.D. thesis, Eindhoven University of Technology, Eindhoven (2012)Google Scholar
  77. 77.
    Yang, Y., Geilen, M., Basten, T., Stuijk, S., Corporaal, H.: Exploring trade-offs between performance and resource requirements for synchronous dataflow graphs. In: Proceedings of the 7th IEEE/ACM/IFIP Workshop on Embedded Systems for Real-Time Multimedia (ESTIMedia 2009), Grenoble, pp. 96–105 (2009)Google Scholar
  78. 78.
    Yang, Y., Geilen, M., Basten, T., Stuijk, S., Corporaal, H.: Automated bottleneck-driven design-space exploration of media processing systems. In: Proceedings of the Conference on Design, Automation and Test in Europe (DATE 2010), Dresden, pp. 1041–1046 (2010)Google Scholar
  79. 79.
    Yang, Y., Geilen, M., Basten, T., Stuijk, S., Corporaal, H.: Playing games with scenario- and resource-aware SDF graphs through policy iteration. In: Proceedings of the Conference on Design, Automation and Test in Europe (DATE 2012), Dresden, pp. 194–199 (2012)Google Scholar
  80. 80.
    Yices: an SMT solver. http://yices.csl.sri.com/ (2012). Accessed Oct 2012

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  • Twan Basten
    • 1
    • 2
  • Martijn Hendriks
    • 1
  • Nikola Trčka
    • 3
    • 4
  • Lou Somers
    • 5
    • 6
  • Marc Geilen
    • 2
  • Yang Yang
    • 2
  • Georgeta Igna
    • 7
  • Sebastian de Smet
    • 5
  • Marc Voorhoeve
    • 8
  • Wil van der Aalst
    • 8
  • Henk Corporaal
    • 2
  • Frits Vaandrager
    • 7
  1. 1.Embedded Systems InstituteEindhovenThe Netherlands
  2. 2.Electronic Systems group, Faculty of Electrical EngineeringEindhoven University of TechnologyEindhovenThe Netherlands
  3. 3.United Technologies Research CenterEast HartfordUSA
  4. 4.Eindhoven University of TechnologyEindhovenNetherlands
  5. 5.Océ-Technologies B.V.VenloThe Netherlands
  6. 6.Software Engineering and Technology group, Faculty of Mathematics and Computer ScienceEindhoven University of TechnologyEindhovenThe Netherlands
  7. 7.Department of Model-Based System DevelopmentInstitute for Computing and Information Sciences, Radboud University NijmegenNijmegenThe Netherlands
  8. 8.Architecture of Information Systems group, Faculty of Mathematics and Computer ScienceEindhoven University of TechnologyEindhovenThe Netherlands

Personalised recommendations