Abstract
Modern systems evolve in unpredictable environments and have to continuously adapt their behavior to changing conditions. The “DReAM” (Dynamic Reconfigurable Architecture Modeling) framework, has been designed for modeling reconfigurable dynamic systems. It provides a rule-based language, inspired from Interaction Logic, expressive and easy to use, and encompassing all aspects of dynamicity including parametric multi-modal coordination with creation/deletion of components as well as mobility. Additionally, it allows the description of both endogenous/modular and exogenous/centralized coordination styles and sound transformations from one style to the other. The DReAM framework is implemented in the form of a Java API bundled with an execution engine. It allows to develop runnable systems combining the expressiveness of the rule-based notation together with the flexibility of this widespread programming language.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Components \(B_j\) not “actively” involved in the interaction will participate with their \(idle_{}\) port s.t. \(s'_j = s_j\).
- 2.
For the sake of conciseness, from now on we will omit the conjunction operator on monomials.
- 3.
Notice that when writing e.g. c.s we are omitting the explicit reference to the component type b and using a shorter notation compared to the complete one, e.g. b.c.s.
References
Garlan, D.: Software architecture: a travelogue. In: Proceedings of the on Future of Software Engineering, pp. 29–39. ACM (2014)
Taivalsaari, A., Mikkonen, T., Systä, K.: Liquid software manifesto: the era of multiple device ownership and its implications for software architecture. In: Proceedings of the 38th Computer Software and Applications Conference, pp. 338–343. IEEE (2014)
Bradbury, J.S.: Organizing definitions and formalisms for dynamic software architectures. Technical report, vol. 477 (2004)
Oreizy, P., et al.: Issues in modeling and analyzing dynamic software architectures. In: Proceedings of the International Workshop on the Role of Software Architecture in Testing and Analysis, pp. 54–57 (1998)
Malavolta, I., Lago, P., Muccini, H., Pelliccione, P., Tang, A.: What industry needs from architectural languages: a survey. IEEE Trans. Softw. Eng. 39(6), 869–891 (2013)
Butting, A., Heim, R., Kautz, O., Ringert, J.O., Rumpe, B., Wortmann, A.: A classification of dynamic reconfiguration in component and connector architecture description languages. In: Pre-proceedings of the 4th International Workshop on Interplay of Model-Driven and Component-Based Software Engineering, p. 13 (2017)
Medvidovic, N., Dashofy, E.M., Taylor, R.N.: Moving architectural description from under the technology lamppost. Inf. Softw. Technol. 49(1), 12–31 (2007)
Bliudze, S., Sifakis, J.: The algebra of connectors - structuring interaction in BIP. IEEE Trans. Comput. 57(10), 1315–1330 (2008)
De Nicola, R., Maggi, A., Sifakis, J.: Dream: Dynamic reconfigurable architecture modeling, arXiv preprint: http://arxiv.org/abs/1805.03724 (2018)
Bozga, M., Jaber, M., Maris, N., Sifakis, J.: Modeling dynamic architectures using Dy-BIP. In: Gschwind, T., De Paoli, F., Gruhn, V., Book, M. (eds.) SC 2012. LNCS, vol. 7306, pp. 1–16. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-30564-1_1
Milner, R.: A Calculus of Communicating Systems. Springer, Heidelberg (1980). https://doi.org/10.1007/3-540-10235-3
Brookes, S.D., Hoare, C.A., Roscoe, A.W.: A theory of communicating sequential processes. J. ACM 31(3), 560–599 (1984)
Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, I. Inf. Comput. 100(1), 1–40 (1992)
Alrahman, Y.A., De Nicola, R., Loreti, M.: On the power of attribute-based communication. In: Proceedings of the Formal Techniques for Distributed Objects, Components, and Systems - FORTE 2016–36th IFIP WG 6.1 Inernational Conference, pp. 1–18 (2016)
Pinciroli, C., Lee-Brown, A., Beltrame, G.: Buzz: An extensible programming language for self-organizing heterogeneous robot swarms, arXiv preprint arXiv:1507.05946 (2015)
Pinciroli, C., Beltrame, G.: Buzz: an extensible programming language for heterogeneous swarm robotics. In: 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 3794–3800. IEEE (2016)
Bruni, R., Lafuente, A.L., Montanari, U., Tuosto, E.: Style based reconfigurations of software architectures. Universita di Pisa, Technical report TR-07-17 (2007)
Bruni, R., Lluch-Lafuente, A., Montanari, U.: Hierarchical design rewriting with Maude. Electron. Notes Theor. Comput. Sci. 238(3), 45–62 (2009)
El Ballouli, R., Bensalem, S., Bozga, M., Sifakis, J.: Four exercises in programming dynamic reconfigurable systems: methodology and solution in DR-BIP. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11246, pp. 304–320. Springer, Cham (2018)
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
De Nicola, R., Maggi, A., Sifakis, J. (2018). DReAM: Dynamic Reconfigurable Architecture Modeling. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation. Distributed Systems. ISoLA 2018. Lecture Notes in Computer Science(), vol 11246. Springer, Cham. https://doi.org/10.1007/978-3-030-03424-5_2
Download citation
DOI: https://doi.org/10.1007/978-3-030-03424-5_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-03423-8
Online ISBN: 978-3-030-03424-5
eBook Packages: Computer ScienceComputer Science (R0)