A Language-Based Approach to Autonomic Computing

SCEL is a new language specifically designed to model autonomic components and their interaction. It brings together various programming abstractions that permit to directly represent knowledge, behaviors and aggregations according to specific policies. It also supports naturally programming self-awareness, context-awareness, and adaptation. In this paper, we first present design principles, syntax and operational semantics of SCEL. Then, we show how a dialect can be defined by appropriately instantiating the features of the language we left open to deal with different application domains and use this dialect to model a simple, yet illustrative, example application. Finally, we demonstrate that adaptation can be naturally expressed in SCEL.

[1]  Davide Sangiorgi,et al.  Towards a Calculus For Wireless Systems , 2006, MFPS.

[2]  Ming Zhang,et al.  Autonomia: an autonomic computing environment , 2003, Conference Proceedings of the 2003 IEEE International Performance, Computing, and Communications Conference, 2003..

[3]  Dave Clarke,et al.  How should context-escaping closures proceed? , 2009, COP@ECOOP.

[4]  Pascal Fradet,et al.  Chemical Specification of Autonomic Systems , 2004, IASSE.

[5]  Daniele Gorla,et al.  Dynamic management of capabilities in a network aware coordination language , 2009, J. Log. Algebraic Methods Program..

[6]  Rocco De Nicola,et al.  A Flexible and Modular Framework for Implementing Infrastructures for Global Computing , 2005, DAIS.

[7]  Gul Agha,et al.  Formal Modeling: Actors, Open Systems, Biological Systems , 2011, Lecture Notes in Computer Science.

[8]  R L Rumpf,et al.  Software Intensive Systems , 2006 .

[9]  David Sinreich,et al.  An architectural blueprint for autonomic computing , 2006 .

[10]  Perdita Stevens,et al.  Modelling Recursive Calls with UML State Diagrams , 2003, FASE.

[11]  Krzysztof R. Apt,et al.  Logic Programming , 1990, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[12]  Atsushi Igarashi,et al.  ContextFJ: a minimal core calculus for context-oriented programming , 2011, FOAL.

[13]  Matteo Pradella,et al.  Context-Oriented Programming: A Programming Paradigm for Autonomic Systems , 2011, ArXiv.

[14]  Luciano Baresi,et al.  Towards decentralized self-adaptive component-based systems , 2008, SEAMS '08.

[15]  Gordon D. Plotkin,et al.  The origins of structural operational semantics , 2004, J. Log. Algebraic Methods Program..

[16]  Philip Wadler,et al.  Featherweight Java: a minimal core calculus for Java and GJ , 1999, OOPSLA '99.

[17]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

[18]  Zhen Li,et al.  Rudder: An agent-based infrastructure for autonomic composition of grid applications , 2005, Multiagent Grid Syst..

[19]  Oscar Nierstrasz,et al.  Context-oriented Programming , 2008, J. Object Technol..

[20]  Rocco De Nicola,et al.  On the Expressive Power of Klaim-based Calculi , 2004, EXPRESS.

[21]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[22]  Franco Zambonelli,et al.  ASCENS: Engineering Autonomic Service-Component Ensembles , 2011, FMCO.

[23]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[24]  Roberto Bruni,et al.  A Conceptual Framework for Adaptation , 2012, FASE.

[25]  Rocco De Nicola,et al.  KLAIM: A Kernel Language for Agents Interaction and Mobility , 1998, IEEE Trans. Software Eng..

[26]  Vadim E. Levit,et al.  Graph Theory, Computational Intelligence and Thought, Essays Dedicated to Martin Charles Golumbic on the Occasion of His 60th Birthday , 2009, Graph Theory, Computational Intelligence and Thought.

[27]  Gian Luigi Ferrari,et al.  Types for Coordinating Secure Behavioural Variations , 2012, COORDINATION.

[28]  Martin Wirsing,et al.  Software Engineering for Ensembles , 2008, Software-Intensive Systems and New Computing Paradigms.

[29]  Hélène Kirchner,et al.  A Higher-Order Graph Calculus for Autonomic Computing , 2009, Graph Theory, Computational Intelligence and Thought.

[30]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[31]  Martin Wirsing,et al.  Software-Intensive Systems and New Computing Paradigms - Challenges and Visions , 2008, Software-Intensive Systems and New Computing Paradigms.

[32]  Seth Copen Goldstein,et al.  Meld: A declarative approach to programming ensembles , 2007, 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[33]  C. R. Ramakrishnan,et al.  A process calculus for Mobile Ad Hoc Networks , 2010, Sci. Comput. Program..

[34]  Peter J. Haas,et al.  Distinct-value synopses for multiset operations , 2009, CACM.

[35]  Ion Stoica,et al.  Declarative networking , 2009, Commun. ACM.

[36]  Seth Copen Goldstein,et al.  A Language for Large Ensembles of Independently Executing Nodes , 2009, ICLP.

[37]  Martin Wirsing,et al.  Towards a System Model for Ensembles , 2011, Formal Modeling: Actors, Open Systems, Biological Systems.