BACK TO INDEX

 Publications of year 2003
 Thesis
1. Hervé Albin-Amiot. Idiomes et patterns Java: Application à la synthèse de code et à la détection. PhD thesis, École des Mines de Nantes and Université de Nantes, February 2003.

2. Andrés Farías. Un modèle de composants avec des protocoles explicites. PhD thesis, École des Mines de Nantes and Université de Nantes, December 2003.

3. Yann-Gaël Guéhéneuc. Un cadre pour la traçabilité des motifs de conception. PhD thesis, École des Mines de Nantes and Université de Nantes, June 2003.
Abstract:
 Les patrons de conception sont importants en g\'enie logiciel \a objets car ils contribuent \a la qualit\'e des programmes. Ils proposent des solutions \'el\'egantes \a des probl\emes r\'ecurrents de conception, des motifs utilis\'es pendant l'impl\'ementation. \A l'usage, ces motifs de conception sont diss\'emin\'es dans le code source et ne sont plus explicites lors de la maintenance ; pourtant, ils aideraient \a comprendre l'impl\'ementation et la conception des programmes, assurant leur qualit\'e. Ce m\'emoire propose des mod\eles et des algorithmes pour garantir la tra\c{c}abilit\'e des motifs de conception entre les phases d'impl\'ementation et de r\'etroconception des programmes par l'identification semi-automatique des micro-architectures similaires \a ces motifs dans le code source. La m\'etamod\'elisation est utilis\'ee pour d\'ecrire les motifs de conception et les programmes Java. Elle am\ene \a expliciter certaines relations interclasses (association, agr\'egation et composition) offertes par les langages de conception comme UML et \a pr\'eciser leurs propri\'et\'es (dur\'ee de vie, exclusivit\'e, multiplicit\'e et site d'invocation) pour les identifier avec des algorithmes d'analyses statiques et dynamiques. Elle conduit aussi \a traduire les motifs en syst\emes de contraintes et \a identifier les micro-architectures similaires, formes compl\etes et approch\'ees, par la r\'esolution de probl\emes de satisfaction de contraintes. La programmation par contraintes avec explications permet de guider la r\'esolution et d'expliquer les micro-architectures identifi\'ees. La suite d'outils Ptidej impl\'emente les mod\eles et les algorithmes propos\'es. Elle est int\'egr\'ee \a l'environnement Eclipse de d\'eveloppement en Java. Elle inclut le m\'etamod\ele PADL, d\'eriv\'e du m\'etamod\ele PDL ; des outils d'analyses statiques et dynamiques, Introspector et Caffeine ; et un solveur de contraintes, PtidejSolver, d\'eriv\'e du solveur de contraintes avec explications de r\'ef\'erence PaLM.

 Articles in journal or book chapters
1. Gilles Muller, Julia Lawall, Scott Thibault, and Rasmus Erik Voel Jensen. A Domain-Specific Language Approach to Programmable Networks. IEEE Transactions on Systems, Man and Cybernetics, 33(3):370-381, August 2003.

2. Jean-Claude Royer. Temporal Logic Verifications for UML: the Vending Machine Example. RSTI - L'objet, 9(4):73-92, 2003.

3. Jean-Claude Royer. The GAT Approach to Specify Mixed Systems. Informatica, 27(1):89-103, 2003.

 Conference articles
1. Gustavo Bobeff and Jacques Noyé. Molding Components using Program Specialization Techniques. In J. Bosch, C. Szyperski, and W. Weck, editors, Eighth International Workshop on Component-Oriented Programming, Darmstadt, Germany, July 2003. Note: In conjunction with ECOOP 2003.

2. Pierre-Charles David and Thomas Ledoux. Towards a Framework for Self-Adaptive Component-Based Applications. In Jean-Bernard Stefani, Isabelle Demeure, and Daniel Hagimont, editors, Proceedings of Distributed Applications and Interoperable Systems 2003, the 4th IFIP WG6.1 International Conference, DAIS 2003, volume 2893 of Lecture Notes in Computer Science, Paris, pages 1-14, November 2003. Federated Conferences, Springer-Verlag.
Abstract:
 Given today's fast pace of technological evolutions and diversity of computing platforms, building applications which can work in such a wide range of systems is becoming more and more challenging. To deal with this situation, applications must be \emph{self-adaptive}, that is adapt themselves to their environment and its evolutions. The goal of our works is to enable systematic development of self-adaptive component-based applications using the Separation of Concerns principle: we consider \emph{adaptation to a specific execution context and its evolutions} as a concern which should be treated separately from the rest of an application. In this paper, we first present the general approach we propose and the corresponding development framework and tools we are developing to support it. Then, in order to validate this approach, we show how a small component-based application can be made self-adaptive using our approach.

