Transactional execution of hierarchical reconfigurations in cyber-physical systems

Abstract

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.

This is a preview of subscription content, log in to check access.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21

Notes

  1. 1.

    http://www.railcab.de.

  2. 2.

    http://www.mathworks.com/products/simulink.

  3. 3.

    https://trac.cs.upb.de/mechatronicuml/wiki/PaperCBSE2013.

  4. 4.

    https://trac.cs.upb.de/mechatronicuml.

  5. 5.

    https://trac.cs.upb.de/mechatronicuml/wiki/PaperSEAMS2015.

  6. 6.

    https://trac.cs.upb.de/mechatronicuml/wiki/PaperCBSE2013.

  7. 7.

    http://www.autosar.org.

  8. 8.

    http://kieker-monitoring.net.

References

  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

    Article  Google 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)

  9. 9.

    Group, O.M.: Model Driven Architecture (MDA) – MDA Guide rev. 2.0, document – ormsc/14-06-01 (2014). http://www.omg.org/cgi-bin/doc?ormsc/14-06-01

  10. 10.

    Heinzemann, C.: Verification and simulation of self-adaptive mechatronic systems, Ph.D. thesis, University of Paderborn (2015)

  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)

  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)

  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)

  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

    Article  Google 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)

  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

    Google 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)

  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

    Article  Google 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

    Article  Google 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)

  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)

  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

    Article  Google 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

  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)

  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). http://www.omg.org/spec/OCL/2.3.1/

  49. 49.

    Group, O.M.: Query/View/Transformation (QVT) 1.1, document formal/2011-01-01 (2011). http://www.omg.org/spec/QVT/1.1/

  50. 50.

    IBM. An architectural blueprint for autonomic computing, Autonomic Computing White Paper, IBM (2006)

  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

    Article  Google 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

    Article  Google 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

    Article  Google Scholar 

  62. 62.

    Oracle, JSR 345: Enterprise JavaBeansTM, Version 3.2, EJB Core Contracts and Requirements (Apr. 2013) (2015). http://download.oracle.com/otn-pub/jcp/ejb-3_2-fr-eval-spec/ejb-3_2-core-fr-spec.pdf

  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)

  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

    Article  Google 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). http://www.autosar.org/fileadmin/files/releases/4-1/software-architecture/system-services/auxiliary/AUTOSAR_EXP_ModemanagementGuide.pdf

  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

    Article  Google 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

    Article  Google 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

    Article  Google 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

    Article  Google 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

    Article  Google 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

    Article  Google 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

    Article  Google 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

    MathSciNet  Article  MATH  Google 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, CEUR-WS.org. vol. 252, pp. 1–8 (2007)

  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)

  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

Download references

Acknowledgements

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.

Author information

Affiliations

Authors

Corresponding author

Correspondence to Christian Heinzemann.

Additional information

Communicated by Dr. ’ F. Ciccozzi, J. Carlson, P. Pelliccione, and M. Tivoli.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Heinzemann, C., Becker, S. & Volk, A. Transactional execution of hierarchical reconfigurations in cyber-physical systems. Softw Syst Model 18, 157–189 (2019). https://doi.org/10.1007/s10270-017-0583-z

Download citation

Keywords

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