Four Exercises in Programming Dynamic Reconfigurable Systems: Methodology and Solution in DR-BIP

DR-BIP is an extension of the BIP component framework intended for programming reconfigurable systems encompassing various aspects of dynamism. A system is built from instances of types of components characterized by their interfaces. The latter consist of sets of ports through which data can be exchanged when interactions take place. DR-BIP allows the description of parametric exogenous interactions and reconfiguration operations. To naturally model self-organization and mobility of components, a system is composed of several architecture motifs, each motif consisting of a set of component instances and coordination rules. The use of motifs allows a disciplined management of dynamically changing coordination rules. The paper illustrates the basic concepts of DR-BIP through a collection of four non-trivial exercises from different application areas: fault-tolerant systems, mobile systems and autonomous systems. The presented solutions show that DR-BIP is both minimal and expressive allowing concise and natural description of non-trivial systems.

[1]  Tommi Mikkonen,et al.  Liquid Software Manifesto: The Era of Multiple Device Ownership and Its Implications for Software Architecture , 2014, 2014 IEEE 38th Annual Computer Software and Applications Conference.

[2]  Bernhard Rumpe,et al.  A Classification of Dynamic Reconfiguration in Component and Connector Architecture Description , 2017, MoDELS.

[3]  Joseph Sifakis,et al.  DReAM: Dynamic Reconfigurable Architecture Modeling , 2018, ISoLA.

[4]  Joseph Sifakis,et al.  A general framework for architecture composability , 2014, Formal Aspects of Computing.

[5]  Joseph Sifakis,et al.  Modeling Heterogeneous Real-time Components in BIP , 2006, Fourth IEEE International Conference on Software Engineering and Formal Methods (SEFM'06).

[6]  Joseph Sifakis,et al.  DReAM: Dynamic Reconfigurable Architecture Modeling (full paper) , 2018, ArXiv.

[7]  Joseph Sifakis,et al.  Rigorous Component-Based System Design Using the BIP Framework , 2011, IEEE Software.

[8]  Rocco De Nicola,et al.  A Formal Approach to Autonomic Systems Programming: The SCEL Language , 2014, TAAS.

[9]  Carl Bergenhem,et al.  Approaches for Facilities Layer Protocols for Platooning , 2015, 2015 IEEE 18th International Conference on Intelligent Transportation Systems.

[10]  Pablo de la Fuente,et al.  Dynamic coordination architecture through the use of reflection , 2001, SAC.

[11]  Joseph Sifakis,et al.  Programming Dynamic Reconfigurable Systems , 2018, FACS.

[12]  David Garlan,et al.  Specifying and Analyzing Dynamic Software Architectures , 1998, FASE.

[13]  Henry Muccini,et al.  What Industry Needs from Architectural Languages: A Survey , 2013, IEEE Transactions on Software Engineering.

[14]  Peyman Oreizy Issues in Modeling and Analyzing Dynamic Software Architectures , 1998 .

[15]  David Garlan,et al.  Software architecture: a travelogue , 2014, FOSE.

[16]  Nenad Medvidovic Moving Architectural Description from Under the Technology Lamppost , 2006, EUROMICRO-SEAA.

[17]  Carlo Pinciroli,et al.  Buzz: An Extensible Programming Language for Self-Organizing Heterogeneous Robot Swarms , 2015, ArXiv.

[18]  Joseph Sifakis,et al.  The Algebra of Connectors - Structuring Interaction in BIP , 2008, IEEE Trans. Computers.

[19]  Juan C. Burguillo,et al.  Fostering Cooperation through Dynamic Coalition Formation and Partner Switching , 2014, TAAS.

[20]  José M. Troya,et al.  Specification and Refinement of Dynamic Software Architectures , 1999, WICSA.

[21]  Jeremy S. Bradbury Organizing Definitions and Formalisms for Dynamic Software Architectures , 2004 .

[22]  Joseph Sifakis,et al.  Modeling Dynamic Architectures Using Dy-BIP , 2012, SC@TOOLS.

[23]  Joseph Sifakis,et al.  DR-BIP-Programming Dynamic Reconfigurable Systems , 2018 .

[24]  Marco Dorigo,et al.  Teamwork in Self-Organized Robot Colonies , 2009, IEEE Transactions on Evolutionary Computation.

[25]  Carlo Pinciroli,et al.  Buzz: An extensible programming language for heterogeneous swarm robotics , 2016, 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).