70 research outputs found
Combining Exception Handling and Replication for Improving the Reliability of Agent Software
Abstract. Exception handling and replication are two complementary mechanisms that increase software reliability. Exception handling helps programmers in controlling situations in which the normal execution flow of a program cannot continue. Replication handles system failures through redundancy. Combining both techniques is a first step towards building a trustworthy software engineering framework. This paper presents some of the results from the Facoma project. It proposes the specification of an exception handling system for replicated agents as an adaptation of the Sage proposal. It then describes its implementation in the Dimax replicated agent environment
Automated architectural component classification using concept lattices
While the use of components grows in software development, building effective component directories becomes a critical issue as architects need help to search components in repositories. During the life-cycle of component-based software, several tasks, such as construction from scratch or component substitution, would benefit from an efficient component classification and retrieval. In this paper, we analyze how we can build a classification of components using their technical description (i.e. functions and interfaces) in order to help automatic as well as manual composition and substitution. The approach is implemented in the CoCoLa prototype, which is dedicated to Fractal component directory management and validated through a case study.Laboratorio de Investigación y Formación en Informática Avanzad
Improving statechart composition and reuse in UML
National audienceComposite objects reveal themselves to be very useful in component-based development processes for the modeling, the management and the reuse of component assemblies. Although the composition relationship notion has been widely studied, in order to use the composite objects' structure as a mean to model and manage complex data, few works have investigated the modeling of composite object behavior. Indeed, as far as component based development is concerned, the point is not only the building of complex data structures, but also the combination of the behavior of distinct objects in order to get them work as a coherent entity, which is embodied by a composite object. Classical object-oriented design methods, such as those based on the UML modeling language, do not provide adequate means for efficiently capturing the design of the global behavior of composite objects. As a consequence, they fall short in providing models which possess all the benefits expected from the use of composite objects, such as their ability to abstract complex assemblies. Thus we developed a specific design method for composite objects, called COBALT, which adresses the above issues by allowing a more abstract and declarative design of composite object behaviors. These concepts are provided as an extension to UML, in order to enhance its modeling capabilities for composite objects
La relation d'association dans les approches dirigées par les modèles : besoins et usages pratiques
International audienceAprès avoir essentiellement porté sur la conception d'infrastructures d'intégration de composants logiciels, la pratique du développement à base de composants s'oriente vers des approches dirigées par les modèles. Ces approches consistent à changer le niveau d'abstraction de la description des composants : les composants logiciels, décrits par leur codage dans un langage de programmation donné et pour une infrastructure donnée, sont remplacés par des composants conceptuels, décrits par des modèles technologiquement neutres dans un langage de modélisation standard. Le développement à base de composants peut alors se définir comme la réutilisation et l'intégration des modèles décrivant les composants. La relation d'association est le concept clé de la mise en oeuvre de l'assemblage de tels composants conceptuels
Exception Handling and Asynchronous Active Objects: State of the Art Elements
The ANR FACOMA project puts a strong emphasis on exception handling as one of the tools for ensuring reliability of cooperative multi-agent applications and more generally with applications built on top of active objects. The related task in this project is to install an appropriate exception handling system in the DIMA agent language and to adapt it so that it can be used properly together with the DARX replication system
A Three-Level Versioning Model for Component-Based Software Architectures
International audienceSoftware versioning is intrinsic to software evolution. It keeps history of previous software states (versions) and traces all the changes that updates a software to its latest stable version. A lot of work has been dedicated to software versioning and many version control mechanisms are proposed to store and track software versions for different software artifacts (code, objects, models, etc.). This paper addresses in particular component-based software architecture versioning, considering three abstraction levels: specification, implementation and deployment. In previous work, we proposed an approach that generates evolution plans for such software architecture models. The generated plans deal with changes initiated on one of the three abstraction levels and propagate them to the other levels in order to keep architecture descriptions consistent and coherent. As an extension to these mechanisms, a versioning model is proposed in this paper to keep history of architecture definition versions. This versioning model soundly handles the co-evolution of the three abstraction levels by tracking both versions of each abstraction levels and versions of global architecture definition
Specification of an Exception Handling System for a Replicated Agent Environment
Exception handling and replication are two mechanisms that increase the reliability of applications. Exception handling helps programmers to control situations in which the normal flow of a program execution cannot continue. Replication handles system failures. Exceptions handling and replication do not apply to the same situations and are two complementary mechanisms to increase the reliability of applications. Moreover, each technique can benefit from the other: exception handling capabilities can rely on replication mechanisms while replication can be further secured by using exceptions. The paper proposes a specification of an execution history oriented exception handling system for an agent language and middleware providing replication. The paper proposes an original signaling algorithms taking into account replicated agents and a rationale of how exception handling and replication mechanisms can combine to increase the capability of programmers to achieve reliable agent-based applications. 1
Mission-oriented Autonomic Configuration of Pervasive Systems
Abstract—In pervasive systems, software applications are dynamically composed from the services provided by the smart devices spread in the local environment. A system must react to changes that occur in the environment and reconfigure applications in order to maintain their operation and assume their missions at its best. This paper advocates the need for a mission description language, which enables service compositions. The system uses mission definitions to calculate a configuration that best executes them with the currently available resources. This optimal configuration is intended to maximize the utility of the system, considering user preferences, available resources, and mission criticality. Contextual adaptations are captured in the mission language as modes and strategies, that respectively describe evolutions of the assigned mission set and alternate ways to execute missions. These mechanisms leverage service component approach, for the dynamic deployment of missions, and agentorientation, for autonomic configuration management. Keywords-pervasive system; autonomic computing; context-awareness; service composition language. I
- …