A Logical Framework for Monitoring and Evolving Software Components

We present a revision-based logical framework for modelling hierarchical assemblies of evolvable component systems. An evolvable component is a tight coupling of a pair of components, consisting of a supervisor and a supervisee, with the supervisor able to both monitor and evolve its supervisee. An evolvable component pair is itself a component so may have its own supervisor, or may be encapsulated as part of a larger component. Components are modelled as logical theories containing actions which describe state revisions. Supervisor components are modelled as theories which are logically at a meta-level to their supervisee. Revision actions at the meta-level describe theory changes in the supervisee at the object-level. These correspond to various evolutionary changes in the component. We present this framework and show how it enables us to describe the architecture and logical structure of evolvable systems.

[1]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[2]  Dov M. Gabbay,et al.  MetateM: An introduction , 1995, Formal Aspects of Computing.

[3]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[4]  Norman W. Paton,et al.  A Foundation for the Replacement of Pipelined Physical Join Operators in Adaptive Query Processing , 2006, EDBT Workshops.

[5]  Grigore Rosu,et al.  Towards Monitoring-Oriented Programming: A Paradigm Combining Specification and Implementation , 2003, RV@CAV.

[6]  C. Caleiro,et al.  Fibring Logics∗ , 2009 .

[7]  Meir M. Lehman,et al.  Software evolution - Background, theory, practice , 2003, Inf. Process. Lett..

[8]  R. Morrison,et al.  A software architecture approach for structuring autonomic systems , 2005 .

[9]  P.J. Antsaklis,et al.  Supervisory control of hybrid systems , 2000, Proceedings of the IEEE.

[10]  Richard Fikes,et al.  STRIPS: A New Approach to the Application of Theorem Proving to Problem Solving , 1971, IJCAI.

[11]  Terry Winograd,et al.  Understanding natural language , 1974 .

[12]  John McCarthy,et al.  SOME PHILOSOPHICAL PROBLEMS FROM THE STANDPOINT OF ARTI CIAL INTELLIGENCE , 1987 .

[13]  Yu Guo,et al.  First Joint IEEE/IFIP Symposium on Theoretical Aspects of Software Engineering, TASE 2007, June 5-8, 2007, Shanghai, China , 2007, TASE.

[14]  Brian Demsky Data structure repair using goal-directed reasoning , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[15]  A. Robinson I. Introduction , 1991 .

[16]  Dov M. Gabbay,et al.  A revision-based logical framework for evolvable software , 2007, ICSE 2007.

[17]  Amy L. Lansky,et al.  Reactive Reasoning and Planning , 1987, AAAI.

[18]  Howard Barringer,et al.  Modelling Evolvable Systems: A Temporal Logic View , 2005, We Will Show Them!.

[19]  Bonnie Lynn Webber,et al.  Natural Language I , 1989, HLT.