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.
- Gul A. Agha. 1990. ACTORS—A Model of Concurrent Computation in Distributed Systems. MIT Press. I--IX, 1--144 pages. Google Scholar
Digital Library
- Oana Andrei and Hélène Kirchner. 2009. A higher-order graph calculus for autonomic computing. In Graph Theory, Computational Intelligence and Thought. Springer, 15--26. Google Scholar
Digital Library
- Tomoyuki Aotani, Tetsuo Kamina, and Hidehiko Masuhara. 2011. Featherweight EventCJ: A core calculus for a context-oriented language with event-based per-instance layer transition. In COP. ACM, 1:1--1:7. Google Scholar
Digital Library
- Malte Appeltauer, Robert Hirschfeld, Michael Haupt, Jens Lincke, and Michael Perscheid. 2009. A comparison of context-oriented programming languages. In COP. ACM, 6:1--6:6. Google Scholar
Digital Library
- Michael P. Ashley-Rollman, Seth Copen Goldstein, Peter Lee, Todd C. Mowry, and Padmanabhan Pillai. 2007. Meld: A declarative approach to programming ensembles. In IROS. IEEE, 2794--2800.Google Scholar
- Michael P. Ashley-Rollman, Peter Lee, Seth Copen Goldstein, Padmanabhan Pillai, and Jason Campbell. 2009. A language for large ensembles of independently executing nodes. In ICLP (LNCS 5649). Springer, 265--280. Google Scholar
Digital Library
- Jean-Pierre Banâtre, Yann Radenac, and Pascal Fradet. 2004. Chemical specification of autonomic systems. In IASSE. ISCA, 72--79.Google Scholar
- Fabio L. Bellifemine, Giovanni Caire, and Dominic Greenwood. 2007. Developing Multi-Agent Systems with JADE. John Wiley & Sons. Google Scholar
Digital Library
- Rafael H. Bordini, Jomi F. Hübner, and Renata Vieira. 2005. Jason and the golden fleece of agent-oriented programming. In Multi-Agent Programming. Multiagent Systems, Artificial Societies, and Simulated Organizations, Vol. 15. Springer, 3--37.Google Scholar
- Eric Bruneton, Thierry Coupaye, Matthieu Leclercq, Vivien Quéma, and Jean-Bernard Stefani. 2006. The FRACTAL component model and its support in Java. Softw. Pract. Exper. 36, 11--12 (2006), 1257--1284. Google Scholar
Digital Library
- Roberto Bruni, Andrea Corradini, Fabio Gadducci, Alberto Lluch-Lafuente, and Andrea Vandin. 2012. A conceptual framework for adaptation. In FASE (LNCS 7212). Springer, 240--254. Google Scholar
Digital Library
- Miguel Castro, Peter Druschel, Anne-Marie Kermarrec, and Antony I. T. Rowstron. 2003. Scalable application-level anycast for highly dynamic groups. In ICQT (LNCS 2816). Springer, 47--57.Google Scholar
- Dave Clarke, Pascal Costanza, and Éric Tanter. 2009. How should context-escaping closures proceed?. In COP. ACM, 1:1--1:6. Google Scholar
Digital Library
- Paolo Costa, Luca Mottola, Amy L. Murphy, and GianPietro Picco. 2009. Tuple space middleware for wireless networks. In Middleware for Network Eccentric and Mobile Applications. Springer, 245--264.Google Scholar
- Mehdi Dastani. 2008. 2APL: A practical agent programming language. Autonomous Agents and Multi-Agent Systems 16, 3 (2008), 214--248. Google Scholar
Digital Library
- Rocco De Nicola, GianLuigi Ferrari, Michele Loreti, and Rosario Pugliese. 2012. A language-based approach to autonomic computing. In FMCO 2011 (LNCS 7542). Springer, 25--48.Google Scholar
- Rocco De Nicola, GianLuigi Ferrari, and Rosario Pugliese. 1998. KLAIM: A kernel language for agents interaction and mobility. IEEE Trans. Software Eng. 24, 5 (1998), 315--330. Google Scholar
Digital Library
- Rocco De Nicola, Michele Loreti, Rosario Pugliese, and Francesco Tiezzi. 2013. SCEL: A Language for Autonomic Computing. Technical Report. Available at http://rap.dsi.unifi.it/scel/pdf/SCEL-TR.pdf.Google Scholar
- Pierpaolo Degano, GianLuigi Ferrari, Letterio Galletta, and Gianluca Mezzetti. 2012. Types for coordinating secure behavioural variations. In COORDINATION (LNCS 7274). Springer, 261--276. Google Scholar
Digital Library
- Edmond Gjondrekaj, Michele Loreti, Rrosario Pugliese, and Francesco Tiezzi. 2012. Modeling adaptation with a tuple-based coordination language. In Proceedings of the ACM Symposium on Applied Computing (SAC’12), Sascha Ossowski and Paola Lecca (Eds.). ACM, 1522--1527. Google Scholar
Digital Library
- Robert Hirschfeld, Pascal Costanza, and Oscar Nierstrasz. 2008. Context-oriented programming. J. Object Technol. 7, 3 (2008), 125--151.Google Scholar
Cross Ref
- Robert Hirschfeld, Atsushi Igarashi, and Hidehiko Masuhara. 2011. ContextFJ: A minimal core calculus for context-oriented programming. In FOAL. ACM, 19--23. Google Scholar
Digital Library
- IBM. 2005. An Architectural Blueprint for Autonomic Computing (3rd ed). Technical Report.Google Scholar
- Jeffrey O. Kephart and David M. Chess. 2003. The vision of autonomic computing. Computer 36, 1 (2003), 41--50. Google Scholar
Digital Library
- Narges Khakpour, Saeed Jalili, Carolyn L. Talcott, Marjan Sirjani, and Mohammad Reza Mousavi. 2012. Formal modeling of evolving self-adaptive systems. Sci. Comput. Program. 78, 1 (2012), 3--26. Google Scholar
Digital Library
- Boon Thau Loo, Tyson Condie, Minos Garofalakis, David E. Gay, Joseph M. Hellerstein, Petros Maniatis, Raghu Ramakrishnan, Timothy Roscoe, and Ion Stoica. 2009. Declarative networking. Commun. ACM 52, 11 (2009), 87--95. Google Scholar
Digital Library
- Marco Mamei and Franco Zambonelli. 2009. Programming pervasive and mobile computing applications: The TOTA approach. ACM Trans. Softw. Eng. Methodol. 18, 4 (2009). Google Scholar
Digital Library
- P. K. McKinley, S. M. Sadjadi, E. P. Kasten, and B. H. C. Cheng. 2004. Composing adaptive software. Computer 37, 7 (2004), 56--64. Google Scholar
Digital Library
- Nicola Mezzetti and Davide Sangiorgi. 2006. Towards a calculus for wireless systems. Electr. Notes Theor. Comput. Sci. 158 (2006), 331--353. Google Scholar
Digital Library
- Robin Milner. 1989. Communication and Concurrency. Prentice Hall. I--XI, 1--260 pages. Google Scholar
Digital Library
- Luca Mottola and Gian Pietro Picco. 2006. Logical neighborhoods: A programming abstraction for wireless sensor networks. In DCOSS (LNCS 4026). Springer, 150--168. Google Scholar
Digital Library
- Luca Mottola and Gian Pietro Picco. 2012. Middleware for wireless sensor networks: an outlook. J. Internet Serv. Appl. 3, 1 (2012), 31--39.Google Scholar
Cross Ref
- NIST. 2009. A Survey of Access Control Models. Available at http://csrc.nist.gov/news_events/privilege- management-workshop/PvM-Model-Survey-Aug26-2009.pdf.Google Scholar
- Erik Nordström, Per Gunningberg, and Christian Rohner. 2009. A Search-based Network Architecture for Mobile Devices. Technical Report 2009-003. Uppsala University, Computer Systems.Google Scholar
- OASIS-TC. 2005. eXtensible Access Control Markup Language (XACML) version 2.0. Available at http://docs.oasis-open.org/xacml/2.0/XACML-2.0-OS-NORMATIVE.zip.Google Scholar
- Gordon D. Plotkin. 2004. A structural approach to operational semantics. J. Log. Algebr. Program. 60--61 (2004), 17--139.Google Scholar
- Project InterLink. 2007. Homepage. Available at http://interlink.ics.forth.gr. (2007).Google Scholar
- Anand S. Rao. 1996. AgentSpeak(L): BDI agents speak out in a logical computable language. In MAAMAW (LNCS 1038). Springer, 42--55. Google Scholar
Digital Library
- Antony I. T. Rowstron and Peter Druschel. 2001. Pastry: Scalable, decentralized object location, and routing for large-scale peer-to-peer systems. In Middleware (LNCS 2218). Springer, 329--350. Google Scholar
Digital Library
- Guido Salvaneschi, Carlo Ghezzi, and Matteo Pradella. 2011. Context-Oriented programming: A programming paradigm for autonomic systems. CoRR abs/1105.0069 (2011).Google Scholar
- Guido Salvaneschi, Carlo Ghezzi, and Matteo Pradella. 2012. Context-oriented programming: A software engineering perspective. J. Syst. Softw. 85, 8 (2012), 1801--1817. Google Scholar
Digital Library
- Anu Singh, C. R. Ramakrishnan, and Scott A. Smolka. 2010. A process calculus for mobile ad hoc networks. Sci. Comput. Program. 75, 6 (2010), 440--469. Google Scholar
Digital Library
- Ian Sommerville, Dave Cliff, Radu Calinescu, Justin Keen, Tim Kelly, Marta Z. Kwiatkowska, John A. McDermid, and Richard F. Paige. 2012. Large-scale complex IT systems. Commun. ACM 55, 7 (2012), 71--77. Google Scholar
Digital Library
- Michael Winikoff. 2005. JACK#8482; intelligent agents: An industrial strength platform. In Multi-Agent Programming. Multiagent Systems, Artificial Societies, and Simulated Organizations, Vol. 15. Springer, 175--193.Google Scholar
Index Terms
A Formal Approach to Autonomic Systems Programming: The SCEL Language
Recommendations
Developing autonomic properties for distributed pattern-recognition systems with ASSL: A Distributed MARF case study
Transactions on Computational Science XVWe discuss our research towards developing special properties that introduce autonomic behavior in distributed pattern-recognition systems. In our approach we use ASSL (Autonomic System Specification Language) to formally develop such properties for ...
Autonomic specification of self-protection for distributed MARF with ASSL
C3S2E '09: Proceedings of the 2nd Canadian Conference on Computer Science and Software EngineeringThis paper presents practical results of our endeavor towards formal specification and code generation of the Autonomic Distributed Modular Audio Recognition Framework (AD-MARF) system. We used the Autonomic System Specification Language (ASSL) to ...
Towards a Decision Approach for Autonomic Systems Adaptation
MobiWac '15: Proceedings of the 13th ACM International Symposium on Mobility Management and Wireless AccessThe autonomic computing paradigm arises to tackle the complexity of today's dynamic heterogeneous and ubiquitous systems. The architecture of autonomic systems based on the MAPE-K loop dynamically adapts itself when the context changes. However, ...






Comments