Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Christophe Dony is active.

Publication


Featured researches published by Christophe Dony.


conference on object-oriented programming systems, languages, and applications | 1996

On automatic class insertion with overloading

Hervé Dicky; Christophe Dony; Marianne Huchard; Thérèse Libourel

Several algorithms [Cas92, MS89, Run92, DDHL94a, DDHL95, GMM95] have been proposed to automatically insert a class into an inheritance hierarchy. But actual hierarchies all include overriden and overloaded properties that these algorithms handle either very partially or not at all. Partially handled means handled provided there is a separate given function f able to compare overloaded properties [DDHL95, GMM95].In this paper, we describe a new version of our algorithm (named Ares) which handles automatic class insertion more efficiently using such a function f. Although impossible to fully define, this function can be computed for a number of well defined cases of overloading and overriding. We give a classification of such cases and describe the computation process for a well-defined set of nontrivial cases.The algorithm preserves these important properties:- preservation of the maximal factorization of properties- preservation of the underlying structure (Galois lattice) of the input hierarchy- conservation of relevant classes of the input hierarchy with their properties.


conference on object-oriented programming systems, languages, and applications | 1996

Split objects: a disciplined use of delegation within objects

Daniel Bardou; Christophe Dony

This papers primary aim is to improve the understanding of the delegation mechanism as defined in [18]. We propose a new characterization of delegation based on the notions of name sharing, property sharing and value sharing. It allows us (1) to clearly differentiate delegation from class-inheritance in particular and more generally from other inheritance mechanisms and (2) to explain how a founded use of delegation relies on a correct semantics of variable property sharing between objects connected by a delegation link. We then describe a model of split objects which is proposed as an example of a disciplined and semantically founded use of delegation, where property sharing expresses viewpoints within objects.


conference on object oriented programming systems languages and applications | 1992

Prototype-based languages: from a new taxonomy to constructive proposals and their validation

Christophe Dony; Jacques Malenfant; Pierre Cointe

Prototype-based languages are currently proposed as a substitute to class-based languages for a higher flexibility in manipulating objects. These languages are all based on a similar set of basic principles: object-centered representation, dynamic addition (deletion) of slots, cloning and message delegation. But they all differ in the precise interpretation of these principles and nobody has yet considered the semantic issues raised by their combination. In this paper, we propose a new taxonomy of prototypebased languages, enhancing the Treaty of Orlando by now discussing issues associated with the different semantics of the identified prototype-based languages. From this taxonomy, we extract a constructive proposal for the design of a new prototype-based language. This proposal is the chief result of this paper; it suggests one set of primitives which is regarded as the best to provide a clean, useful and coherent prototype-based computational model. We finally describe an implementation of most interesting language alternatives in the form of a Smalltalk-80 platform. This platform establishes an operational semantics for the basic primitives and – more interesting – validates our previous taxonomy by implementing it as a class hierarchy. Obviously, this platform has been used to relate in the same formalism the semantics of different languages with each others. For instance, the programming models of existing languages, such as Self, ObjectLisp and Actras examplars, are faithfully derived as subclasses in this hierarchy.


Archive | 2001

Advances in exception handling techniques

Alexander B. Romanovsky; Christophe Dony; Jørgen Lindskov Knudsen; Anand R. Tripathi

Language Support for Exception Handling.- Fault Tolerance and Exception Handling in BETA.- A Fully Object-Oriented Exception Handling System: Rationale and Smalltalk Implementation.- Condition Handling in the Lisp Language Family.- Design and Modeling of Exception Handling Structures.- Exception Safety: Concepts and Techniques.- Exceptions in Object Modeling: Finding Exceptions from the Elements of the Static Object Model.- Supporting Evolution of Interface Exceptions.- Exception Handling in Concurrent and Distributed Systems.- Concurrent Exception Handling.- Exception Handling in Agent-Oriented Systems.- Action-Oriented Exception Handling in Cooperative and Competitive Concurrent Object-Oriented Systems.- Exception Handling and Resolution for Transactional Object Groups.- Applications of Exception Handling Techniques.- Experiences with Error Handling in Critical Systems.- An Architectural-Based Reflective Approach to Incorporating Exception Handling into Dependable Software.- Adapting C++ Exception Handling to an Extended COM Exception Model.- Portable Implementation of Continuation Operators in Imperative Languages by Exception Handling.- Exception Handling in Information Systems.- Exception Handling in Object-Orienteda Databases.- Error Handling in Process Support Systems.- ADOME-WFMS: Towards Cooperative Handling of Workflow Exceptions.


International Workshop on Software Engineering for Large-Scale Multi-agent Systems | 2003

Improving Exception Handling in Multi-agent Systems

Frédéric Souchon; Christophe Dony; Christelle Urtado; Sylvain Vauttier

New software architectures based on multi-agents or software components allow the integration of separately developed software pieces that interact through various communication schemes. In such a context, reliability raises new important issues. This paper aims at increasing reliability in multi-agent systems (MASs) and, therefore, focuses on the study of an appropriate exception handling system (EHS). The issues specific to exception handling in MASs – preservation of the agent paradigm and support of cooperative concurrency – are presented and discussed. This paper analyses existing EHSs according to these issues and describes our proposition, the Sage system, which integrates various solutions from existing EHSs and adapts them to the agent paradigm. Sage is an exception handling system dedicated to MASs that addresses the stressed issues by providing means to coordinate the collective activities of agents, to embbed contextualized handlers in agents and to concert exceptions. It has been implemented and integrated in the MadKit MAS. It has been experimented with a classical travel agency case study.


