Publication | Closed Access
A Formal Approach to Autonomic Systems Programming
144
Citations
31
References
2014
Year
Artificial IntelligenceEngineeringFormal ApproachSoftware SystemsIntelligent SystemsFormal VerificationSystems EngineeringAppropriate AbstractionsProgramming LanguagesHigh-level Programming LanguageFormal SpecificationAutonomic ComputingMachine SystemsFormal ModelingProgramming Language ImplementationComputer ScienceExtensible LanguageSoftware DesignProgramming Language DesignAutomated ReasoningAutomationFormal MethodsObject-oriented ProgrammingAutonomic Computing ParadigmAutonomic SystemsSystem Software
The autonomic computing paradigm was introduced to address the size, complexity, and dynamism of modern software‑intensive systems, and language designers must create abstractions and primitives that enable systems to adapt to environmental changes and evolving requirements. The authors propose programming abstractions that model behaviors, knowledge, and aggregations under specific policies to support context‑, self‑, and adaptive awareness, and demonstrate their expressiveness through a Java implementation and a robotics scenario. They formalize these abstractions in SCEL, a kernel language with solid semantics that supports formal reasoning about autonomic behavior, and provide a Java implementation used to program the robotics example.
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1