A Formal Approach to Autonomic Systems Programming
Top Cited Papers
- 1 July 2014
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Autonomous and Adaptive Systems
- Vol. 9 (2), 1-29
- https://doi.org/10.1145/2619998
Abstract
The autonomic computing paradigm has been proposed to cope with size, complexity, and dynamism of contemporary software-intensive systems. The challenge for language designers is to devise appropriate abstractions and linguistic primitives to deal with the large dimension of systems and with their need to adapt to the changes of the working environment and to the evolving requirements. We propose a set of programming abstractions that permit us to represent behaviors, knowledge, and aggregations according to specific policies and to support programming context-awareness, self-awareness, and adaptation. Based on these abstractions, we define SCEL (Software Component Ensemble Language), a kernel language whose solid semantic foundations lay also the basis for formal reasoning on autonomic systems behavior. To show expressiveness and effectiveness of SCEL;’s design, we present a Java implementation of the proposed abstractions and show how it can be exploited for programming a robotics scenario that is used as a running example for describing the features and potential of our approach.Keywords
Funding Information
- Ministero dell'Istruzione, dell'Università e della Ricerca
- Seventh Framework Programme
This publication has 29 references indexed in Scilit:
- Context-oriented programming: A software engineering perspectiveJournal of Systems and Software, 2012
- Large-scale complex IT systemsCommunications of the ACM, 2012
- A process calculus for Mobile Ad Hoc NetworksScience of Computer Programming, 2010
- Declarative networkingCommunications of the ACM, 2009
- Programming pervasive and mobile computing applicationsACM Transactions on Software Engineering and Methodology, 2009
- Context-oriented Programming.The Journal of Object Technology, 2008
- The FRACTAL component model and its support in JavaSoftware: Practice and Experience, 2006
- Towards a Calculus For Wireless SystemsElectronic Notes in Theoretical Computer Science, 2006
- The vision of autonomic computingComputer, 2003
- KLAIM: a kernel language for agents interaction and mobilityIEEE Transactions on Software Engineering, 1998