intelligent user interfaces | 2000

APE: learning user's habits to automate repetitive tasks

Jean-David Ruvini; Christophe Dony

The APE (Adaptive Programming Environment) project focuses on applying Machine Learning techniques to embed a software assistant into the VisualWorks Smalltalk interactive programming environment. The assistant is able to learn users habits and to automatically suggest to perform repetitive tasks on his behalf. This paper describes our assistant and focuses more particularly on the learning issue. It explains why state-of-the-art Machine Learning algorithms fail to provide an efficient solution for learning users habits, and shows, through experiments on real data that a new algorithm we have designed for this learning task, achieves better results than related algorithms.


Computer Languages, Systems & Structures | 2008

Foundations of a simple and unified component-oriented language

Luc Fabresse; Christophe Dony; Marianne Huchard

Component-oriented programming (COP) is actually a key research track in software engineering. A variety of component-oriented languages (COLs) have been proposed with new or adapted abstractions and mechanisms to support this new paradigm. However, the proposed features vary quite widely from one proposal to another. There is a need for a closer analysis and synthesis of these features to really discover the new possibilities of COP. In this article we present SCL, our proposition of simple language dedicated to COP. Through the presentation of SCL, we discuss and compare the main features of COLs such as component class, component, interface, port, service or connector. But these features are not enough to build a COL. Indeed, unanticipated connection of independently developed components is one of the key issues of COP. Most approaches use language primitives or connectors and shared interfaces to connect components. But shared interfaces are in contradiction with the philosophy of independently developed components. The approach of SCL is to provide a uniform component connection mechanism based on special components called connectors. SCL also integrates component properties which enable connections based on component state changes with no requirements of specific code in components.


model driven engineering languages and systems | 2005

Exceptional use cases

Aaron Shui; Sadaf Mustafiz; Jörg Kienzle; Christophe Dony

Many exceptional situations arise during the execution of an application. When developing dependable software, the first step is to foresee these exceptional situations and document how the system should deal with them. This paper outlines an approach that extends use case based requirements elicitation with ideas from the exception handling world. After defining the actors and the goals they pursue when interacting with the system, our approach leads a developer to systematically investigate all possible exceptional situations that the system may be exposed to: exceptional situations arising in the environment that change user goals and system-related exceptional situations that threaten to fail user goals. Means are defined for detecting the occurrence of all exceptional situations, and the exceptional interaction between the actors and the system necessary to recover from such situations is described in handler use cases. To conclude the requirements phase, an extended UML use case diagram summarizes the standard use cases, exceptions, handlers and their relationships.


component based software engineering | 2011

Component-based specification of software architecture constraints

Chouki Tibermacine; Salah Sadou; Christophe Dony

Component-based software engineering provides for developers the ability to easily reuse and assemble software entities to build complex software. Component-based specification of software functional characteristics has been and is largely addressed, however this is not yet the case for what concerns software non-functional characteristics. In this paper, we propose a new way to express component-based software non-functional documentation, and we will focus more specifically on architecture constraints which formalize parts of architecture decisions, as executable, customizable, reusable and composable building blocks represented by components. Checking of architecture constraints is provided via service invocation through ports of a special kind of components, called constraint-components. The signatures of these checking services can be defined in required interfaces of business components, to document decisions taken while designing their architecture. They can also be part of other required interfaces of constraint components, making it possible to build higher-level or more complex constraints while reusing existing ones. We present an example of implementation of constraint components using, an ADL which is introduced in this paper. Architecture constraints can then be checked on the architecture of business components at design-time using the CLACS tool support, which has been implemented as an Eclipse plugin.


information reuse and integration | 2013

Feature-to-code traceability in a collection of software variants: Combining formal concept analysis and information retrieval

Hamzeh Eyal-Salman; Abdelhak-Djamel Seriai; Christophe Dony

Today, developing new software variant to meet new demands of customers by ad-hoc copying of already existing variants of a software system is a frequent phenomenon in the software industry. Typically, maintaining such variants becomes difficult and expensive over the time. To re-engineer such software variants into a software product line (SPL) for systematic reuse, it is important to identify source code elements that implement a specific feature in order to understand product variants code. Information Retrieval(IR) methods have been used widely to support this purpose in a single software. This paper proposes a new approach to improve the performance of IR methods in a collection of similar software variants. Our proposal produces following two improvements. First, increasing the accuracy of IR results by exploiting commonality and variability across software variants. Secondly, increasing the number of retrieved links that are relevant by reducing the abstraction gap between feature and source code levels. We have validated our approach with a set of variants of two different systems. The experimental results showed that the proposed approach outperforms the conventional application of IR as well as the most relevant work on the subject.

Collaboration


Dive into the Christophe Dony's collaboration.

Top Co-Authors

Avatar

Chouki Tibermacine

Centre national de la recherche scientifique

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Chouki Tibermacine

Centre national de la recherche scientifique

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

David Andreu

University of Montpellier

View shared research outputs
Top Co-Authors

Avatar

Robin Passama

University of Montpellier

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge