Advertisement

Collaborative Development of Embedded Systems

  • Marcel Verhoef
  • Kenneth Pierce
  • Carl Gamble
  • Jan Broenink
Chapter

Abstract

This chapter presents motivation for taking a collaborative multi-disciplinary approach to the model-based development of embedded systems. Starting from a consideration of the ubiquity of embedded systems in daily life it identifies challenges faced by industry in developing products in a timely manner, but to sufficient quality to merit the reliance of their users. Using a fictional story of product development, it presents the perspectives of both the control engineer and the software designer. We describe an approach—realised using the Crescendo tool—that promotes collaborative modelling and co-simulation, taking account of existing technology and current industry practice.

Keywords

Fault Tolerance Embed System Collaborative Modelling Static Analysis Tool Mobile Handset 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    Alexander C, Ishikawa S, Silverstein M (1977) A pattern language: towns, buildings, construction. Oxford University Press, New YorkGoogle Scholar
  2. 2.
    Alur R, Courcoubetis C, Halbwachs N, Henzinger TA, Ho PH, Nicollin X, Olivero A, Sifakis J, Yovine S (1995) The algorithmic analysis of hybrid systems. Theor Comput Sci 138:3–34MATHCrossRefGoogle Scholar
  3. 3.
    Ambrosius F (2007) Modelling and distributed controller design of the BodeRC paper-path setup. Master’s thesis, Department of Electrical Engineering, Mathematics and Computer Science, University of Twente, appeared as Technical Report 003CE2007Google Scholar
  4. 4.
    van Amerongen J (2010) Dynamical systems for creative technology. Controllab Products, EnschedeGoogle Scholar
  5. 5.
    Ashenden PJ (2001) The designer’s guide to VHDL, 2nd edn. Morgan Kaufmann Publishers, San FranciscoGoogle Scholar
  6. 6.
    Avizienis A, Laprie JC, Randell B, Landwehr C (2004) Basic concepts and taxonomy of dependable and secure computing. IEEE Trans Dependable Secure Comput 1:11–33CrossRefGoogle Scholar
  7. 7.
    Bae K, Ölveczky PC, Feng TH, Tripakis S (2009) Verifying ptolemy ii discrete-event models using real-time maude. In: Proceedings of the 11th international conference on formal engineering methods: formal methods and software engineering, ICFEM ’09. Springer, Berlin, pp 717–736Google Scholar
  8. 8.
    Baheti R, Gill H (2011) Cyber-physical systems. In: Samad T, Annaswamy A (eds) The impact of control technology. IEEE Control Society, pp 161–166. Available at www.ieeecss.org
  9. 9.
    Baker RE (2005) An approach for dealing with dynamic multi-attribute decision problems. Ph.D. thesis, Department of Computer Science, University of York, UKGoogle Scholar
  10. 10.
    Banerjee A, Venkatasubramanian KK, Mukherjee T, Gupta SKS (2012) Ensuring safety, security, and sustainability of mission-critical cyber-physical systems. Proc IEEE 100(1):283–299. doi:10.1109/JPROC.2011.2165689CrossRefGoogle Scholar
  11. 11.
    Banks J, Carson J, Nelson BL, Nicol D (2004) Discrete-event system simulation, 4th edn. Prentice Hall, Upper Saddle RiverGoogle Scholar
  12. 12.
    Berkenkötter K, Bisanz S, Hannemann U, Peleska J (2004) Executable hybriduml and its application to train control systems. In: Ehrig H, Damm W, Desel J, Grosse-Rhode M, Reif W, Schnieder E, Westkämper E (eds) SoftSpez Final Report. Lecture notes in computer science, vol 3147. Springer, Berlin, pp 145–173Google Scholar
  13. 13.
    Blochwitz T, Otter M, Akesson J, Arnold M, Clauss C, Elmqvist H, Friedrich M, Junghanns A, Mauss J, Neumerkel D, Olsson H, Viel A (2012) The functional mockup interface 2.0: the standard for tool independent exchange of simulation models. In: Proceedings of the 9th international Modelica conference, MunichGoogle Scholar
  14. 14.
    Bonabeau E (2002) Agent-based modeling: methods and techniques for simulating human systems. Proc Natl Acad Sci USA 99(Suppl 3):7280–7287. doi:10.1073/pnas.082080899CrossRefGoogle Scholar
  15. 15.
    Booch G, Jacobson I, Rumbaugh J (1999) The unified modelling language user guide. Addison-Wesley, ReadingGoogle Scholar
  16. 16.
    Broenink JF (1997) Modelling, simulation and analysis with 20-Sim. J A Spec Issue CACSD 38(3):22–25Google Scholar
  17. 17.
    Broenink JF, Ni Y, Groothuis MA (2010) On model-driven design of robot software using co-simulation. In: Menegatti E (ed) Proceedings of SIMPAR 2010 workshops international conference on simulation, modeling, and programming for autonomous robots. TU Darmstadt, Darmstadt, pp 659–668Google Scholar
  18. 18.
    Broman D, Derler P, Eidson J (2013) Temporal issues in cyber-physical systems. J Indian Inst Sci 93(3):389–402Google Scholar
  19. 19.
    Broy M, Cengarle MV, Geisberger E (2012) Cyber-physical systems: imminent challenges. In: Calinescu R, Garlan D (eds) Large-scale complex IT systems. Development, operation and management. Lecture notes in computer science, vol 7539. Springer, Berlin, pp 1–28. doi: 10.1007/978-3-642-34059-8
  20. 20.
    Bruun H, Damm F, Hansen BS (1991) An approach to the static semantics of VDM-SL. In: VDM ’91: formal software development methods, VDM Europe. Springer, Berlin, pp 220–253Google Scholar
  21. 21.
    Cervin A, Henriksson D, Lincoln B, Eker J, Arzen K (2003) How does control timing affect performance? Analysis and simulation of timing using jitterbug and truetime. IEEE Control Syst 23(3):16–30. doi:10.1109/MCS.2003.1200240CrossRefGoogle Scholar
  22. 22.
    Chiodo M, Giusto P, Jurecska A, Hsieh HC, Sangiovanni-Vincentelli A, Lavagno L (1994) Hardware-software codesign of embedded systems. IEEE Micro 14:26–36CrossRefGoogle Scholar
  23. 23.
    Christiansen MP, Larsen M, Jørgensen RN (2013) Collaborative model based development of adaptive controller settings for a load-carrying vehicle with changing loads. In: Bochtis DD, Sørensen CAG (eds) CIOSTA XXXV conferenceGoogle Scholar
  24. 24.
    Coleman JW, Lausdahl KG, Larsen PG (2012) D3.4b—co-simulation semantics. Tech. Rep., The DESTECS Project (CNECT-ICT-248134)Google Scholar
  25. 25.
    Corporaal H (2006) Embedded system design. In: Karelse F (ed) Progress White Papers 2006. STW, Utrecht, pp 7–27Google Scholar
  26. 26.
    Coverity (2012) Coverity Scan: 2012 Open Source Report. Tech. Rep., CoverityGoogle Scholar
  27. 27.
    Dawes J (1991) The VDM-SL reference guide. Pitman, London. ISBN 0-273-03151-1Google Scholar
  28. 28.
    DESTECS09 (2009) DESTECS (Design support and tooling for embedded control software). European Research ProjectGoogle Scholar
  29. 29.
    Eidson J, Lee E, Matic S, Seshia S, Zou J (2012) Distributed real-time software for cyber-physical systems. Proc IEEE 100(1):45–59. doi:10.1109/JPROC.2011.2161237CrossRefGoogle Scholar
  30. 30.
    Eker J, Janneck J, Lee E, Liu J, Liu X, Ludvig J, Neuendorffer S, Sachs S, Xiong Y (2003) Taming heterogeneity—the ptolemy approach. Proc IEEE 91(1):127–144CrossRefGoogle Scholar
  31. 31.
    European Cooperation for Space Standardization (ECSS) (2009) ECSS Std ECSS-E-ST-40C Space engineering—softwareGoogle Scholar
  32. 32.
    European Cooperation for Space Standardization (ECSS) (2009) ECSS Std ECSS-Q-ST-80C Space product assurance—software product assuranceGoogle Scholar
  33. 33.
    Eveleens JL, Verhoef C (2010) The rise and fall of the chaos report figures. IEEE Software, pp 30–36Google Scholar
  34. 34.
    Fitzgerald J, Larsen PG (1998) Modelling systems—practical tools and techniques in software development. Cambridge University Press, Cambridge. ISBN 0-521-62348-0MATHGoogle Scholar
  35. 35.
    Fitzgerald J, Larsen PG (2009) Modelling systems—practical tools and techniques in software development, 2nd edn. Cambridge University Press, Cambridge. ISBN 0-521-62348-0MATHCrossRefGoogle Scholar
  36. 36.
    Fitzgerald J, Larsen PG, Mukherjee P, Plat N, Verhoef M (2005) Validated designs for object-oriented systems. Springer, New YorkMATHGoogle Scholar
  37. 37.
    Fitzgerald JS, Larsen PG, Verhoef M (2008) Vienna development method. In: Wah B (ed) Wiley encyclopedia of computer science and engineering. Wiley, ChichesterGoogle Scholar
  38. 38.
    Fritzson P, Engelson V (1998) Modelica—a unified object-oriented language for system modelling and simulation. In: ECCOP ’98: proceedings of the 12th European conference on object-oriented programming. Springer, Berlin, pp 67–90Google Scholar
  39. 39.
    Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns. Elements of reusable object-oriented software. Addison-Wesley professional computing series. Addison-Wesley, ReadingGoogle Scholar
  40. 40.
    Gupta SK, Mukherjee T, Varsamopoulos G, Banerjee A (2011) Research directions in energy-sustainable cyber-physical systems. Sustain Comput Inform Syst 1(1):57–74Google Scholar
  41. 41.
    Hardebolle C, Boulanger F (2009) Exploring multi-paradigm modeling techniques. SIMULATION Trans Soc Model Simul Int 85(11/12):688–708CrossRefGoogle Scholar
  42. 42.
    Heemels M, Muller G (2007) Boderc: model-based design of high-tech systems, 2nd edn. Embedded Systems Institute, EindhovenGoogle Scholar
  43. 43.
    IEEE (2000) IEEE 100 the authoritative dictionary of IEEE standards terms, 7th edn. IEEE Std 100-2000. doi:10.1109/IEEESTD.2000.322230Google Scholar
  44. 44.
    IEEE (2008) International Standard ISO/IEC 12207:2008(E), IEEE Std 12207-2008 (Revision of IEEE/EIA 12207.0-1996) Systems and software engineering—software life cycle processes. ISO/IEC and IEEE Computer SocietyGoogle Scholar
  45. 45.
    IEEE (2008) International Standard ISO/IEC 15288:2008(E), IEEE Std 15288-2008 (Revision of IEEE Std 15288-2004) Systems and software engineering—system life cycle processes. ISO/IEC and IEEE Computer SocietyGoogle Scholar
  46. 46.
    Jackson D (2009) A direct path to dependable software. Commun ACM 52(4):78–88. doi:10.1145/1498765.1498787CrossRefGoogle Scholar
  47. 47.
    Jensen J, Chang D, Lee E (2011) A model-based design methodology for cyber-physical systems. In: 2011 7th international wireless communications and mobile computing conference (IWCMC), pp 1666–1671. doi:10.1109/IWCMC.2011.5982785Google Scholar
  48. 48.
    Johnson CW (2005) The natural history of bugs: using formal methods to analyse software related failures in space missions. In: Fitzgerald J, Hayes IJ, Tarlecki A (eds) FM 2005: formal methods. Lecture notes in computer science, vol 3582. Springer, Berlin, pp 9–25CrossRefGoogle Scholar
  49. 49.
    Johnson J (2006) My life is failure. Standish Group International, co-author of the original 1994 CHAOS reportGoogle Scholar
  50. 50.
    Jones CB (1990) Systematic software development using VDM, 2nd edn. Prentice-Hall International, Englewood Cliffs. ISBN 0-13-880733-7MATHGoogle Scholar
  51. 51.
    JPL Special Review Board (2000) Report on the loss of the Mars Polar Lander and Deep Space 2 missions. Tech. Rep. JPL D-18709. Jet Propulsion LaboratoryGoogle Scholar
  52. 52.
    Karnopp D, Rosenberg R (1968) Analysis and simulation of multiport systems: the bond graph approach to physical system dynamic. MIT Press, CambridgeGoogle Scholar
  53. 53.
    Kleijn C (2009) 20-sim 4.1 reference manual, 1st edn. Controllab Products B.V., Enschede. ISBN 978-90-79499-05-2Google Scholar
  54. 54.
    Kleijn C, Visser P, Groen F (2012) D3.5—extension to Matlab/Simulink. Tech. Rep., The DESTECS Project (CNECT-ICT-248134)Google Scholar
  55. 55.
    Kopetz H, Bauer G (2003) The time-triggered architecture. Proc IEEE 91(1):112–126CrossRefGoogle Scholar
  56. 56.
    Larsen PG, Battle N, Ferreira M, Fitzgerald J, Lausdahl K, Verhoef M (2010) The overture initiative—integrating tools for VDM. SIGSOFT Softw Eng Notes 35(1):1–6CrossRefGoogle Scholar
  57. 57.
    Larsen PG, Lausdahl K, Battle N (2010) Combinatorial testing for VDM. In: Proceedings of the 2010 8th IEEE international conference on software engineering and formal methods, SEFM ’10. IEEE Computer Society, Washington, pp 278–285. ISBN 978-0-7695-4153-2Google Scholar
  58. 58.
    Larsen PG, Wolff S, Battle N, Fitzgerald J, Pierce K (2010) Development process of distributed embedded systems using vdm. Tech. Rep. TR-2010-02, The Overture Open Source InitiativeGoogle Scholar
  59. 59.
    Larsen PG, Lausdahl K, Battle N, Fitzgerald J, Wolff S, Sahara S (2013) VDM-10 language manual. Tech. Rep. TR-001, The Overture InitiativeGoogle Scholar
  60. 60.
    Larsen PG, Lausdahl K, Coleman J, Wolff S, Kleijn C, Groen F (2013) Crescendo tool support: user manual. Tech. Rep. TR-001, The Crescendo InitiativeGoogle Scholar
  61. 61.
    Lausdahl K, Coleman JW, Larsen PG (2013) Semantics of the VDM real-time dialect. ECE-TR-13, Aarhus University, Aarhus, April 2013Google Scholar
  62. 62.
    Lee E, Seshia S (2011) Introduction to embedded systems, a cyber-physical systems approach. University of Berkeley, Berkeley. ISBN 978-0-557-70857-4Google Scholar
  63. 63.
    Lee EA (2008) Cyber physical systems: design challenges. Tech. Rep. UCB/EECS-2008-8, EECS Department, University of California, BerkeleyGoogle Scholar
  64. 64.
    Lee EA (2009) Computing needs time. Commun ACM 52(5):70–79CrossRefGoogle Scholar
  65. 65.
    Lee EA (2010) CPS foundations. In: Proceedings of the 47th design automation conference, DAC ’10. ACM, New York, pp 737–742. doi:10.1145/1837274.1837462Google Scholar
  66. 66.
    Lee I, Sokolsky O, Chen S, Hatcliff J, Jee E, Kim B, King A, Mullen-Fortino M, Park S, Roederer A, Venkatasubramanian K (2012) Challenges and research directions in medical cyber-physical systems. Proc IEEE 100(1):75–90. doi:10.1109/JPROC.2011.2165270CrossRefGoogle Scholar
  67. 67.
    Lions JL, Lübeck L, Fauquembergue JL, Kahn G, Kubbat W, Levedag S, Mazzini L, Merle D, O’Halloran C (1996) ARIANE 5—flight 501 failure—report by the inquiry board. Tech. Rep., European Space AgencyGoogle Scholar
  68. 68.
    Liu J (1998) Continuous time and mixed-signal simulation in ptolemy ii. Tech. Rep. UCB/ERL M98/74, EECS Department, University of California, BerkeleyGoogle Scholar
  69. 69.
    Magureanu G, Gavrilescu M, Pescaru D (2013) Validation of static properties in unified modeling language models for cyber physical systems. J Zhejiang Univ Sci C 14(5):332–346. doi:10.1631/jzus.C1200263CrossRefGoogle Scholar
  70. 70.
    Maier MW (1996) Architecting principles for systems-of-systems. In: Sixth international symposium of the international council on systems engineering, INCOSEGoogle Scholar
  71. 71.
    Margaria T, Schätz B, Verhoef M (2006) Formal methods going mainstream: costs, benefits, experiences. BCS-FACS FACTS 2006(2):34–38, report on the ForTIA Industry Day at FM’05Google Scholar
  72. 72.
    Marwedel P (2010) Embedded system design—embedded systems foundations of cyber-physical systems. Springer, BerlinGoogle Scholar
  73. 73.
    Mazzara M, Bhattacharyya A (2010) On modelling and analysis of dynamic reconfiguration of dependable real-time systems. In: 2010 third international conference on dependability (DEPEND), pp 173–181. doi:10.1109/DEPEND.2010.33Google Scholar
  74. 74.
    Miclea L, Sanislav T (2011) About dependability in cyber-physical systems. In: Design test symposium (EWDTS), 2011 9th East-West, pp 17–21. doi:10.1109/EWDTS.2011.6116428Google Scholar
  75. 75.
    Moore GE (1965) Cramming more components onto integrated circuits. Electronics 38(8):114–117Google Scholar
  76. 76.
    Nielsen CB (2010) Dynamic reconfiguration of distributed systems in VDM-RT. Master’s thesis, Aarhus UniversityGoogle Scholar
  77. 77.
    Plotkin GD (1981) A structural approach to operational semantics. Tech. Rep. DAIMI FN-19, Aarhus UniversityGoogle Scholar
  78. 78.
    Plotkin GD (2004) A structural approach to operational semantics. J Logic Algebraic Program 60–61:17–139MathSciNetGoogle Scholar
  79. 79.
    Ptolemaeus C (ed) (2014) System design, modeling, and simulation using ptolemy II. Ptolemy.orgGoogle Scholar
  80. 80.
    Pumfrey D (1999) The principled design of computer system safety analyses. Ph.D. thesis, Department of Computer Science, University of YorkGoogle Scholar
  81. 81.
    Rajkumar R, Lee I, Sha L, Stankovic J (2010) Cyber-physical systems: the next computing revolution. In: Design automation conference (DAC), 2010 47th ACM/IEEE, pp 731–736Google Scholar
  82. 82.
    Rational Software Corporation (1998) Rational unified process—best practices for software development teamsGoogle Scholar
  83. 83.
    Robinson S (2004) Simulation: the practice of model development and use. Wiley, New YorkGoogle Scholar
  84. 84.
    Romanovsky A, Thomas M (eds) (2013) Industrial deployment of system engineering methods providing high dependability and productivity. Springer, Berlin. ISBN 978-3-642-33169-5Google Scholar
  85. 85.
    Rushby J (1989) Kernels for safety? In: Safe and secure computing systems, Blackwell Scientific Publications, Oxford, pp 210–220Google Scholar
  86. 86.
    Safety and Health Council of the Chemical Industries Association Ltd (1977) A guide to hazard and operability studiesGoogle Scholar
  87. 87.
    Friedenthal S, Moore A, Steiner R (2011) A practical guide to SysML, 2nd edn. Morgan Kaufmann OMG Press, Waltham. ISBN: 978-0-12-385206-9Google Scholar
  88. 88.
    Sangiovanni-Vincentelli A (2006) Successive refinements of communication functions and architectures in system design. In: Design automation and test in Europe, hot topic session—network the next “Big Idea” in design?Google Scholar
  89. 89.
    Sanwal M, Hasan O (2013) Formal verification of cyber-physical systems: coping with continuous elements. In: Murgante B, Misra S, Carlini M, Torre C, Nguyen HQ, Taniar D, Apduhan B, Gervasi O (eds) Computational science and its applications—ICCSA 2013. Lecture notes in computer science, vol 7971. Springer, Berlin, pp 358–371. doi: 10.1007/978-3-642-39637-39 CrossRefGoogle Scholar
  90. 90.
    Schirner G, Erdogmus D, Chowdhury K, Padir T (2013) The future of human-in-the-loop cyber-physical systems. Computer 46(1):36–45CrossRefGoogle Scholar
  91. 91.
    Sztipanovits J, Koutsoukos X, Karsai G, Kottenstette N, Antsaklis P, Gupta V, Goodwine B, Baras J, Wang S (2012) Toward a science of cyber-physical system integration. Proc IEEE 100(1):29–44. doi:10.1109/JPROC.2011.2161529CrossRefGoogle Scholar
  92. 92.
    Taguchi G (1987) System of experimental design, vols 1 and 2. UNIPUB/Krass International Publications, New YorkGoogle Scholar
  93. 93.
    Thomas D, Moorby P (2008) The Verilog hardware description language, 5th edn. Springer, BerlinMATHGoogle Scholar
  94. 94.
    Trapp M, Schneider D, Liggesmeyer P (2013) A safety roadmap to cyber-physical systems. In: Münch J, Schmid K (eds) Perspectives on the future of software engineering. Springer, Berlin, pp 81–94. doi:10. 1007∕978 − 3 − 642 − 37395 − 46 Google Scholar
  95. 95.
    Vangheluwe HL, de Lara J, Mosterman PJ (2002) An introduction to multi-paradigm modelling and simulation. In: Barros F, Giambiasi N (eds) Proceedings of the AIS’2002 conference (AI, Simulation and Planning in High Autonomy Systems), Lisboa, Portugal, pp 9–20Google Scholar
  96. 96.
    Verhoef M (2009) Modeling and validating distributed embedded real-time control systems. Ph.D. thesis, Radboud University NijmegenGoogle Scholar
  97. 97.
    Verhoef M, Bos B, van Eijk P, Remijnse J, Visser E, De Paepe M, De Witte Y, Rombaut K, Van Lembergen R (2012) Industrial case studies—final report. DESTECS Deliverable D4.3, The DESTECS Project (CNECT-ICT-248134)Google Scholar
  98. 98.
    Wan K, Hughes D, Man KL, Krilavicius T (2010) Composition challenges and approaches for cyber physical systems. In: 2010 IEEE international conference on networked embedded systems for enterprise applications (NESEA), pp 1–7. doi:10.1109/NESEA.2010.5678065Google Scholar
  99. 99.
    Wang G, Liu Q, Wu J (2010) Hierarchical attribute-based encryption for fine-grained access control in cloud storage services. In: Proceedings of the 17th ACM conference on computer and communications security. ACM, New York, pp 735–737Google Scholar
  100. 100.
    Woodcock J, Larsen PG, Bicarregui J, Fitzgerald J (2009) Formal methods: practice and experience. ACM Comput Surv 41(4):1–36CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Marcel Verhoef
    • 1
  • Kenneth Pierce
    • 2
  • Carl Gamble
    • 2
  • Jan Broenink
    • 3
  1. 1.Chess WISEHaarlemThe Netherlands
  2. 2.Newcastle UniversityNewcastle upon TyneUK
  3. 3.University of TwenteEnschedeThe Netherlands

Personalised recommendations