3. Rémi Douence and Mario Südholt. Un modèle et un outil pour la programmation par aspects vénementiels. In Langages et Modèles à Objets, Vannes, pages 105-118, February 2003. Hermès-Lavoisier. Keyword(s): AOP, EAOP, aspect composition, tool, Java.

4. Andrés Farías and Yann-Gaël Guéhéneuc. On the Coherence of Component Protocols. In Uwe Assmann, Elke Pulvermueller, Isabelle Borne, Noury Bouraqadi, and Pierre Cointe, editors, Electronic Notes in Theoretical Computer Science, ETAPS-Software Composition workshop, April 2003. Elsevier. Keyword(s): protocols, component models, detection, verification.
Abstract:
 Component-based programming promises to ease the construction of large-scale applications. The construction of applications using components relies on the notion of interfaces. However, the notion of interfaces provided by current component models is restricted: In particular, it does not include behavioral information to define the protocols of the components: Sequences of service requests. The lack of behavioral information limits our trust in components: Security, reuse, and quality relate directly on this missing information. In this paper, we consider the problem of verifying if a component implementation respects the protocol specified during its design. First, we define a notion of coherence between protocols and an algorithm to verify the coherence between two protocols. Then, we describe an algorithm to extract the protocol of a component from its source code. Finally, we present a tool that enables the static verification and enforcement of the notion of coherence.

5. Yann-Gaël Guéhéneuc and Hervé Albin-Amiot. A Pragmatic Study of Binary Class Relationships. In John Grundy and John Penix, editors, IEEE International Conference on Automated Software Engineering, Montréal, Canada, pages 277-280, October 2003. IEEE Computer Society Press. Note: Short paper.

6. Liang Peng, Annya Romanczuk-Réquilé, and Jean-Claude Royer. A Translation of UML Components into Formal Specifications. In Theo D'Hondt, editor, TOOLS East Europe 2002, pages 60-75, 2003. Kluwer Academic Publishers.

7. Jean-Claude Royer and Michael Xu. Analysing Mailboxes of Asynchronous Communicating Components. In D. C. Schmidt R. Meersman, Z. Tari and al., editors, On The Move to Meaningful Internet Systems 2003: CoopIS, DOA, and ODBASE, volume 2888 of Lecture Notes in Computer Science, Catania, Sicily (Italy), pages 1421-1438, October 2003. Springer-Verlag. Keyword(s): Asynchronous Communication, Component, Architecture, Dynamic Behaviour, Unbound or Bound Mailbox.
Abstract:
 Asynchronous communications are prominent in distributed and mobile systems. Often concurrent systems consider an abstract point of view with synchronous communications. However it seems more realistic and finer to consider asynchronous communicating systems, since it provides a more primitive communication protocol and maximize the concurrency. Several languages and models have been defined using this communication mode: agent, actor, mobile computation, and so on. Here we reconsider a previous component model with full data types and synchronous communications with an asynchronous flavour. The dynamic behaviour of a component is represented as a structured symbolic transition system with mailboxes. We also present an algorithm devoted to an analysis of the dynamic behaviour of the system. This algorithm decides if the system has bound mailboxes and computes the reachable mailbox contents of the system. The component model and the algorithm are illustrated on a flight system reservation.

8. Marc Ségura-Devillechaise and Jean-Marc Menaud. microDyner : Un noyau efficace pour le tissage dynamique d'aspects sur processus natif en cours d'exécution. In Langages et Modèles à Objets, Vannes, pages 119-133, February 2003. Hermès-Lavoisier.

9. Marc Ségura-Devillechaise, Jean-Marc Menaud, Julia Lawall, and Gilles Muller. Extensibilité Dynamique dans les Caches Web : une Approche par Aspects. In 3ème Conférence Française sur les Systèmes d'Exploitation (CFSE'03), La Colle sur Loup, pages 477-487, October 2003.

10. Marc Ségura-Devillechaise, Jean-Marc Menaud, Gilles Muller, and Julia Lawall. Web Cache Prefetching as an aspect: Towards a Dynamic-Weaving Based Solution. In Aspect-Oriented Software Development (AOSD), Boston, Massachusetts, USA, pages 110-119, March 2003. ACM Press.
Abstract:
 Given the high proportion of HTTP traffic in the Internet, Web caches are crucial to reduce user access time, network latency, and bandwidth consumption. Prefetching in a Web cache can further enhance these benefits. Nevertheless, to achieve the best performance, the prefetching policy must match user and Web server characteristics. This implies that new prefetching policies must be loaded dynamically as needs change. Most Web caches are large C programs, and thus adding a single prefetching policy to an existing Web cache is a daunting task. Providing multiple policies is even more complex. The essential problem is that prefetching concerns crosscut the cache structure. Aspect-oriented programming is a natural technique to address this issue. Nevertheless, existing approaches do not provide dynamic weaving of aspects targeted toward C applications. In this paper, we present $\mu$Dyner, which addresses these needs. $\mu$Dyner also provides lower overhead for aspect invocation than other dynamic approaches, thus meeting the performance needs of Web caches.

