A declarative formal approach to dynamic reconfiguration

Self-adapting software adapts its behavior in an autonomic way, by dynamically adding, suppressing and recomposing components, and by the use of computational reflection. One way to enforce software robustness while adding adaptative behavior is disposing of a formal support allowing these programs to be modeled, and their properties specified and verified. We propose FracL, a formal framework for specifying and reasoning about dynamic reconfiguration programs written in a Fractal-like programming style. FracL is founded on first-order logic, and allows the specification and proof of properties concerning both functional concerns and control concerns. Its encoding using the Focal proof framework, enable us to prove FracL soundness and to obtain a mechanized framework for reasoning on concrete architectures.

[1]  David Garlan,et al.  Analyzing architectural styles with alloy , 2006, ROSATEA '06.

[2]  Damien Doligez,et al.  Zenon : An Extensible Automated Theorem Prover Producing Checkable Proofs , 2007, LPAR.

[3]  Ludovic Henrio,et al.  Behavioural models for distributed Fractal components , 2009, Ann. des Télécommunications.

[4]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[5]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java: Experiences with Auto-adaptive and Reconfigurable Systems , 2006 .

[6]  Kevin J. Sullivan,et al.  Analysis of a Conflict between Aggregation and Interface Negotiation in Microsoft's Component Object Model , 1999, IEEE Trans. Software Eng..

[7]  Jürgen Dingel,et al.  A survey of self-management in dynamic software architecture specifications , 2004, WOSS '04.

[8]  Marianne Simonot,et al.  Une approche formelle de la reconfiguration dynamique , 2008, Obj. Logiciel Base données Réseaux.

[9]  Kevin J. Sullivan,et al.  COM revisited: tool-assisted modelling of an architectural framework , 2000, SIGSOFT '00/FSE-8.

[10]  Ralph-Johan Back Incremental Software Construction with Refinement Diagrams , 2006, AMAST.

[11]  Jamie Hillman,et al.  An open framework for dynamic reconfiguration , 2002, Proceedings. 26th International Conference on Software Engineering.

[12]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[13]  Jifeng He,et al.  Mathematical frameworks for component software : models for analysis and synthesis , 2006 .

[14]  Julia L. Lawall,et al.  Proceedings of the 2002 Usenix Annual Technical Conference Think: a Software Framework for Component-based Operating System Kernels , 2022 .

[15]  S. Griffis EDITOR , 1997, Journal of Navigation.

[16]  Arnaud Lanoix,et al.  How to Verify and Exploit a Refinement of Component-Based Systems , 2006, Ershov Memorial Conference.

[17]  Bertrand Meyer,et al.  The grand challenge of trusted components , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[18]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java , 2006, Softw. Pract. Exp..

[19]  Yves Bertot,et al.  Interactive Theorem Proving and Program Development: Coq'Art The Calculus of Inductive Constructions , 2010 .

[20]  Thérèse Hardin,et al.  Building certified components within FOCAL , 2004, Trends in Functional Programming.

[21]  Maritta Heisel,et al.  Enhancing Dependability of Component-Based Systems , 2007, Ada-Europe.

[22]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[23]  Philippe Merle,et al.  A formal specification of the Fractal component model in Alloy , 2008 .

[24]  Thomas Ledoux,et al.  Safe Dynamic Reconfigurations of Fractal Architectures with FScript , 2006 .

[25]  Benjamin C. Pierce,et al.  Types and programming languages: the next generation , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

[26]  Noel De Palma,et al.  Autonomic Management of Clustered Applications , 2006, 2006 IEEE International Conference on Cluster Computing.

[27]  Jeff Magee,et al.  Modelling a Framework for Plugins , 2003 .

[28]  Alan Schmitt,et al.  The Kell Calculus: A Family of Higher-Order Distributed Process Calculi , 2004, Global Computing.

[29]  Pierre Castéran,et al.  Interactive Theorem Proving and Program Development , 2004, Texts in Theoretical Computer Science An EATCS Series.

[30]  Jean-Marc Jézéquel,et al.  Making Components Contract Aware , 1999, Computer.

[31]  Vivien Quéma,et al.  DREAM: a component framework for the construction of resource-aware, reconfigurable MOMs , 2004, ARM '04.

[32]  Jamie Hillman,et al.  An open framework for dynamic reconfiguration , 2004, ICSE 2004.

[33]  하수철,et al.  [서평]「Component Software」 - Beyond Object-Oriented Programming - , 2000 .

[34]  Vivien Quéma,et al.  Supporting Heterogeneous Architecture Descriptions in an Extensible Toolset , 2007, 29th International Conference on Software Engineering (ICSE'07).

[35]  Seyed Masoud Sadjadi,et al.  Composing adaptive software , 2004, Computer.