Transactional execution of hierarchical reconfigurations in cyber-physical systems

  • Christian Heinzemann
  • Steffen Becker
  • Andreas Volk
Theme Section Paper


Cyber-physical systems reconfigure the structure of their software architecture, e.g., to avoid hazardous situations and to optimize operational conditions like their energy consumption. These reconfigurations have to be safe so that the systems protect their users or environment against harmful conditions or events while changing their structure. As software architectures are typically built on components, reconfiguration actions need to take into account the component structure. This structure should support vertical composition to enable hierarchically encapsulated components. While many reconfiguration approaches for cyber-physical and embedded real-time systems allow the use of hierarchically embedded components, i.e., vertical composition, none of them offers a modeling and verification solution to take hierarchical composition, i.e., encapsulation, into account thus limiting reuse and compositional verification. In this paper, we present an extension to our existing modeling language, MechatronicUML, to enable safe hierarchical reconfigurations. The three extensions are (a) an adapted variant of the 2-phase-commit protocol to initiate reconfigurations that maintain component encapsulation, (b) the integration of feedback controllers during reconfiguration, and (c) a verification approach based on (timed) model checking for instances of our model. We illustrate our approach on a case study in the area of smart railway systems by showing two different use cases of our approach. We show that using our approach the systems can be easily designed to reconfigure safely.


CPS Safe reconfiguration Correctness-by-construction Runtime reconfiguration Component model Reconfiguration behavior Feedback controller exchange Transactions Atomicity Consistency Isolation Timed model checking 



The work presented in this paper has been conducted at the time that the authors spent at the University of Paderborn and the Fraunhofer Institute for Mechatronic Systems Design (IEM) in Paderborn. At the time of conducting the research, they have been funded by these institutions.


  1. 1.
    Szyperski, C., Gruntz, D., Murer, S.: Component Software-Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Boston (2002)Google Scholar
  2. 2.
    Bernstein, P.A., Hadzilacos, V., Goodman, N.: Concurrency Control and Recovery in Database Systems. Addison Wesley, Boston (1987)Google Scholar
  3. 3.
    Hang, Y., Carlson, J., Hansson, H.: Towards mode switch handling in component-based multi-mode systems, In: Proceedings of the 15th ACM SIGSOFT Symposium on Component Based Software Engineering, CBSE’12, pp. 183–188. ACM, New York, NY (2012). doi: 10.1145/2304736.2304766
  4. 4.
    Pop, T., Plášil, F., Outly, M., Malohlava, M., Bureš, T.: Property networks allowing oracle-based mode-change propagation in hierarchical components, In: Proceedings of the 15th ACM SIGSOFT Symposium on Component Based Software Engineering, CBSE’12, pp. 93–102. ACM, New York, NY (2012). doi: 10.1145/2304736.2304753
  5. 5.
    Eckardt, T., Heinzemann, C., Henkler, S., Hirsch, M., Priesterjahn, C., Schäfer, W.: Modeling and verifying dynamic communication structures based on graph transformations. Comput. Sci. Res. Dev. 28(1), 3–22 (2013). doi: 10.1007/s00450-011-0184-y CrossRefGoogle Scholar
  6. 6.
    Becker, S., Dziwok, S., Gerking, C., Heinzemann, C., Schäfer, W., Meyer, M., Pohlmann, U.: The MechatronicUML method: Model-driven software engineering of self-adaptive mechatronic systems, In: Companion Proceedings of the 36th International Conference on Software Engineering, ICSE Companion 2014, pp. 614–615. ACM, New York, NY (2014). doi: 10.1145/2591062.2591142
  7. 7.
    Heinzemann, C., Becker, S.: Executing reconfigurations in hierarchical component architectures, In: Proceedings of the 16th international ACM Sigsoft symposium on Component based software engineering, CBSE ’13, pp. 3–12. ACM, New York, NY (2013). doi: 10.1145/2465449.2465452
  8. 8.
    Becker, S., Dziwok, S., Gerking, C., Heinzemann, C., Thiele, S., Schäfer, W., Meyer, M., Pohlmann, U., Priesterjahn, C., Tichy, M.: The MechatronicUML design method –process and language for platform-independent modeling, Tech. Rep. tr-ri-14-337, Software Engineering Group, Heinz Nixdorf Institute, University of Paderborn, version 0.4 (2014)Google Scholar
  9. 9.
    Group, O.M.: Model Driven Architecture (MDA) – MDA Guide rev. 2.0, document – ormsc/14-06-01 (2014).
  10. 10.
    Heinzemann, C.: Verification and simulation of self-adaptive mechatronic systems, Ph.D. thesis, University of Paderborn (2015)Google Scholar
  11. 11.
    Heineman, G.T., Councill, W.T. (eds.): Component-Based Software Engineering: Putting the Pieces Together. Addison-Wesley Longman Publishing Co. Inc, Boston (2001)Google Scholar
  12. 12.
    Group, O.M.: Unified Modeling Language (UML) 2.4.1 Superstructure Specification, document formal/2011-08-06 (2011)Google Scholar
  13. 13.
    Bengtsson, J., Yi, W.: Timed automata: Semantics, algorithms and tools, In: Desel, J., Reisig, W. Rozenberg, G. (Eds.) Lectures on Concurrency and Petri Nets, Vol. 3098 of Lecture Notes in Computer Science, pp. 87–124. Springer, Heidelberg (2004). doi: 10.1007/978-3-540-27755-2_3
  14. 14.
    Gerking, C., Dziwok, S., Heinzemann, C., Schäfer, W.: Domain-specific model checking for cyber-physical systems, In: 12th Workshop on Model-Driven Engineering, Verification and Validation (MoDeVVa 2015), Ottawa (2015)Google Scholar
  15. 15.
    Burmester, S., Giese, H., Oberschelp, O.: Hybrid UML components for the design of complex self-optimizing mechatronic systems, In: Braz, J. Araújo, H. Vieira, A. Encarnação, B. (Eds.) Informatics in Control, Automation and Robotics I, pp. 281–288. Springer, Netherlands (2006). doi: 10.1007/1-4020-4543-3_34
  16. 16.
    Osmic, S., Münch, E., Trächtler, A., Henkler, S., Schäfer, W., Giese, H., Hirsch, M.: Safe online-reconfiguration of self-optimizing mechatronic systems, In: Gausemeier, J., Rammig, F.J., Schäfer, W. (Eds.) Selbstoptimierende mechatronische Systeme: Die Zukunft gestalten. 7. Internationales Heinz Nixdorf Symposium für industrielle Informationstechnik, pp. 411–426. (2008)Google Scholar
  17. 17.
    McKinley, P.K., Sadjadi, S.M., Kasten, E.P., Cheng, B.H.C.: Composing adaptive software. Computer 37(7), 56–64 (2004). doi: 10.1109/mc.2004.48 CrossRefGoogle Scholar
  18. 18.
    Zhang, J., Cheng, B.H.C.: Model-based development of dynamically adaptive software, In: Proceedings of the 28th international Conference on Software Engineering, ICSE ’06, pp. 371–380. ACM, New York, NY (2006). doi: 10.1145/1134285.1134337
  19. 19.
    Tichy, M., Henkler, S., Holtmann, J., Oberthür, S.: Component story diagrams: A transformation language for component structures in mechatronic systems, In: Postproceedings of the 4th Workshop on Object-oriented Modeling of Embedded Real-Time Systems (OMER 4), pp. 27–39 (2008)Google Scholar
  20. 20.
    Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation, Monographs in Theoretical Computer Science. Springer, Berlin (2006). doi: 10.1007/3-540-31188-2 zbMATHGoogle Scholar
  21. 21.
    Garlan, D., Monroe, R.T., Wile, D.: Acme: architectural description of component-based systems. In: Leavens, G.T., Sitaraman, M. (eds.) Foundations of Component-Based Systems, pp. 47–67. Cambridge University Press, New York, NY (2000)Google Scholar
  22. 22.
    Heinzemann, C.: Component story decision diagrams, Tech. Rep. tr-ri-14-335, Software Engineering Group, Heinz Nixdorf Institute, University of Paderborn (2014)Google Scholar
  23. 23.
    Léger, M., Ledoux, T., Coupaye, T.: Reliable dynamic reconfigurations in a reflective component model, In: Grunske, L., Reussner, R., Plášil, F. (Eds.) Component-Based Software Engineering, Vol. 6092 of Lecture Notes in Computer Science, pp. 74–92. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-13238-4_5
  24. 24.
    Heinzemann, C., Sudmann, O., Schäfer, W., Tichy, M.: A discipline-spanning development process for self-adaptive mechatronic systems, in: Proceedings of the 2013 International Conference on Software and System Process, ICSSP 2013, pp. 36–45. ACM, New York, NY (2013). doi: 10.1145/2486046.2486055
  25. 25.
    Bruneton, E., Coupaye, T., Leclercq, M., Quéma, V., Stefani, J.-B.: The FRACTAL component model and its support in Java. Softw. Pract. Exp. 36(11—-12), 1257–1284 (2006). doi: 10.1002/spe.767 CrossRefGoogle Scholar
  26. 26.
    Bennour, B., Henrio, L., Rivera, M.: A reconfiguration framework for distributed components, In: Proceedings of the 2009 ESEC/FSE Workshop on Software Integration and Evolution @ Runtime, SINTER ’09, pp. 49–56. ACM, New York, NY (2009). doi: 10.1145/1596495.1596509
  27. 27.
    Blair, G., Bencomo, N., France, R.B.: Models@ run.time. Computer 42(10), 22–27 (2009). doi: 10.1109/mc.2009.326 CrossRefGoogle Scholar
  28. 28.
    Heinzemann, C., Rieke, J., Schäfer, W.: Simulating self-adaptive component-based systems using MATLAB/Simulink, In: IEEE 7th International Conference on Self-Adaptive and Self-Organizing Systems, SASO ’13, IEEE Computer Society, pp. 71–80. (2013). doi: 10.1109/SASO.2013.17
  29. 29.
    Kramer, J., Magee, J.: Analysing dynamic change in software architectures: A case study, in: Proceedings of the Fourth International Conference on Configurable Distributed Systems, CDS ’98, IEEE Computer Society, pp. 91–100. (1998). doi: 10.1109/CDS.1998.675762
  30. 30.
    Schubert, D., Gerking, C., Heinzemann, C.: Towards safe execution of reconfigurations in cyber-physical systems, In: Proceedings of the 19th International ACM Sigsoft Symposium on Component Based Software Engineering, CBSE ’16 (2016)Google Scholar
  31. 31.
    Priesterjahn, C., Steenken, D., Tichy, M.: Timed hazard analysis of self-healing systems, In: Cámara, J., de Lemos, R., Ghezzi, C., Lopes, A. (Eds.) Assurances for Self-Adaptive Systems, Lecture Notes in Computer Science, vol. 7740, pp. 112–151. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-36249-1_5
  32. 32.
    Ziegert, S., Wehrheim, H.: Temporal plans for software architecture reconfiguration. Comput. Sci. Res. Dev. 30, 1–18 (2014). doi: 10.1007/s00450-014-0259-7 Google Scholar
  33. 33.
    Wilhelm, R., Engblom, J., Ermedahl, A., Holsti, N., Thesing, S., Whalley, D., Bernat, G., Ferdinand, C., Heckmann, R., Mitra, T., Mueller, F., Puaut, I., Puschner, P., Staschulat, J., Stenström, P.: The worst-case execution-time problem–overview of methods and survey of tools. ACM Trans. Embed. Comput. Syst. (TECS) 7(3), 36:1–36:53 (2008). doi: 10.1145/1347375.1347389 Google Scholar
  34. 34.
    Burmester, S., Giese, H., Seibel, A., Tichy, M.: Worst-case execution time optimization of story patterns for hard real-time systems, In: Proceedings of the 3rd International Fujaba Days 2005, pp. 71–78 (2005)Google Scholar
  35. 35.
    Heinzemann, C., Brenner, C., Dziwok, S., Schäfer, W.: Automata-based refinement checking for real-time systems. Comput. Sci. Res. Dev. 30(3–4), 255–283 (2015). doi: 10.1007/s00450-014-0257-9 CrossRefGoogle Scholar
  36. 36.
    Pohlmann, U., Holtmann, J., Meyer, M., Gerking, C.: Generating Modelica models from software specifications for the simulation of cyber-physical systems, In: Proceedings of the 40th Euromicro Conference on Software Engineering and Advanced Applications, SEAA ’14, IEEE Computer Society, pp. 191–198 (2014). doi: 10.1109/SEAA.2014.18
  37. 37.
    Burmester, S., Giese, H., Schäfer, W.: Model-driven architecture for hard real-time systems: From platform independent models to code, In: Hartman, A., Kreische, D. (Eds.) Proceedings of the European Conference on Model Driven Architecture – Foundations and Applications (ECMDA-FA ’05). Lecture Notes in Computer Science, vol. 3748, pp. 25–40. Springer, Heidelberg (2005). doi: 10.1007/11581741_4
  38. 38.
    Pohlmann, U., Meyer, M., Dann, A., Brink, C.: Viewpoints and views in hardware platform modeling for safe deployment, In: Proceedings of the 2nd Workshop on View-Based, Aspect-Oriented and Orthographic Software Modelling, VAO ’14, pp. 23:23–23:30. ACM, New York, NY (2014). doi: 10.1145/2631675.2631682
  39. 39.
    Heinzemann, C., Suck, J., Eckardt, T.: Reachability analysis on timed graph transformation systems, Electron. Commun. EASST 32 Google Scholar
  40. 40.
    Ahmadian, A.S., Aydogan, C., Braun, D., Bustamante, L.G., Gerking, C., Issiz, S., Kopecki, L., Prescher, P.: Developer Documentation of the Project Group SafeBots I. Project group. University of Paderborn, Paderborn (2011)Google Scholar
  41. 41.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (2000)Google Scholar
  42. 42.
    Rensink, A.: Model checking quantified computation tree logic, In: Baier, C., Hermanns, H. (Eds.) CONCUR 2006 – Concurrency Theory, Lecture Notes in Computer Science, vol. 4137, pp. 110–125. Springer, Heidelberg (2006). doi: 10.1007/11817949_8
  43. 43.
    Rensink, A.: Explicit state model checking for graph grammars, In: Degano, P., Nicola, R., Meseguer, J., (Eds.) Concurrency, Graphs and Models, Lecture Notes in Computer Science, vol. 5065, pp. 114–132. Springer, Heidelberg (2008). doi: 10.1007/978-3-540-68679-8_8
  44. 44.
    Suck, J., Heinzemann, C., Schäfer, W.: Formalizing model checking on timed graph transformation systems, Tech. Rep. tr-ri-11-316, Software Engineering Group, Heinz Nixdorf Institute, University of Paderborn, Paderborn (2011)Google Scholar
  45. 45.
    Behrmann, G., David, A., Larsen, K. G., Pettersson, P., Yi, W., Hendriks, M.: Uppaal 4.0, In: Proceedings of the 3rd International Conference on the Quantitative Evaluation of Systems, QEST 2006, IEEE Computer Society, pp. 125–126. Los Alamitos, CA (2006). doi: 10.1109/QEST.2006.59
  46. 46.
    Dziwok, S., Gerking, C., Becker, S., Thiele, S., Heinzemann, C., Pohlmann, U.: A tool suite for the model-driven software engineering of cyber-physical systems, In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE 2014, pp. 715–718. ACM, New York, NY (2014). doi: 10.1145/2635868.2661665
  47. 47.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework. The Eclipse Series, 2nd edn. Addison-Wesley, Boston (2008)Google Scholar
  48. 48.
    Group, O.M.: Object Constraint Language (OCL) 2.3.1, document formal/2012-01-01 (2012).
  49. 49.
    Group, O.M.: Query/View/Transformation (QVT) 1.1, document formal/2011-01-01 (2011).
  50. 50.
    IBM. An architectural blueprint for autonomic computing, Autonomic Computing White Paper, IBM (2006)Google Scholar
  51. 51.
    Bradbury, J.S., Cordy, J.R., Dingel, J., Wermelinger, M.: A survey of self-management in dynamic software architecture specifications, In: Proceedings of the 1st ACM SIGSOFT Workshop on Self-managed Systems, WOSS ’04, pp. 28–33. ACM, New York, NY (2004). doi: 10.1145/1075405.1075411
  52. 52.
    Kallel, S., Kacem, M.H., Jmaiel, M.: Modeling and enforcing invariants of dynamic software architectures. Softw. Syst. Model. 11(1), 127–149 (2012). doi: 10.1007/s10270-010-0162-z CrossRefGoogle Scholar
  53. 53.
    Bartels, B., Kleine, M.: A CSP-based framework for the specification, verification, and implementation of adaptive systems, In: Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS ’11, pp. 158–167. ACM, New York, NY (2011). doi: 10.1145/1988008.1988030
  54. 54.
    Cheng, S.-W., Garlan, D., Schmerl, B.: Evaluating the effectiveness of the Rainbow self-adaptive system, In: ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems, SEAMS ’09, IEEE Computer Society, pp. 132 –141 (2009). doi: 10.1109/seams.2009.5069082
  55. 55.
    De Oliveira, F. A., Ledoux, T., Sharrock, R.: A framework for the coordination of multiple autonomic managers in cloud environments, In: IEEE 7th International Conference on Self-Adaptive and Self-Organizing Systems, SASO’13, IEEE Computer Society, pp. 179–188 (2013). doi: 10.1109/saso.2013.27
  56. 56.
    Edwards, G., Garcia, J., Tajalli, H., Popescu, D., Medvidović, N., Sukhatme, G., Petrus, B.: Architecture-driven self-adaptation and self-management in robotics systems, In: ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems, SEAMS ’09, IEEE Computer Society, pp. 142 –151 (2009). doi: 10.1109/seams.2009.5069083
  57. 57.
    Vromant, P., Weyns, D., Malek, S., Andersson, J.: On interacting control loops in self-adaptive systems, In: Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS ’11, pp. 202–207. ACM, New York, NY (2011). doi: 10.1145/1988008.1988037
  58. 58.
    Vogel, T., Giese, H.: Model-driven engineering of self-adaptive software with EUREMA. ACM Trans. Auton. Adapt. Syst. (TAAS) 8(4), 18:1–18:33 (2014). doi: 10.1145/2555612 Google Scholar
  59. 59.
    Weyns, D., Schmerl, B., Grassi, V., Malek, S., Mirandola, R., Prehofer, C., Wuttke, J., Andersson, J., Giese, H., Göschka, K. M.: On patterns for decentralized control in self-adaptive systems, In: de Lemos, R., Giese, H., Müller, H. A., Shaw, M. (Eds.) Software Engineering for Self-Adaptive Systems II, Lecture Notes in Computer Science, vol. 7475, pp. 76–107. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-35813-5_4
  60. 60.
    Lau, K.-K., Wang, Z.: Software component models. IEEE Trans. Softw. Eng. 33(10), 709–724 (2007). doi: 10.1109/tse.2007.70726 CrossRefGoogle Scholar
  61. 61.
    Crnković, I., Sentilles, S., Vulgarakis, A., Chaudron, M.R.V.: A classification framework for software component models. IEEE Trans. Softw. Eng. 37(5), 593–615 (2011). doi: 10.1109/tse.2010.83 CrossRefGoogle Scholar
  62. 62.
    Oracle, JSR 345: Enterprise JavaBeansTM, Version 3.2, EJB Core Contracts and Requirements (Apr. 2013) (2015).
  63. 63.
    Hošek, P., Pop, T., Bureš, T., Hnětynka, P., Malohlava, M.: Comparison of component frameworks for real-time embedded systems, In: Grunske, L., Reussner, R., Plášil, F. (Eds.) Component Based Software Engineering, Lecture Notes in Compute Science, vol. 6092, pp. 21–36. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-13238-4_2
  64. 64.
    Prochazka, M., Ward, R., Tuma, P., Hnětynka, P., Adamek, J.: A component-oriented framework for spacecraft on-board software, In: Proceedings of DASIA 2008, DAta Systems In Aerospace, Palma de Mallorca, European Space Agency Report Nr. SP-665, (2008)Google Scholar
  65. 65.
    Vulgarakis, A., Suryadevara, J., Carlson, J., Seceleanu, C., Pettersson, P.: Formal semantics of the ProCom real-time component model, In: Proceedings of the 35th Euromicro Conference on Software Engineering and Advanced Applications, SEEA ’09, IEEE Computer Society, pp. 478–485. Los Alamitos, CA (2009). doi: 10.1109/seaa.2009.53
  66. 66.
    Borde, E., Feiler, P.H., Haïk, G., Pautet, L.: Model driven code generation for critical and adaptative embedded systems. SIGBED Rev. 6, 10:1–10:5 (2009). doi: 10.1145/1851340.1851352 CrossRefGoogle Scholar
  67. 67.
    Kim, J.E., Rogalla, O., Kramer, S., Hamann, A.: Extracting, specifying and predicting software system properties in component based real-time embedded software development, In: 31st International Conference on Software Engineering–Companion Volume, IEEE Computer Society, pp. 28–38 (2009). doi: 10.1109/icse-companion.2009.5070961
  68. 68.
    AUTOSAR, AUTOSAR 4.1 - Guide to Modemanagement, document Identification No. 440, Version 2.2.0 (2014).
  69. 69.
    Hirsch, D., Kramer, J., Magee, J., Uchitel, S.: Modes for software architectures, In: Gruhn, V., Oquendo, F. (Eds.) Software Architecture, Lecture Notes in Computer Science, vol. 4344, pp. 113–126. Springer, Heidelberg (2006). doi: 10.1007/11966104_9
  70. 70.
    Hang, Y., Hansson, H.: Handling multiple mode switch scenarios in component-based multi-mode systems, In: Proceedings of the 20th Asia-Pacific Software Engineering Conference, APSEC’13, IEEE Computer Society, vol. 1, pp. 404–413 (2013). doi: 10.1109/apsec.2013.61
  71. 71.
    Adler, R., Schaefer, I., Trapp, M., Poetzsch-Heffter, A.: Component-based modeling and verification of dynamic adaptation in safety-critical embedded systems. ACM Trans. Embed. Comput. Syst. 10(2), 201–2039 (2010). doi: 10.1145/1880050.1880056 CrossRefGoogle Scholar
  72. 72.
    Bureš, T., Gerostathopoulos, I., Hnětynka, P., Keznikl, J., Kit, M., Plášil, F.: DEECo: an ensemble-based component system, In: Proceedings of the 16th International ACM Sigsoft Symposium on Component-Based Software Engineering, CBSE ’13, pp. 81–90. ACM, New York, NY (2013). doi: 10.1145/2465449.2465462
  73. 73.
    De Nicola, R., Ferrari, G., Loreti, M., Pugliese, R.: A language-based approach to autonomic computing, In: Beckert, B., Damiani, F., de Boer, F.S., Bonsangue, M.M.: (Eds.) Formal Methods for Components and Objects, Lecture Notes in Computer Science, vol. 7542, pp. 25–48. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-35887-6_2
  74. 74.
    de Lemos, R., de Castro Guerra, P.A., Rubira, C.M.Fischer: A fault-tolerant architectural approach for dependable systems. IEEE Softw. 23(2), 80–87 (2006). doi: 10.1109/ms.2006.35 CrossRefGoogle Scholar
  75. 75.
    Strunk, E.A., Knight, J.C.: Dependability through assured reconfiguration in embedded system software. IEEE Trans. Dependable Secure Comput. 3(3), 172–187 (2006). doi: 10.1109/tdsc.2006.33 CrossRefGoogle Scholar
  76. 76.
    van Ommering, R., van der Linden, F., Kramer, J., Magee, J.: The Koala component model for consumer electronics software. Computer 33(3), 78–85 (2000). doi: 10.1109/2.825699 CrossRefGoogle Scholar
  77. 77.
    Maaskant, H.: A robust component model for consumer electronic products, In: Stok, P. (Ed.) Dynamic and Robust Streaming in and between Connected Consumer-Electronic Devices, Philips Research Book Series, vol. 3, pp. 167–192. Springer, Netherlands (2005). doi: 10.1007/1-4020-3454-7_7
  78. 78.
    Åkerholm, M., Carlson, J., Fredriksson, J., Hansson, H., Håkansson, J., Möller, A., Pettersson, P., Tivoli, M.: The SAVE approach to component-based development of vehicular systems. J. Syst.Softw. 80(5), 655–667 (2007). doi: 10.1016/j.jss.2006.08.016 CrossRefGoogle Scholar
  79. 79.
    Hänninen, K., Mäki-Turja, J., Nolin, M., Lindberg, M., Lundbäck, J., Lundbäck, K.-L.: The Rubus component model for resource constrained real-time systems, In: 3rd IEEE International Symposium on Industrial Embedded Systems, SIES 2008, IEEE Computer Society, pp. 177–183 (2008). doi: 10.1109/SIES.2008.4577697
  80. 80.
    Ke, X., Sierszecki, K., Angelov, C.: COMDES-II: A component-based framework for generative development of distributed real-time control systems, In: Proceedings of the 13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, RTCSA ’07, IEEE Computer Society, pp. 199–208 (2007). doi: 10.1109/rtcsa.2007.29
  81. 81.
    Genssler, T., Christoph, A., Winter, M., Nierstrasz, O., Ducasse, S., Wuyts, R., Arévalo, G., Schönhage, B., Müller, P., Stich, C.: Components for embedded software: The PECOS approach, In: Proceedings of the 2002 International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, CASES ’02, pp. 19–26. ACM, New York, NY (2002). doi: 10.1145/581630.581634
  82. 82.
    Jan, M., Jouvray, C., Kordon, F., Kung, A., Lalande, J., Loiret, F., Navas, J., Pautet, L., Pulou, J., Radermacher, A., Flex-eware, L.S.: A flexible model driven solution for designing and implementing embedded distributed systems. Softw. Pract. Exp. 42(12), 1467–1494 (2012). doi: 10.1002/spe.1143 CrossRefGoogle Scholar
  83. 83.
    Panunzio, M., Vardanega, T.: A component-based process with separation of concerns for the development of embedded real-time software systems. J. Syst. Softw. 96, 105–121 (2014). doi: 10.1016/j.jss.2014.05.076 CrossRefGoogle Scholar
  84. 84.
    Cuenot, P., Frey, P., Johansson, R., Lönn, H., Papadopoulos, Y., Reiser, M.-O., Sandberg, A., Servat, D., Tavakoli Kolagari, R., Törngren, M., Weber, M.: The EAST-ADL architecture description language for automotive embedded software, In: Giese, H., Karsai, G., Lee, E., Rumpe, B., Schätz, B. (Eds.) Model-Based Engineering of Embedded Real-Time Systems, Lecture Notes in Computer Science, vol. 6100, pp. 297–307. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-16277-0_11
  85. 85.
    Chen, D., Feng, L., Qureshi, T.N., Lönn, H., Hagl, F.: An architectural approach to the analysis, verification and validation of software intensive embedded systems. Computing 95(8), 649–688 (2013). doi: 10.1007/s00607-013-0314-4 MathSciNetCrossRefzbMATHGoogle Scholar
  86. 86.
    Zhang, J., Cheng, B.H.C., Yang, Z., McKinley, P.K.: Enabling safe dynamic component-based software adaptation, In: de Lemos, R., Gacek, C., Romanovsky, A. (Eds.) Architecting Dependable Systems III, Lecture Notes in Computer Science, vol. 3549, pp. 194–211. Springer, Heidelberg (2005). doi: 10.1007/11556169_9
  87. 87.
    Boyer, F., Gruber, O., Pous, D.: Robust reconfigurations of component assemblies, In: Proceedings of the 2013 International Conference on Software Engineering, ICSE ’13, IEEE Computer Society, pp. 13–22. Piscataway, NJ (2013). doi: 10.1109/ICSE.2013.6606547
  88. 88.
    Hnětynka, P., Bureš, T.: Advanced features of hierarchical component models, In: Zendulka, J. (Ed.) Proceedings of the 10th International Conference on Information System Implementation and Modeling, ISIM’07, vol. 252, pp. 1–8 (2007)Google Scholar
  89. 89.
    Shaw, M.: “self-healing”: softening precision to avoid brittleness: position paper for WOSS ’02: workshop on self-healing systems, In: Proceedings of the first workshop on Self-healing systems, WOSS ’02, pp. 111–114. ACM, New York, NY (2002). doi: 10.1145/582128.582152
  90. 90.
    Gausemeier, J., Rammig, F.-J., Schäfer, W. (Eds.) Design Methodology for Intelligent Technical Systems, Lecture Notes in Mechanical Engineering, Springer, Berlin (2014)Google Scholar
  91. 91.
    Priesterjahn, C., Heinzemann, C., Schäfer, W., Tichy, M.: Runtime safety analysis for safe reconfiguration, In: Proceedings of the 3. Workshop ,,Self-X and Autonomous Control in Engineering Applications”, 10. IEEE International Conference on Industrial Informatics, INDIN’12, IEEE Computer Society, pp. 1092 – 1097 (2012). doi: 10.1109/INDIN.2012.6300900
  92. 92.
    Ramirez, A.J., Jensen, A.C., Cheng, B.H.C.: A taxonomy of uncertainty for dynamically adaptive systems, In: Proceedings of the 2012 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems, SEAMS’12, IEEE Computer Society, pp. 99 –108 (2012). doi: 10.1109/seams.2012.6224396

Copyright information

© Springer-Verlag Berlin Heidelberg 2017

Authors and Affiliations

  • Christian Heinzemann
    • 1
  • Steffen Becker
    • 2
  • Andreas Volk
    • 3
  1. 1.Robert Bosch GmbH, Corporate ResearchRenningenGermany
  2. 2.Technical University ChemnitzChemnitzGermany
  3. 3.Bosch SoftTec GmbHHildesheimGermany

Personalised recommendations