11. Éric Tanter and Peter Ebraert. A Flexible Approach to Interactive Runtime Inspection. In ECOOP Workshop on Advancing the State-of-the-Art in Runtime Inspection (ASARTI 2003), Darmstadt, Germany, July 2003.

12. Éric Tanter, Jacques Noyé, Denis Caromel, and Pierre Cointe. Partial Behavioral Reflection: Spatial and Temporal Selection of Reification. In Ron Crocker and Guy L. Steele, Jr., editors, Proceedings of the 18th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (OOPSLA 2003), Anaheim, California, USA, pages 27-46, October 2003. ACM Press.
Abstract:
 Behavioral reflection is a powerful approach for adapting the behavior of running applications. In this paper we present and motivate partial behavioral reflection, an approach to more efficient and flexible behavioral reflection. We expose the spatial and temporal dimensions of such reflection, and propose a model of partial behavioral reflection based on the notion of hooksets. In the context of Java, we describe a reflective architecture offering appropriate interfaces for static and dynamic configuration of partial behavioral reflection at various levels, as well as Reflex, an open reflective extension for Java implementing this architecture. Reflex is the first extension that fully supports partial behavioral reflection in a portable manner, and that seamlessly integrates load-time and runtime behavioral reflection. The paper shows preliminary benchmarks and examples supporting the approach. The examples, dealing with the observer pattern and asynchronous communication via transparent futures, also show the interest of partial behavioral reflection as a tool for open dynamic Aspect-Oriented Programming.

13. Rickard A. Åberg, Julia Lawall, Mario Südholt, and Gilles Muller. Evolving an OS Kernel using Temporal Logic and Aspect-Oriented Programming. In The Second AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS), March 2003. Keyword(s): AOP, OS, Temporal logic, EAOP, Bossa.

14. Rickard A. Åberg, Julia Lawall, Mario Südholt, Gilles Muller, and Anne-Françoise Le Meur. On the automatic evolution of an OS kernel using temporal logic and AOP. In IEEE International Conference on Automated Software Engineering, Montréal, Canada, pages 196-204, October 2003.
Abstract:
 Automating software evolution requires both identifying precisely the affected program points and selecting the appropriate modification at each point. This task is particularly complicated when considering large pieces of software, even when the modifications appear to be systematic. We illustrate this situation in the context of evolving the Linux kernel to support Bossa, an event-based framework for process-scheduler development. To support Bossa, events must be added at points scattered throughout the kernel. In each case, the choice of event depends on properties of one or a sequence of instructions. To describe precisely the choice of event, we propose to guide the event insertion by using a set of rules, amounting to an aspect, that describes the control-flow contexts in which each event should be generated. In this paper, we present our approach and describe the set of rules that allow proper event insertion. These rules use temporal logic to describe sequences of instructions that require events to be inserted. We also give an overview of an implementation that we have developed to automatically perform this evolution.

 Internal reports
1. Pascal Poizat and Jean-Claude Royer. Korrigan: a Formal ADL with Full Data Types and a Temporal Glue. Technical report 88-2003, LaMI, CNRS et Université d'Evry Val d'Essonne, September 2003.

 Miscellaneous
1. Yan Chen. Aspect-Oriented Programming (AOP): Dynamic Weaving for C++. Master's thesis, Vrije Universiteit Brussel and École des Mines de Nantes, August 2003.

2. Arnaud Denoual. Intégration de Bossa dans .NET. Master's thesis, École des Mines de Nantes, September 2003.

3. Hervé Duchesne. Conception d'ordonnanceurs pour systèmes multiprocesseurs. Master's thesis, École des Mines de Nantes, September 2003.

4. Sebastian Pavel. Lignes de Produits Logiciels en ArchJava (Software Product Lines in ArchJava). Master's thesis, École des Mines de Nantes, September 2003.

5. Diego De Sogos. Component Generators: Towards Adaptable and Efficient Software Components. Master's thesis, Vrije Universiteit Brussel and École des Mines de Nantes, August 2003.

6. Kaiye Xu. Analysis and Implementation of Asynchronous Component Model. Master's thesis, Vrije Universiteit Brussel and École des Mines de Nantes, August 2003.

BACK TO INDEX

Disclaimer:

This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All person copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.

Les documents contenus dans ces répertoires sont rendus disponibles par les auteurs qui y ont contribué en vue d'assurer la diffusion à temps de travaux savants et techniques sur une base non-commerciale. Les droits de copie et autres droits sont gardés par les auteurs et par les détenteurs du copyright, en dépit du fait qu'ils présentent ici leurs travaux sous forme électronique. Les personnes copiant ces informations doivent adhérer aux termes et contraintes couverts par le copyright de chaque auteur. Ces travaux ne peuvent pas être rendus disponibles ailleurs sans la permission explicite du détenteur du copyright.