54 research outputs found
An AOP Layer to Abstract Programming with Distributed Components
International audienceComponent models such as EJB or CCM are increasingly used to create complex and distributed systems and applications. Unless the details of the API and mechanisms used for programming with these models differ, the general features provided by the models share many characteristics. In this paper, we propose to capture these features in a common layer that can be used to develop model independant component programs. The layer is then mapped either onto EJB or CCM. This layer is defined with the AspectJ aspect-oriented programming language. We report on two samples applications that were developped with this layer: an application-level load balancing service and a contract enforcement service
A Roadmap for the Development of Precision Medicine
The purpose of the roadmap proposed by IRGC is to recommend a structured process that organisations can follow in their transition towards the development of precision medicine. The process is adaptable, and each organisation should further develop it to align with its own needs, culture and objectives. The roadmap suggests a comprehensive approach to the development of precision medicine: it begins with the creation of a space for dialogue among stakeholders, it considers a step-wise implementation of precision medicine, it recommends a careful attention to the data issue, and it reminds that regulation and payment systems will have to be adapted
Aspect-Oriented Software Development with Java Aspect Components
In the last four years, our research project dealt with separation of concerns for distributed programming environments and applications. This research effort led to the implementation of the Java Aspect Component (JAC) framework for aspect-oriented programming (AOP) in Java. Among the many requirements for distribution, flexibility and adaptability play a stringent role. The high variability of executing conditions (in terms of resources, servers availability, faults, ...) also brings the need for powerful programming paradigms. This led us to develop a dynamic model of AOP which, unlike statically compiled approaches, allows to on-the-fly deploy and undeploy aspects on top of running applications. This model comes with an UML notation and an implementation. An IDE is provided with JAC to support all the development steps of an aspect oriented application, from its design, to its implementation, to its deployment
La Programmation Orientée Aspect Interactionnelle pour la construction d'applications à préoccupations multiples
Dans cette thèse, nous abordons le problème de conception des applications intégrant des préoccupations multiples et changeantes, comme c'est le cas, par exemple, pour les applications réparties. Pour se faire, nous proposons une approche permettant d'exprimer les applications de façon modulaire. L'originalité de notre approche tient en l'utilisation des idées émergeantes de la Programmation Orientée Aspect (POA), tout en se plaçant dans un point de vue fortement lié aux interactions entre les objets. Nous utilisons le mécanisme de raffinement des interactions de manière à abastraire la notion d'interaction seule. Puis nous couplons cette approche à la notion de groupe d'objets interopérants afin d'abstraire des ensembles d'interactions. Nous arrivons ainsi à poser les bases de la POA Interactionnelle (POAI) que nous formalisons dans un langage dérivé du lambda-calcul. Un autre point essentiel de ce travail consiste à étudier les problèmes liés à la composition des aspects. Nous proposons une étude sémantique liée à la superposition de plusiers aspects. Nous proposons une étude sémantique liée à la superposition de plusieurs aspects. Cette étude nous amène à définir la notion de comptabilité sémantique de superposition permettant de calculer la validité d'un ensemble d'aspects par rapport à un effet global voulu par le concepteur de l'application. Nous définissons aussi des règles pragmatiques de composition. Finalement, une grande partie de cette thèse a été dediée aux applications pratiques de notre étude théorique. Nous avons implanté une couche middlewar orientée aspect appelée Java Aspect Components (JAC) qui permet au programmateur d'atteindre une excellente modularité des programmes et supporte l'adaptabilité et la répartition des applications.In this thesis, we tackle the problem of designing applications addressing multiple and changing concerns. This is the case, fot instance, of distributed applications. Th emain issue here is to be able to modularize better the different identified concerns by reudcing to the minimum their inherent dependencies. The originality of our approach comes from the use of the emerging ideas of Aspect Oriented Programming (AOP), mixed with an objects' interactions bases point of view. We use an interaction refinement mechanism in order to abstract the interaction notion alone. Then, we couple this approach with interoperating groups of objetcs to allow the abstraction of interactions' sets. Thus, we throw the basis of Interactional AOP (IAOP) that we formalize within a language wich extends lambda-calculus. Another crucial point of our work consists in studying the aspect composition issues. We propose a semantical approach when superposing several aspects. This approach introduces the semantical superposition compatibility notion in order to validate that a set of aspects put together results in the expected global effect. We also introduce pragmatic composition rules. Finally, a huge part of this thesis was dedicated to pratical applications of this formal work. We have implemented an aspect-oriented middleware mayer called Java Aspect Components (JAC).JAC supports distribution an ddynamic adaptability of application.PARIS-CNAM (751032301) / SudocSudocFranceF
A Meta-Object Protocol for Distributed OO Applications
International audienceThe design of complex distributed object applications such as transactional systems (e.g. nested transactions, two or three phase commit protocols), network algorithms (e.g. routing, spanning tree construction, group causal delivery) or cooperative applications is a hard task. We present a meta-object protocol (MOP) called CAO-LAC, to assist developers in implementing these applications. A prototype was developed for the language of the GUIDE distributed object system. The MOP uses a state/transition approach to synchronize concurrent objects. We propose some extensions to manage intra-object parallelism. Then we report on a spanning tree construction algorithm that was implemented with this MOP
Partial Order Relations in Distributed Object Environments
International audienceWe describe several order relations for group cooperative applications. Our goal is to define the main interleaving semantics existing in distributed object environments with group invocations and variable sharing. We generalize the Lamport's Happened-before relation defined for message passing applications to a causal relation between actions or methods in object world. Next, we precise a set of order properties for group method invocations. It includes the local, causal and total ordering deduced from the similar ordering in message broadcast protocols, and causally coherent and serializable transactions deduced from the concurrency control. Finally, we present two implementations of one of these order property on distributed object systems GUIDE and CORBA
- …