BACK TO INDEX

All publications sorted by title
2012
  1. Frederico Alvares De Oliveira Jr., Adrien Lèbre, Thomas Ledoux, and Jean-Marc Menaud. Self-management of applications and systems to optimize energy in data centers. In Ivona Brandic, Massimo Villari, and Francesco Tusa, editors, Achieving Federated and Self-Manageable Cloud Infrastructures: Theory and Practice. IGI Global, February 2012.


  2. Bruno De Fraine, Erik Ernst, and Mario Südholt. Essential AOP: The A Calculus. ACM Transactions on Programming Languages and Systems (TOPLAS), 2012. Note: Accepted March 2012.


  3. Jean-Marc Menaud and Rémy Pottier. btrScript : a safe management system for virtualized data center. ICAS 2012, March 2012.


  4. Flavien Quesnel, Adrien Lèbre, and Mario Südholt. Cooperative and Reactive Scheduling in Large-Scale Virtualized Platforms with DVMS. Concurrency and Computation: Practice and Experience, pp XX, December 2012. Keyword(s): virtualization, Cluster/Grid/Cloud computing, dynamic and preemptive scheduling, consolidation, migration.


  5. Diana Allam, Rémi Douence, Hervé Grall, Jean-Claude Royer, and Mario Südholt. A Message-Passing Model for Service Oriented Computing. In Karl-Heinz Krempels and José Cordeiro, editors, WEBIST, 8th International Conference on Web Information Systems and Technologies, Porto, Portugal, February 2012. SciTePress Digital Library. Keyword(s): Service-Oriented Computing, Message-Passing Model, Type Checking, Security.


  6. Frederico Alvares De Oliveira Jr., Remi Sharrock, and Thomas Ledoux. Synchronization of Multiple Autonomic Control Loops: Application to Cloud Computing. In COORDINATION - International Conference on Coordination Models and Languages - 2012, Stockholm, Sweden, March 2012.


  7. Omar Chebaro, Nikolai Kosmatov, Nicky Williams, Bernard Botella, and Muriel Roger. A lesson on structural testing with PathCrawler-online.com. In 6th International Conference on Tests & Proofs, Prague, Czech Republic, pages 0-0, June 2012. Note: 6 pages.


  8. Julien Cohen, Rémi Douence, and Akram Ajouli. Invertible Program Restructurings for Continuing Modular Maintenance. In Rudolf Ferenc Tom Mens, Anthony Cleve, editor, 16th European Conference on Software Maintenance and Reengineering (CSMR 2012), Szeged, Hungary, pages 347--352, March 2012. IEEE. Note: 6 pages, Early Research Achievements Track. Keyword(s): modular maintenance, restructuring, invertible program transformations, tyranny of the dominant decomposition.


  9. Ismael Figueroa, Éric Tanter, and Nicolas Tabareau. A Practical Monadic Aspect Weaver. In Foundations of Aspect-Oriented Languages, Potsdam, Germany, March 2012.


  10. Guilhem Jaber, Nicolas Tabareau, and Matthieu Sozeau. Extending Type Theory with Forcing. In LICS 2012 : Logic In Computer Science, Dubrovnik, Croatia, pages _, June 2012.


  11. Yousri Kouki and Thomas Ledoux. CSLA : a Language for Improving Cloud SLA Management. In International Conference on Cloud Computing and Services Science, CLOSER 2012., Porto, Portugal, pages 0-0, April 2012. Keyword(s): Cloud computing, elasticity, Quality-of-Service (QoS), Service Level Agreement (SLA), SLA Violations..


  12. Nicolas Tabareau. A Monadic Interpretation of Execution Levels and Exceptions for AOP. In Modularity: AOSD'12, Postdam, Germany, March 2012. ACM Press.


  13. Éric Tanter, Nicolas Tabareau, and Rémi Douence. Taming Aspects with Membranes. In Foundations of Aspect-Oriented Languages, Potsdam, Germany, March 2012.


  14. Diana Allam. A Unified Formal Model for Service Oriented Architecture to Enforce Security Contracts, March 2012. Note: Poster- AOSD 2012 (Aspect-Oriented Software Development) Student Research Competition. Keyword(s): Formal Methods, Security, Reference Monitors, Aspects, Service-Oriented Architecture.


  15. Hervé Grall and Mayleen Lacouture. Criojo: A Pivot Language for Service-Oriented Computing - The Introspective Chemical Abstract Machine. , 2012. Keyword(s): Distributed Computing, Concurrent Computing, Service-Oriented Computing, Chemical Semantics, Web Services, Interoperability.


2011
  1. Awais Rashid, Jean-Claude Royer, and Andreas Rummler. Aspect-Oriented, Model-Driven Software Product Lines The AMPLE Way. Cambridge University Press, September 2011. Note: ISBN: 9780521767224.


  2. Abdelhakim Hannousse. Aspectualizing Component Models : implementation and Interferences Analysis. THESE, Ecole des Mines de Nantes, November 2011. Keyword(s): AOP, CBSE, Aspects interferences, Interferences detection, Aspect composition.


  3. Dong Ha Nguyen. A VPA-based Aspect Language. THESE, Université de Nantes, October 2011. Keyword(s): AOP, aspect language, software composition, formal software properties, P2P.


  4. Angel Nú\ñez. Un modèle de programmation intégrant classes, événements et aspects. THESE, Université de Nantes, June 2011. Keyword(s): programmation par objets, programmation événementielle, programmation par aspects, langages de programmation.


  5. Hien Nguyen Van. Gestion des ressources virtualisées pour plates-formes d'hébergement de services. PhD thesis, Université de Nantes/Orange Labs, Janvier 2011.


  6. Nicolas Anquetil, Uira Kulesza, Ricardo Mateus, Ralf Mitschke, Ana Moreira, Jean-Claude Royer, and Andreas Rummler. Managing Information Flow in SPL Development Processes. In Aspect-Oriented, Model-Driven Software Product Lines, The AMPLE way, pages 222--262. Cambridge University Press, September 2011. Note: ISBN 978-0-521-76722-4.


  7. Vaidas Gasiunas, Angel Nú\ñez, Jacques Noyé, and Mira Mezini. Product line implementation with ECaesarJ. In Awais Rashid, Jean-Claude Royer, and Andreas Rummler, editors, Aspect-Oriented, Model-Driven Software Product Lines - The AMPLE Way. Cambridge University Press, September 2011.


  8. Awais Rashid, Jean-Claude Royer, and Andreas Rummler. Introduction. In Aspect-Oriented, Model-Driven Software Product Lines, The AMPLE way, pages 3--26. Cambridge University Press, September 2011. Note: ISBN 978-0-521-76722-4.


  9. Simplice Djoko Djoko, Rémi Douence, and Pascal Fradet. Aspects Preserving Properties. Science of Computer Programming, October 2011.


  10. Aeiman Gadafi, Daniel Hagimont, Laurent Broto, Remi Sharrock, and Noël De Palma. Energy-QoS Tradeoffs in J2EE Hosting Centers.. International Journal of Autonomic Computing, IJAC, 2011.


  11. Jérôme Gallard, Adrien Lèbre, Christine Morin, Thomas Naughton, J., Stephen Scott, L., and Geoffroy Vallée. Architecture for the Next Generation System Management Tools. Future Generation Computer Systems, 2011.


  12. Ismael Mejia and Mario Südholt. Structured and flexible gray-box composition using invasive distributed patterns. International Journal on Computer Science and Information Systems, 6:13, March 2011. Note: ISBN = ISSN: 1646-3692. Keyword(s): Software Composition, Software Engineering, Distributed Software, Aspect Oriented Programming, Grid Computing, Middleware.


  13. Rodolfo Toledo, Angel Nú\ñez, Éric Tanter, and Jacques Noyé. Aspectizing Java Access Control. IEEE Transactions on Software Engineering, 38(1):101-117, January 2011.


  14. Akram Ajouli, Julien Cohen, and Rémi Douence. Program Transformation based Views for Modular Maintenance (poster). In Olivier Caron Yves Ledru, Anne-Françoise Le Meur, editor, Troisièmes journées nationales du GDR GPL, Lille, France, pages 218--219, June 2011. Note: Poster.


  15. Frederico Alvares De Oliveira Jr. and Thomas Ledoux. Self-management of applications QoS for energy optimization in datacenters. In 2nd International Workshop on Green Computing Middleware (GCM'2011), Portugal, pages 0-0, 2011.


  16. Hugo Arboleda and Jean-Claude Royer. Component types qualification in Java legacy code driven by communication integrity rules. In ACM, editor, ISEC 2011 : India Software Engineering Conference, Thiruvananthapuram, Kerala, India, pages 155--164, February 2011. Keyword(s): architecture - assessing quality - communication integrity property - component based programming - component type - data type.


  17. Vaidas Gasiunas, Lucas Satabin, Mira Mezini, Angel Nú\ñez, and Jacques Noyé. EScala: Modular Event-Driven Object Interactions in Scala. In 10th International Conference on Aspect-Oriented Software Development (AOSD 2011), Porto de Galinhas, Brazil, March 2011. ACM Press.


  18. Abdelhakim Hannousse, Rémi Douence, and Gilles Ardourel. Composable Controllers in Fractal: Implementation and Interference Analysis. In the 37th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA'11), Oulu, Finland, pages 99, September 2011. Keyword(s): Fractal component model, controllers, composition, model checking;.


  19. Abdelhakim Hannousse, Rémi Douence, and Gilles Ardourel. Static Analysis of Aspect Interaction and Composition in Component Models. In the 10th International Conference on Generative Programming and Component Engineering (GPCE'11), Portland, Oregon, United States, pages 18, October 2011. Keyword(s): Aspect interference analysis, Model checking, Aspect composition patterns.


  20. Guilhem Jaber and Nicolas Tabareau. The Journey of Biorthogonal Logical Relations to the Realm of Assembly Code. In Workshop LOLA 2011, Syntax and Semantics of Low Level Languages, Toronto, Canada, June 2011. Keyword(s): Logical Relation, Biorthogonality, Low Level Language, Polymorphism.


  21. Yousri Kouki, Thomas Ledoux, and Remi Sharrock. Cross-layer SLA selection for Cloud services. In International Symposium on Network Cloud Computing and Applications, NCCA 2011., Toulouse, France, pages 143-147, November 2011. Keyword(s): Cloud Computing, Quality of service (QoS), Service Level Agreement (SLA), Cloud Service Selection, Multiobjective optimization, Constraint Programming (CP).


  22. Christine Louberry, Philippe Roose, and Marc Dalmau. Kalimucho : Plateforme d'Adaptation des Applications Mobiles. In NOTERE 201- Conférence Internationale sur les NOuvelles Technologies de la REpartition, Paris, France, pages 83-90, May 2011. Keyword(s): architecture logicielle, gestion de la qualité de service, sensibilité au contexte, déploiement contextuel, adaptation dynamique, composant logiciel.


  23. Christine Louberry, Philippe Roose, and Marc Dalmau. Kalimucho: Contextual Deployment for QoS Management. In Distributed Applications and Interoperable Systems, volume 6723 of Lecture Notes in Computer Science, Reykjavik, Iceland, pages pp.43-56, June 2011. Springer. Keyword(s): Software architecture, dynamic adaptation, QoS management, context awareness, contextual deployment heuristic, sunspot platform.


  24. Adrien Lèbre, Paolo Anedda, Massimo Gaggero, and Flavien Quesnel. DISCOVERY, Beyond the Clouds - DIStributed and COoperative framework to manage Virtual EnviRonments autonomicallY: a prospective study. In Virtualization for High Performance Cloud Computing workshop (colocated with EUROPAR 2011), Bordeaux, France, August 2011.


  25. Ismael Mejia and Mario Südholt. Towards a robust model for distributed aspects. In ACM Digital Library, editor, 1st Workshop In Modularity in Systems Software (MISS), ISBN: 978-1-4503-0647-8, Pernambuco, Brazil, March 2011. ACM New York, NY, USA. Keyword(s): Actor model, Aspect oriented programming, Distributed as- pects, Distributed systems, Invasive software composition.


  26. Ismael Mejia, Mario Südholt, and Luis Daniel Benavides Navarro. Invasive composition for the evolution of a health information system. In ACM Digital Library, editor, 2nd International Workshop on Variability & Composition (VariComp 2011), ISBN: 978-1-4503-0646-1, Pernambuco, Brazil, March 2011. ACM New York, NY, USA. Note: ACM 978-1-4503-0646-1/11/03. Keyword(s): Aspect-oriented programming, Distributed systems, Health information systems, Invasive software composition.


  27. Flavien Quesnel and Adrien Lèbre. Cooperative Dynamic Scheduling of Virtual Machines in Distributed Systems. In 6th Workshop on Virtualization in High-Performance Cloud Computing, volume 7156 of Lecture Notes in Computer Science, Bordeaux, France, pages 457-466, August 2011. Springer-Verlag. Keyword(s): virtualization, cloud computing, scheduling, cooperative system, autonomic system, event-based system, quality of service, scalability, reactivity.


  28. Flavien Quesnel and Adrien Lèbre. Operating Systems and Virtualization Frameworks: From Local to Distributed Similarities. In 19th Euromicro International Conference on Parallel, Distributed and Network-Based Computing, Ayia Napa, Cyprus, pages 495, February 2011. Keyword(s): virtualization, distributed operating systems, cluster computing, cloud computing, fault-tolerance, scheduling, load balancing, task migration.


  29. Muhammed Sabir Idrees, Gabriel Serme, Yves Roudier, Anderson Santana De Oliveira, Hervé Grall, and Mario Südholt. Evolving Security Requirements in Multi-Layered Service-Oriented-Architectures. In 4th International Workshop on Autonomous and Spontaneous Security, Leuven, Belgium, September 2011.


  30. Nicolas Tabareau. Aspect oriented programming: a language for 2-categories. In Proceedings of the 10th international workshop on Foundations of aspect-oriented languages, Porto de Galinhas, Brazil, pages 13--17, 2011. ACM. Keyword(s): 2-category, AOP.


  31. Akram Ajouli and Julien Cohen. Refactoring Composite to Visitor and Inverse Transformation in Java. Report, December 2011. Keyword(s): refactoring, design patterns, program transformations, visitor, composite, Java.


  32. Fabien Hermenier, Julia Lawall, Jean-Marc Menaud, and Gilles Muller. Dynamic Consolidation of Highly Available Web Applications. Research Report RR-7545, INRIA, February 2011. Keyword(s): VM placement, cloud computing, high-availability, dynamic con- solidation, datacenter.


  33. Paul Leger, Éric Tanter, and Rémi Douence. Modular and Flexible Causality Control on the Web. Research Report RR-7742, INRIA, June 2011.


  34. Nicolas Tabareau. Aspect Oriented Programming: a language for 2-categories. Research Report RR-7527, INRIA, February 2011. Keyword(s): Languages, Theory, design.


  35. Éric Tanter, Nicolas Tabareau, and Rémi Douence. Exploring Membranes for Controlling Aspects. Research Report RR-7739, INRIA, September 2011.


  36. Julien Cohen and Rémi Douence. Views, Program Transformations, and the Evolutivity Problem in a Functional Language. Note: 19 pages, 2011. Keyword(s): program transformation, views, refactoring, dominant decomposition.


  37. Guilhem Jaber and Nicolas Tabareau. Decomposing Logical Relations with Forcing. , 2011.


2010
  1. Eric Cariou and Jean-Claude Royer. Langages et Modèles à Objets. Université de Pau et des pays de l'adour, March 2010. Note: ISSN 2105-102X.


  2. Proceedings of the 9th Int. Conference on Aspect-Oriented Software Development, March 2010. ACM.


  3. Kelly Garces. Une approche pour l'adaptation et l'évaluation de stratégies génériques d'alignement de modèles. THESE, Université de Nantes, September 2010. Keyword(s): Génie des Modèles, Transformation de modèles, Alignement de modèles.


  4. Jérôme Gallard and Adrien Lèbre. Managing Virtual Resources: Fly through the Sky. ERCIM News, pp 36--37, October 2010. Keyword(s): Cloud Computing, Sky Computing, Virtual Machines, IaaS.


  5. Awais Rashid, Thomas Cottenier, Phil Greenwood, Ruzanna Chitchyan, Meunier Regine, Coelho Roberta, Mario Südholt, and Wouter Joosen. Aspect-Oriented Software Development in Practice: Tales from AOSD-Europe. IEEE COMPUTER, 43(2):19-26, February 2010.


  6. Awais Rashid, Regine Meunier, Thomas Cottenier, Phil Greenwood, Roberta Coelho, Ruzanna Chitchyan, Mario Südholt, and Wouter Joosen. Aspect-Oriented Software Development in Practice: Tales from AOSD-Europe. IEEE Computer, 2010.


  7. Nicolas Tabareau, Jean-Jacques Slotine, and Quang-Cuong Pham. How synchronization protects from noise.. Plos Computational Biology, 6(1):e1000637, 2010.


  8. Éric Tanter, Johan Fabry, Rémi Douence, Jacques Noyé, and Mario Südholt. Scoping strategies for distributed aspects. Science of Computer Programming, 75(12):1235-1261, October 2010.


  9. Frederico Alvares De Oliveira Jr. and Thomas Ledoux. Self-optimisation of the energy footprint in Service-Oriented Architectures. In 1st International Workshop on Green Computing Middleware, India, pages 4-9, 2010. Keyword(s): Energy efficiency, Service-Oriented Architectures, Quality of Service.


  10. Hugo Arboleda, Andres Romero, Rubby Casallas, and Jean-Claude Royer. Fiesta Toolkit: Model-Driven Software Product Lines in Practice. In Brazilian Conference on Software: Theory and Practice, Brazil, pages 61--66, September 2010.


  11. Hugo Arboleda, Victor Vargas, Francisco Diaz Juan, and Jean-Claude Royer. Automated Reasoning for Derivation of Model-Driven SPLs. In Lancaster University, editor, 2nd International Workshop on Model-driven Approaches in Software Product Line Engineering (MAPLE 2010) at SPLC 2010, volume Volume 2, Korea, Republic Of, pages 181--188, September 2010.


  12. Nicolas Beldiceanu, Fabien Hermenier, Xavier Lorca, and Thierry Petit. La contrainte Increasing NValue. In JFPC 2010 - Sixièmes Journées Francophones de Programmation par Contraintes, Caen, France, pages 61-70, June 2010.


  13. Nicolas Beldiceanu, Fabien Hermenier, Xavier Lorca, and Thierry Petit. The increasing nvalue constraint. In 7th International Conference on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems (CPAIOR'10), Italy, pages 20-35, 2010.


  14. Bruno De Fraine, Erik Ernst, and Mario Südholt. Essential AOP: The A Calculus. In Theo De Hondt, editor, European Conference on Object-Oriented Programming, LNCS, Maribor, Slovenia, pages 000, June 2010. Springer Verlag.


  15. Jérôme Gallard, Adrien Lèbre, and Christine Morin. Saline: Improving Best-Effort Job Management in Grids. In PDP 2010: The 18th Euromicro International Conference on Parallel, Distributed and Network-Based Computing -- Special Session: Virtualization in Distributed Systems, Pisa, Italy, 2010.


  16. Jérôme Gallard, Christine Morin, Geoffroy Vallée, Thomas Naughton, J., Stephen Scott, L., and Adrien Lèbre. Architecture for the Next Generation System Management Tools.. In First International Conference on Utility and Cloud Computing (UCC 2010), Chennai, India, December 2010.


  17. Kelly Garcés, Wolfgang Kling, and Frédéric Jouault. Automatizing the Evaluation of Model Matching Systems. In Workshop on matching and meaning 2010, Leicester, United Kingdom, pages To appear, 2010.


  18. Abdelhakim Hannousse, Gilles Ardourel, and Rémi Douence. Views for Aspectualizing Component Models. In the 9th AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS 2010), St-Malo, France, pages acp4is10, March 2010. Keyword(s): Components, Aspects, Views conflicts.


  19. Fabien Hermenier, Adrien Lèbre, and Jean-Marc Menaud. Cluster-Wide Context Switch of Virtualized Jobs. In VTDC10 - The 4th International Workshop on Virtualization Technologies in Distributed Computing, Chicago, United States, June 2010.


  20. Guilhem Jaber and Nicolas Tabareau. Krivine realizability for compiler correctness. In Workshop LOLA 2010, Syntax and Semantics of Low Level Languages, Edinburgh, United Kingdom, July 2010. Keyword(s): compiler correctness, realizability, secd.


  21. Gallard Jérôme, Adrien Lèbre, and Morin Christine. Saline: Improving Best-Effort Job Management in Grids. In 18th IEuromicro International Conference on Parallel, Distributed and Network-Based Computing, special session ''virtualization in Distributed Systems''(PDP 2010), Pisa, Italy, February 2010. Note: (Short paper of RR-7055.


  22. Mayleen Lacouture, Hervé Grall, and Thomas Ledoux. CREOLE: a Universal Language for Creating, Requesting, Updating and Deleting Resources. In M.R. Mousavi and G. Salaün, editors, International Workshop on the Foundations of Coordination Languages and Software Architectures (FOCLASA 2010), PARIS, France, September 2010.


  23. Marc Léger, Thomas Ledoux, and Thierry Coupaye. Reliable Dynamic Reconfiguration in a Reflective Component Model. In Springer Berlin / Heidelberg, editor, CBSE 2010, LNCS, Czech Republic, pages 74-92, June 2010.


  24. Ismael Mejia and Mario Südholt. Structured and flexible gray-box composition: Application to task rescheduling for grid benchmarking. In IADIS International Conference APPLIED COMPUTING 2010, Timisoara, Romania, 2010. International Association for Development of the Information Society and Politehnica University of Timisoara, Romania. Keyword(s): Software Composition, Software Engineering, Distributed Software.


  25. Jean-Marc Menaud, Adrien Lèbre, Thomas Ledoux, Jacques Noyé, Pierre Cointe, Rémi Douence, and Mario Südholt. Vers une réification de l'énergie dans le domaine du logiciel. In Journées du GDR Génie de la Programmation et du Logiciel, France, pages 000, March 2010.


  26. Jean-Marc Menaud, Hien Nguyen Van, and Frédéric Dang Tran. Performance and Power Management for Cloud Infrastructures. In Cloud 2010, Miami - Florida, United States, pages 329-336, July 2010.


  27. Dale Miller, Arnaud Carayol, Panos Rondogiannis, Lars Birkedal, Marek Czarnecki, Hervé Grall, Paul Levy, Matteo Mio, Keiko Nakata, Andrei Romashchenko, Jan Schwinghammer, Kristian Stovring, Tarmo Uustalu, and Pawel Waszkiewicz. FICS 2010. In Luigi Santocanale, editor, 7th Workshop on Fixed Points in Computer Science, FICS 2010, Brno, Czech Republic, pages 89, August 2010. Keyword(s): Fixed points, mu-calculi;.


  28. Syed Asad Ali Naqvi, Ruzanna Chitchyan, Steffen Zschaler, Awais Rashid, and Mario Südholt. Cross-Document Dependency Analysis for System-of-System Integration. In Proceeding of the 15th Monterey Workshop - Foundations of Computer Software, Future Trends and Techniques for Development (Monterey'08), 2010. Springer-Verlag.
    Abstract:
    Systems-of-systems are formed through integration of individual complex systems, often not designed to work together. A number of factors can make this integration very challenging which often leads to catastrophic failures. In this paper, we focus on three major classes of system-of-system integration problems: managerial independence, interface incompatibility, and component-system complexity. We then present an aspect-oriented requirements description language (RDL) which uses natural language analysis capabilities to reason about dependencies across the documentation of the constituent systems of a system-of-systems. The aspect-oriented compositions in the RDL also facilitate specification of cross-document constraints and inconsistency resolution strategies, which can be used for deriving proof obligations and test cases for verification and validation of the emergent behaviour of a system-of-systems. We showcase the capabilities of our RDL through a case study of a real-world emergency response system. Our analysis shows that the querying and composition capabilities of the RDL provide valuable support for reasoning across documentation of multiple systems and specifying suitable integration constraints.


  29. Asad Naqvi, Syed Ali, Ruzanna Chitchyan, Steffen Zschaler, Awais Rashid, and Mario Südholt. Cross-Document Dependency Analysis for System-of-System Integration. In 15th Monterey Workshop - Foundations of Computer Software, Future Trends and Techniques for Development (Monterey'08), France, 2010. Springer Verlag.


  30. Rémy Pottier, Marc Léger, and Jean-Marc Menaud. A Reconfiguration Language for Virtualized Grid Infrastructures. In 10th IFIP international conference on Distributed Applications and Interoperable Systems (DAIS), volume 6115, France, pages VMScript, 2010.


  31. Louis Rose, M., Markus Herrmannsdoerfer, James Williams, R., Dimitrios Kolovos, S., Kelly Garcés, Richard Paige, F., and Fiona Polack, A.C.. A Comparison of Model Migration Tools. In Proc. of Models 2010 Foundation Track, Norway, pages To appear, October 2010.


  32. Nicolas Tabareau. A theory of distributed aspects. In ACM, editor, 9th International Conference on Aspect-Oriented Software Development (AOSD '10), Rennes, Saint-Malo, France, pages 133--144, 2010.


  33. Gilles Chabert and Rémi Douence. Controlling Contractors with Monads for Hybrid Dynamical Systems. Research Report RR-7451, INRIA, November 2010. Keyword(s): hybrid dynamical systems, continuous constraints, monads.


  34. Jérôme Gallard, Geoffroy Vallée, Thomas Naughton, J., Adrien Lèbre, Stephen Scott, L., and Christine Morin. Architecture for the Next Generation System Management Tools for Distributed Computing Platforms. Research Report RR-7325, INRIA, May 2010.


  35. Vaidas Gasiunas, Lucas Satabin, Mira Mezini, Angel Nú\ñez, and Jacques Noyé. Declarative Events for Object-Oriented Programming. Research Report RR-7313, INRIA, May 2010. Keyword(s): Event-Driven Programming, Object-Oriented Programming, Aspect-Oriented Programming, Declarative Events, Scala.


  36. Guilhem Jaber. Krivine Realizability for Compiler Correctness. Master's thesis, June 2010.


  37. Hervé Grall. Proving Fixed Points. , 2010. Keyword(s): fixed points, partially ordered sets, inference systems, induction, coinduction.


  38. Hervé Grall and Nicolas Tabareau. Linear logic as a foundation for service-oriented computing. , 2010.


2009
  1. Thomas Cleenewerck, Johan Fabry, Anne-Françoise Lemeur, Jacques Noyé, and Éric Tanter, editors. DSAL '09: Proceedings of the 2009 AOSD workshop on Domain-specific aspect languages, Charlottesville, VA, USA, 2009. ACM Press.


  2. Hugo Arboleda. FieSta: An approach for Fine-Grained Scope Definition, Configuration and Derivation of Model-Driven Software Product Lines. PhD thesis, Universidad de Los Andes at Bogota and Université de Nantes, October 2009.


  3. Luis Daniel Benavides Navarro. Distributed Aspects: better separation of crosscutting concerns in distributed software systems. PhD thesis, Université de Nantes and École des Mines de Nantes, January 2009.


  4. Simplice Djoko Djoko. Programmation par aspects et préservation de propriétés. PhD thesis, Université de Nantes, Juin 2009.


  5. Fabien Hermenier. Gestion dynamique des tâches dans les grappes, une approche à base de machines virtuelles. PhD thesis, Université de Nantes, November 2009.


  6. Marc Léger. Fiabilité des Reconfigurations Dynamiques dans les Architectures à Composants. PhD thesis, Ecole Nationale Supérieure des Mines de Paris, May 2009.


  7. Nicolas Anquetil, Uirá Kulesza, Ralf Mitschke, Ana Moreira, Jean-Claude Royer, Andreas Rummler, and André Sousa. A Model-Driven Traceability Framework for Software Product Lines. Software and Systems Modeling, 2009.


  8. Pierre-Charles David, Thomas Ledoux, Marc Léger, and Thierry Coupaye. FPath and FScript: Language Support for Navigation and Reliable Reconfiguration Fractal Architectures. Annals of Telecommunications, 64:45-63, February 2009.


  9. Xavier Leroy and Hervé Grall. Coinductive big-step operational semantics. Information and Computation, 207:284-304, 2009.
    Abstract:
    Using a call-by-value functional language as an example, this article illustrates the use of coinductive definitions and proofs in big-step operational semantics, enabling it to describe diverging evaluations in addition to terminating evaluations. We formalize the connections between the coinductive big-step semantics and the standard small-step semantics, proving that both semantics are equivalent. We then study the use of coinductive big-step semantics in proofs of type soundness and proofs of semantic preservation for compilers. A methodological originality of this paper is that all results have been proved using the Coq proof assistant. We explain the proof-theoretic presentation of coinductive definitions and proofs offered by Coq, and show that it facilitates the discovery and the presentation of the results.


  10. Pascal André, Nicolas Anquetil, Gilles Ardourel, Jean-Claude Royer, Petr Hnetynka, Tomas Poch, Dragos Petrascu, and Vladiela Petrascu. JavaCompExt: Extracting Architectural Elements from Java Source Code. In Proceedings of the 16th Working Conference on Reverse Engineering (WCRE 2009), tool demonstration, Lille, France, pages 317-318, October 2009.


  11. Hugo Arboleda, Rubby Casallas, and Jean-Claude Royer. Dealing with Fine-Grained Configurations in Model-Driven SPLs. In Proceedings of the 13th International Software Product Line Conference (SPLC'09), San Francisco, CA, USA, August 2009.


  12. Hugo Arboleda, Andres Romero, Rubby Casallas, and Jean-Claude Royer. Product Derivation in a Model-Driven Software Product Line using Decision Models. In Proceedings of the 12th Iberoamerican Conference on Requirements Engineering and Software Environments (IDEAS'09), Medellin, Colombia, pages 59-72, April 2009.
    Abstract:
    We present a mechanism to derivate products of Software Product Lines (SPLs) using decision models. Our approach to create SPLs is based on Model Driven Engineering principles. It uses metamodels and model transformation programs, which are sets of ordered model transformation rules, to obtain concrete software artifacts departing from an initial model. It uses also feature models to express the variability included in the SPLs. Because of the variability, to derivate product line members, we have to adapt the transformation programs according to user choices done on the feature models. The choices are gathered in configurations. Then, to derivate a product, we process a specific configuration and a decision model, which links variants, expressed as features, to model transformation rules. Thus, decision models enable the adaptation of the model transformation programs to derivate products including specific variants.


  13. Ali Assaf and Jacques Noyé. Flexible Pointcut Implementation: An Interpreted Approach. In Bernard Carré, editor, Actes des journées Langages et Modèles à Objets, Nancy, France, pages 45-60, Mars 2009. Cépaduès-Editions.


  14. Rémi Douence, Xavier Lorca, and Nicolas Loriant. Lazy Composition of Representations in Java. In Proceedings of the 8th International Conference on Software Composition (SC'09), LNCS, July 2009. Springer Verlag.


  15. Fabricio Fernandes, Robin Passama, and Jean-Claude Royer. Event Strictness for Components with Complex Bindings. In ISEC'09: Proceedings of the 2nd conference on India Software Engineering Conference, New York, NY, USA, 2009. ACM Press.


  16. Kelly Garcés, Frédéric Jouault, Pierre Cointe, and Jean Bézivin. A Domain Specific Language for Expressing Model Matching. In Actes de la 5ième édition des Journées sur l'Ingénierie Dirigée par les Modèles (IDM'09), Nancy, France, March 2009. Hermes.


  17. Kelly Garcés, Frédéric Jouault, Pierre Cointe, and Jean Bézivin. Managing Model Adaptation by Precise Detection of Metamodel Changes. In Proc. of ECMDA 2009, Enschede, The Netherlands, June 2009. Springer.


  18. Fabien Hermenier, Xavier Lorca, Jean-Marc Menaud, Gilles Muller, and Julia Lawall. Entropy: a Consolidation Manager for Clusters. In VEE '09: Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, New York, NY, USA, pages 41--50, 2009. ACM.


  19. Fabien Hermenier, Adrien Lèbre, and Jean-Marc Menaud. Changement de contexte pour tâches virtualisées à l'échelle de grappes. In Proc. of 7ème Conférence Francophone sur les Systèmes d'Exploitation (CFSE 7), Toulouse, September 2009.


  20. Gallard Jérôme, Adrien Lèbre, Vallée Geoffroy, Morin Christine, Gallard Pascal, and Stephen L. Scott. Refinement Proposal of the Goldberg's Theory. In Proceedings of the International Conference on Algorithms and Architectures for Parallel Processing (ICA3PP'09), Taipei, Taiwan, 2009. LNCS.


  21. Paul-André Melliès, Nicolas Tabareau, and Christine Tasson. An explicit formula for the free exponential modality of linear logic. In Automata, Languages and Programming 36th International Colloquium on Automata, Languages and Programming, Lecture Notes in Computer Science, Rhodes Grèce, pages 247-260, July 2009. Springer.


  22. Brice Morin, Thomas Ledoux, Mahmoud Ben Hassine, Frank Chauvel, Olivier Barais, and Jean-Marc Jézéquel. Unifying Runtime Adaptation and Design Evolution. In IEEE 9th International Conference on Computer and Information Technology (CIT'09), Xiamen, China, October 2009.


  23. Angel Nuñez, Jacques Noyé, and Vaidas Gasiunas. Declarative Definition of Contexts with Polymorphic Events. In Proceedings of the International Workshop on Context-Oriented Programming at ECOOP'09 (COP'09), Genova, Italy, 2009. ACM Press.


  24. Riteau Pierre, Adrien Lèbre, and Morin Christine. Handling Persistent States in Process Checkpoint/Restart Mechanisms for HPC Systems. In Proceedings of the 9th IEEE International Symposium on Cluster Computing and Grid (CCGRID 2009), Shangai, China, 2009. IEEE Computer Society Press.


  25. Éric Tanter, Johan Fabry, Rémi Douence, Jacques Noyé, and Mario Südholt. Expressive Scoping of Distributed Aspects. In AOSD '09: Proceedings of the 8th ACM international conference on Aspect-oriented software development, pages 27-38, 2009. ACM Press.


  26. Hien Nguyen Van, Frédéric Dang Tran, and Jean-Marc Menaud. Autonomic virtual resource management for service hosting platforms. In Proceedings of the Workshop on Software Engineering Challenges in Cloud Computing, Vancouver, Canada, pages ?, April 2009.
    Abstract:
    Cloud platforms host several independent applications on a shared resource pool with the ability to allocate computing power to applications on a per-demand basis. The use of server virtualization techniques for such platforms provide great flexibility with the ability to consolidate several virtual machines on the same physical server, to resize a virtual machine capacity and to migrate virtual machine across physical servers. A key challenge for cloud providers is to automate the management of virtual servers while taking into account both high-level QoS requirements of hosted applications and resource management costs. This paper proposes an autonomic resource manager to control the virtualized environment which decouples the provisioning of resources from the dynamic placement of virtual machines. This manager aims to optimize a global utility function which integrates both the degree of SLA fulfillment and the operating costs. We resort to a Constraint Programming approach to formulate and solve the optimization problem. Results obtained through simulations validate our approach.


  27. Gallard Jérôme, Adrien Lèbre, and Morin Christine. Saline: Improving Best-Effort Job Management in Grids. Research Report RR-7055, INRIA, 2009.


2008
  1. Thomas Cleenewerck, Jacques Noyé, Johan Fabry, Anne-Françoise Le Meur, and Éric Tanter, editors. DSAL '08: Proceedings of the 2008 AOSD workshop on Domain-specific aspect languages, Brussels, Belgium, 2008. ACM Press.


  2. Jean-Claude Royer, editor. RSTI - L'objet, Usines logicielles et lignes de produits logiciels, volume 14 of RSTI - L'objet, June 2008. Lavoisier. Note: ISSN = 1262-1137.


  3. Frans Sanen, Ruzanna Chitchyan, Lodewijk Bergmans, Johan Fabry, Mario Südholt, and Katharina Mehner, editors. Report on the Int. WS on Aspects, Dependencies and Interactions (ADI'07), LNCS 4906, February 2008.


  4. Sebastian Pavel. A Hierarchical Component Model with Interaction Protocols. PhD thesis, Université de Nantes, October 2008. Keyword(s): component models, interaction protocol, symbolic transition systems, code generation, Java.
    Abstract:
    The Component Based Software Engineering (CBSE) represents an important trend in the development of software architectures. The components are the core of the software applications and the recent efforts concentrate on conceiving component models integrating important properties as for example explicit interaction protocols. Interaction protocols allow a component to publish its behavior in terms of message emission and receipt. Thus, component assemblages can be more effective than in the traditional approach where only static interfaces (input and output) are available. In this thesis, we propose a component model considering black box components integrating interaction protocols described as Symbolic Transition Systems (STSs). STSs allow the description and verification of complex protocols while dealing with the state explosion problem for example. The model also specifies the compatibility rules, the substitution and the assemblage verification algorithms and a component description language. We propose a generative approach on implementing our model in the Java programming language. The Java code is automatically generated starting from high level component descriptions assuring that the component code is conforming with its specification.


  5. Nicolas Anquetil, Hugo Arboleda, Fabricio Fernandes, Angel Nuñez, and Jean-Claude Royer. Lignes de produits logiciels et usines logicielles. RSTI - L'objet, Usines logicielles et lignes de produits logiciels, 14(3):15-31, November 2008.


  6. Nicolas Anquetil, Joost Noppen, and Ismenia Galvão. La traçabilité dans les lignes de produits logiciels. RSTI - L'objet, Usines logicielles et lignes de produits logiciels, 14(3):47--57, 2008.


  7. Fabricio Fernandes and Jean-Claude Royer. The STSLib Project: Towards a Formal Component Model Based on STS. Electronic Notes in Theoretical Computer Science, (215):131-149, 2008.


  8. Joost Noppen and Jean-Claude Royer. The Ample Project, Traceability of Software Product Line Development: Models and Uncertainty. Revue du Génie Logiciel, (85):43-48, June 2008.


  9. Éric Tanter, Rodolfo Toledo, Guillaume Pothier, and Jacques Noyé. Flexible Metaprogramming and AOP in Java. Science of Computer Programming, 72(1-2):22-30, 2008. Note: Special issue on Experimental Software and Toolkits.


  10. Nicolas Anquetil, Birgit Grammel, Ismenia Galvão, Joost Noppen, Safoora Shakil Khan, Hugo Arboleda, Awais Rashid, and Alessandro Garcia. Traceability for Model Driven, Software Product Line Engineering. In ECMDA Traceability Workshop (ECMDA-TW) 2008 Proceedings, pages 77--86, June 2008.


  11. Hugo Arboleda, Ruby Casallas, and Jean-Claude Royer. Using Transformation-Aspects in Model-Driven Software Product Lines. In Proceedings of the 3th International Workshop on Aspects, Dependencies, and Interactions at 22nd European Conference on Object-Oriented Programming (ECOOP'07), Paphos, Cyprus, July 2008. Keyword(s): aod, constraints, md-spl, variability.
    Abstract:
    Model-Driven Software Product Lines (MD-SPL) are configured by using configuration models and Problem Space metamodels that capture product line scope. Products are derived by means of successive model transformations, starting from problem space models and based on the configuration models. Fine-variations of MD-SPLs correspond to characteristics that afect particular elements of models involved in the model transformations. In this paper, we present an approach to create MD-SPL including fine-variations. We configure products creating fine-feature configurations. Then, based on such configurations, we create MD-SPLs using principles of Aspects Oriented Development. Thus, our approach allows to derive products including fine-grained details of configuration.


  12. Ali Assaf and Jacques Noyé. Dynamic AspectJ. In DLS'08: Proceedings of the 2008 symposium on Dynamic Languages, Paphos, Cyprus, July 2008. ACM Press.


  13. Fabien Baligand, Nicolas Rivierre, and Thomas Ledoux. QoS Policies for Business Processes in Service Oriented Architectures. In Proceedings of the 6th International Conference on Service Oriented Computing (ICSOC), Sydney, Australia, December 2008. Springer-Verlag. Note: To Appear.


  14. Luis Daniel Benavides Navarro, Rémi Douence, Fabien Hermenier, Jean-Marc Menaud, and Mario Südholt. Aspect-based patterns for grid programming. In Proc. of the 20th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD'08), October 2008. IEEE Press.


  15. Luis Daniel Benavides Navarro, Rémi Douence, Angel Nuñez, and Mario Südholt. LTS-based Semantics and Property Analysis of Distributed Aspects and Invasive Patterns. In Proc. of the 3rd International Workshop on Aspects, Dependencies, and Interactions (ADI'08), July 2008.


  16. Luis Daniel Benavides Navarro, Rémi Douence, and Mario Südholt. Debugging and testing middleware with aspect-based control-flow and causal patterns. In In proceedings of the ACM/IFIP/USENIX 9th International Middleware Conference, Leuven, Belgium, December 2008. Springer-Verlag.


  17. Thomas Cleenewerck, Jacques Noyé, Johan Fabry, Anne-Françoise Le Meur, and Éric Tanter. Summary of the third workshop on Domain-Specific Aspect Languages. In , pages 1--5, 2008. ACM Press.


  18. Pierre-Charles David, Marc Léger, Hervé Grall, Thomas Ledoux, and Thierry Coupaye. A Multi-Stage Approach for Reliable Dynamic Reconfigurations of Component-Based Systems. In Proceedings of the 8th IFIP International Conference on Distributed Applications and Interoperable Systems (DAIS'08), LNCS, Oslo, Norway, June 2008. Springer Verlag.


  19. Simplice Djoko Djoko, Rémi Douence, and Pascal Fradet. Aspects Preserving Properties. In ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'08), San Francisco, CA, USA, pages 135--145, January 2008. ACM Press.


  20. Simplice Djoko Djoko, Rémi Douence, and Pascal Fradet. Specialized Aspect Languages Preserving Classes of Properties. In SEFM'08, pages 227--236, November 2008. IEEE Computer Society Press.


  21. Bruno De Fraine, Mario Südholt, and Vivian Jonckers. StrongAspectJ: Flexible and Safe Pointcut/Advice Bindings. In Mira Mezini, editor, Proceedings of the 7th ACM Int. Conf. on Aspect-Oriented Software Development (AOSD'08), March 2008. ACM Press. Note: Distinguished paper award.


  22. Fabien Hermenier, Xavier Lorca, H Cambazard, Jean-Marc Menaud, and Narendra Jussien. Reconfiguration automatique du placement dans les grilles de calculs dirigée par des objectifs. In Proc. of 6ème Conférence Francophone sur les Systèmes d'Exploitation (CFSE06), Fribourg, Swiss, February 2008.


  23. Nagapraveen Jayaprakash, Christine Collet, Thierry Coupaye, and Pierre-Charles David. Flexible Reactive Capabilities in Component-Based Autonomic Systems. In 5th IEEE Workshop on Engineering of Autonomic and Autonomous Systems (EASe 2008), Belfast, Northern Ireland, March 2008. IEEE.


  24. Angel Nuñez and Jacques Noyé. An Event-Based Coordination Model for Context-Aware Applications. In Doug Lea and Gianluigi Zavattaro, editors, 10th International Conference on Coordination Models and Languages (COORDINATION 2008), volume 5052 of Lecture Notes in Computer Science, Oslo, Norway, pages 232--248, June 2008. Springer-Verlag.


  25. Awais Rashid, Ana Moreira, Joao Araujo, Mira Mezini, Lidia Fuentes, Jean-Claude Royer, Andreas Rummler, Christoph Pohl, and Christa Schwanninger. AMPLE : Supporting Product Line Engineering through Synthesis of Aspect-Oriented and Model-Driven Development. In MODELS Research Projects Symposium, Toulouse, France, pages 34-40, October 2008. Note: Http://www.modelsconference.org/.


  26. André Sousa, Uirá Kulesza, Andreas Rummler, Nicolas Anquetil, Ralf Mitschke, Ana Moreira, Vasco Amaral, and João Araujo. A Model-Driven Traceability Framework to Software Product Line Development. In ECMDA Traceability Workshop (ECMDA-TW) 2008 Proceedings, pages 97--109, June 2008.


  27. Kelly Garces, Frederic Jouault, Pierre Cointe, and Jean Bezivin. Adaptation of Models to Evolving Metamodels. Research Report, INRIA, November 2008.


  28. Fabien Hermenier, Xavier Lorca, Jean-Marc Menaud, Gilles Muller, and Julia Lawall. Entropy: a Consolidation Manager for Clusters. Research Report RR-6639, INRIA, September 2008.


  29. Frédéric Lepage. Environnement efficace pour automates symboliques : une approche par développement de prototype. Master's thesis, Conservatoire National des Arts et Métiers des Pays de la Loire, December 2008. Note: Mémoire d'Ingénieur CNAM.


2007
  1. Pierre Cointe, editor. Les langages à objets. Hermès, 2007. Note: Traité multi-volumes sur les sciences de l'ingénieur, série 4C.


  2. Johan Fabry, Damijan Rebernak, Thomas Cleenewerck, Anne-Françoise Le Meur, Jacques Noyé, and Éric Tanter, editors. DSAL '07: Proceedings of the 2nd workshop on Domain-Specific Aspect Languages, Vancouver, British Columbia, Canada, 2007. ACM Press.


  3. Mario Südholt and Charles Consel, editors. ECOOP 2006 Workshop Reader, volume 4379 of Lecture Notes in Computer Science, 2007. Springer Verlag.


  4. Simon Denier. Expression et composition des motifs de conception avec les aspects. PhD thesis, École des Mines de Nantes and Université de Nantes, July 2007. Keyword(s): patron de conception, motif, implémentation, composition, densité, objet, aspect, langage de programmation.
    Abstract:
    Les patrons de conception r\'epertorient les bonnes pratiques de la programmation par objets. Les solutions des patrons, appel\'ees motifs, apparaissent avec une densit\'e croissante dans les biblioth\`eques et cadriciels. Les effets de cette densit\'e sur la modularit\'e, l'adaptation et la r\'eutilisation des programmes sont mal connus. Or la dispersion et le m\'elange du code li\'e \`a l'impl\'ementation des motifs rendent difficile l'\'etude de ces effets. La programmation par aspects est une technique nouvelle d\'edi\'ee au traitement de ces deux sympt\^omes. En modularisant les motifs dans des aspects, nous pouvons analyser de mani\`ere plus fine les probl\`emes d'impl\'ementation et de composition des motifs li\'es \`a leur densit\'e. Cette th\`ese aborde les probl\`emes de la densit\'e, de l'impl\'ementation et de la composition des motifs avec AspectJ, une extension de Java pour les aspects. \`A partir du cas concret du cadriciel JHotDraw, nous montrons qu'une forte densit\'e est un facteur de risque sur la modularit\'e et l'adaptation d'un programme objet. Nous pr\'esentons la transformation des motifs \`a l'aide des aspects et nous d\'ecrivons les idiomes d'AspectJ supportant leur modularisation. Nous examinons la modularit\'e et la r\'eutilisation des compositions de motifs d\'efinies avec les aspects. Nous proposons la r\'esolution des interactions entre motifs \`a l'aide du langage de coupe des aspects. Enfin nous d\'eveloppons une m\'ethode de programmation avec AspectJ bas\'ee sur l'usage conjoint des classes et des aspects. Ces travaux nous permettent de conclure sur l'int\'er{\~A}ªt des aspects comme moyen d'\'etude et de traitement de la densit\'e des motifs. Ils ouvrent \'egalement des pistes pour l'am\'elioration des langages d'aspects.


  5. Mario Südholt. Towards expressive, well-founded and correct Aspect-Oriented Programming. PhD thesis, Habilitation (HDR) thesis, University of Nantes, July 2007.


  6. Pierre Cointe, Hervé Albin-Amiot, and Rémi Douence. Le langage Java ou JavaHanoi : un cadre pour l'enseignement de Java. In Pierre Cointe, editor, Les langages à objets. Hermès, . Note: Traité multi-volumes sur les sciences de l'ingénieur, série 4C.


  7. Rémi Douence and Pascal Fradet. The next 700 Krivine machines. Higher-Order and Symbolic Computation, 20(3):237-255, September 2007. Keyword(s): Krivine machine, abstract machines, program transformation, compilation, functional language implementations..
    Abstract:
    The Krivine machine is a simple and natural implementation of the normal weak-head reduction strategy for pure l-terms. While its original description has remained unpublished, this machine has served as a basis for many variants, extensions and theoretical studies. In this paper, we present the Krivine machine and some well-known variants in a common framework. Our framework consists of a hierarchy of intermediate languages that are subsets of the l-calculus. The whole implementation process (compiler + abstract machine) is described via a sequence of transformations all of which express an implementation choice. We characterize the essence of the Krivine machine and locate it in the design space of functional language implementations. We show that, even within the particular class of Krivine machines, hundreds of variants can be designed.


  8. Kelly Garces, C. Parra, Hugo Arboleda, A. Yie, and Rubby Casallas. Variability Management in a Model-Driven Software Product Line. Avances en Sistemas e InformÃ!'tica, 4(2):3--12, September 2007.


  9. Hugo Arboleda, Rubby Casallas, and Jean-Claude Royer. Comparing two Implementations of an Approach for Managing Variability in Product Line Construction Using the GMF and GME Frameworks. In Proceedings of the 5th Nordic Workshop on Model Driven Engineering, pages 67 -- 82, August 2007.


  10. Hugo Arboleda, Rubby Casallas, and Jean-Claude Royer. Dealing with Constraints during a Feature Configuration Process in a Model-Driven Software Product Line (DSM'07). In J. Sprinkle, J. Gray, M. Rossi, and J. P. Tolvanen, editors, Proceedings of The 7th OOPSLA Workshop on Domain-Specific Modeling, Montreal, Canada, pages 178--183, October 2007.


  11. Hugo Arboleda, Rubby Casallas, and Jean-Claude Royer. Implementing an MDA Approach for Managing Variability in Product Line Construction Using the GMF and GME Frameworks. In M. Staron # and # L. Kuzniarz, editors, Proceedings of the 5th Nordic Workshop on Model Driven Software Engineering (NW-MoDE07), Ronneby, Sweden, pages 67--82, August 2007.


  12. Fabien Baligand, Thomas Ledoux, and Pierre Combes. Une Approche pour Garantir la Qualité de Service dans les Orchestrations de Services Web. In 7ème Conférence Internationale sur les NOuvelles TEchnologies de la REpartition (NOTERE 2007), June 2007.


  13. Fabien Baligand, Nicolas Rivierre, and Thomas Ledoux. A Declarative Approach for QoS-Aware Web Service Compositions. In Proceedings of the 5th International Conference on Service Oriented Computing (ICSOC), September 2007. Springer-Verlag.


  14. Luis Daniel Benavides Navarro, Christa Schwanninger, Robert Sobotzik, and Mario Südholt. ATOLL: Aspect-Oriented Toll System. In Proc. 6th Int. Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS'06) at AOSD, New York, NY, USA, 2007. ACM Digital Library.


  15. Luis Daniel Benavides Navarro, Mario Südholt, Rémi Douence, and Jean-Marc Menaud. Invasive patterns for distributed programs. In Proc. of the 9th International Symposium on Distributed Objects, Middleware, and Applications (DOA'07), LNCS, November 2007. Springer Verlag.


  16. Luis Daniel Benavides Navarro, Mario Südholt, Rémi Douence, and Jean-Marc Menaud. Invasive patterns: aspect-based adaptation of distributed applications. In 4th International Workshop on Coordination and Adaptation Techniques for Software Entities (WCAT´07) at the 21st European Conference on Object-Oriented Programming ECOOP'07, July 2007.


  17. L. Burgy, L. Réveillère, Julia Lawall, and Gilles Muller. A Language-Based Approach for Improving the Robustness of Network Application Protocol Implementations. In 26th IEEE International Symposium on Reliable Distributed Systems, October 2007. Keyword(s): DSL, Zebu.


  18. Pierre Cointe. On the Evolution of Programming Languages. In Andrew Gerzo, editor, Les paradigmes informatiques appliqués à la musique (Festival Agora), IRCAM, Paris - France, June 2007. Note: Conférence invitée.


  19. Pierre Cointe. Quelques réflexions sur la programmation post objet. In Mohammed Erradi, editor, NOuvelles TEchnologies de la RÉpartition (NOTERE), Marrakech, Maroc, pages 391, June 2007. Note: Conférence invitée.


  20. Fabricio Fernandes and Jean-Claude Royer. Components with Symbolic Transition Systems: A Java Implementation of Rendez-Vous. In IOS Press, editor, Proceedings of the Communicating Process Architecture Conference 2007, volume 65 of Concurrent Systems Engineering, pages 89-107, 2007.


  21. Nicolas Loriant and Jean-Marc Menaud. Generalized Dynamic Probes for the Linux Kernel and Applications with Arachne. In Proceedings of the 2007 IADIS Applied Computing International Conference (AC'O7), Salamanca, Spain, February 2007.


  22. Marc Léger, Thomas Ledoux, and and Thierry Coupaye. Reliable dynamic reconfigurations in the Fractal component model. In Proc. 6th Workshop on Adaptive and Reflective Middleware (ARM2007) at Middleware, November 2007. ACM Digital Library.


  23. Dong Ha Nguyen and Mario Südholt. Property-preserving evolution of components using VPA-based aspects. In Proceedings of the 9th International Symposium on Distributed Objects and Applications (DOA'07)., November 2007. Springer-Verlag.


  24. Dong Ha Nguyen and Mario Südholt. Property-preserving evolution of components using VPA-based aspects. In 4th ECOOP'2007 Workshop on Reflection, AOP and Meta-Data for Software Evolution (RAM-SE), 2007.


  25. Angel Nuñez and Jacques Noyé. A Domain-Specific Language for Coordinating Concurrent Aspects in Java. In Rémi Douence and Pascal Fradet, editors, 3ème Journée Francophone sur le Développement de Logiciels Par Aspects (JFDLPA 2007), Toulouse, France, March 2007.


  26. Angel Nuñez and Jacques Noyé. A Seamless Extension of Components with Aspects using Protocols. In Ralf Reussner, Clemens Szyperski, and Wolfgang Weck, editors, WCOP 2007 - Components beyond Reuse - 12th International ECOOP Workshop on Component-Oriented Programming, Berlin, Germany, July 2007.


  27. Yoann Padioleau, Julia Lawall, and Gilles Muller. Semantic Patches, Documenting and Automating Collateral Evolutions in Linux Device Drivers. In Ottawa Linux Symposium (OLS 2007), June 2007.


  28. Juraj Polakovic, Sébastien Mazaré, Jean-Bernard Stefani, and Pierre-Charles David. Exprience with Implementing safe reconfigurations in component-based embedded systems. In The 10th International ACM SIGSOFT Symposium on Component-Based Software Engineering (CBSE'2007), Lecture Notes in Computer Science, Boston, MA, USA, July 2007. acm, Springer-Verlag.


  29. Henrik Stuart, René Rydhof Hansen, Julia Lawall, Jesper Andersen, Yoann Padioleau, and Gilles Muller. Towards Easing the Diagnosis of Bugs in OS Code. In 4th Workshop on Programming Languages and Operating Systems (PLOS 2007), October 2007.


  30. Richard Urunuela, Gilles Muller, and Julia Lawall. Towards Class-Based Dynamic Voltage Scaling for Multimedia Applications. In Luca Benini, Naehyuck Chang, Ulrich Kremer, and Christian W. Probst, editors, Power-aware Computing Systems, number 07041 of Dagstuhl Seminar Proceedings, 2007. Internationales Begegnungs- und Forschungszentrum fuer Informatik (IBFI), Schloss Dagstuhl, Germany. Note: Http://drops.dagstuhl.de/opus/volltexte/2007/1108.


  31. Simplice Djoko Djoko, Rémi Douence, and Pascal Fradet. Proof of correctness of aspect transformations in the CASB. Research Report D88, Network of Excellence in AOSD (AOSD-Europe), July 2007.


  32. Bruno De Fraine, Mario Südholt, and Viviane Jonckers. A Formal Semantics of Flexible and Safe Pointcut/Advice Bindings. Technical report SSEL 02/2007/a, Vrije Universiteit Brussel, October 2007.


  33. Fabricio Fernandes and Jean-Claude Royer. The STSLIB Project: Towards a Formal Component Model Based on STS. Note: Formal Aspects of Component Software to appear, 2007.


2006
  1. Pierre Cointe. Les langages à objets. pub.vui, October 2006. Note: Chapitre de l'Encyclopédie de l'informatique et des systèmes d'information.


  2. Welf Löwe and Mario Südholt, editors. Software Composition, volume 4089 of Lecture Notes in Computer Science, Vienna, Austria, 2006. Springer-Verlag. Note: 5th International Symposium, SC 2006.


  3. Éric Tanter, Eric Cleenewerck, Fabry Thomas, Anne-Françoise Le Meur, and Jacques Noyé, editors. Proceedings of the First Domain-Specific Aspect Languages Workshop, 2006. Vrije Universiteit Brussel. Note: VUB-PROG-TR-06-33.


  4. Gustavo Bobeff. Spécialisation de composants. PhD thesis, École des Mines de Nantes and Université de Nantes, November 2006.


  5. Johan Brichau, Ruzanna Chitchyan, Siobhán Clarke, Ellie D'Hondt, Alessandro Garcia, Michael Haupt, Wouter Joosen, Shmuel Katz, Jacques Noyé, Awais Rashid, and Mario Südholt. A Model Curriculum for Aspect-Oriented Software Development. IEEE Software, 23(6):18, nov/dec 2006. Note: Special issue on Software Engineering Curriculum Development.


  6. Pierre Cointe. La programmation par aspects relève le défi des usines logicielles. 01 Informatique, pp 28, 30 juin 2006. Note: Carte blanche à l'occasion d'ECOOP 2006.


  7. Simon Denier and Pierre Cointe. Expression and Composition of Design Patterns with AspectJ. RSTI - L'objet, 12(2-3):41-61, 2006. Note: JFDLPA 2005.


  8. Rémi Douence, Thomas Fritz, Nicolas Loriant, Jean-Marc Menaud, Marc Ségura-Devillechaise, and Mario Südholt. An expressive aspect language for system applications with Arachne. Transactions on Aspect-Oriented Software Development, 3880:174-213, March 2006.


  9. Hervé Grall. A Confinement Criterion for Securely Executing Mobile Code. Journal of Automata, Languages and Combinatorics, 11(1):59-106, 2006.


  10. Pascal Poizat and Jean-Claude Royer. A Formal Architectural Description Language based on Symbolic Transition Systems and Modal Logic. Journal of Universal Computer Science, 12(12):1741-1782, 2006.


  11. Marc Ségura-Devillechaise, Jean-Marc Menaud, Nicolas Loriant, Thomas Fritz, Rémi Douence, Mario Südholt, and Egon Wuchner. Dynamic Adaptation of the Squid Web Cache with Arachne. IEEE Software, 23(1):34-41, 2006. Note: Special Issue on Aspect-Oriented Computing.


  12. Luis Daniel Benavides Navarro, Mario Südholt, Wim Vanderperren, Bruno De Fraine, and Davy Suvée. Explicitly distributed AOP using AWED. In Aspect-Oriented Software Development (AOSD), pages 51-62, March 2006. ACM Press.


  13. Luis Daniel Benavides Navarro, Mario Südholt, Wim Vanderperren, and Bart Verheecke. Modularization of distributed web services using Aspects With Explicit Distribution (AWED). In Proceedings of the 8th International Symposium on Distributed Objects and Applications (DOA'06)., London, UK, November 2006. Springer-Verlag.


  14. Jean-Paul Bodeveix, Mamoun Filali, Julia Lawall, and Gilles Muller. Vérification automatique de propriétés d'ordonnanceurs Bossa. In AFADL, ENST Paris, pages 95-109, 15-17 mars 2006. ENST.


  15. Pierre-Charles David and Thomas Ledoux. An Aspect-Oriented Approach for Developing Self-Adaptive Fractal Components. In Welf Löwe and Mario Südholt, editors, International Workshop on Software Composition (SC), volume 4089 of Lecture Notes in Computer Science, Vienna, Austria, pages 82-97, March 2006. ???. Note: 5th International Symposium, SC 2006. Keyword(s): fractal, components, aop, aosd, dynamic adaptation, dynamic weaving, dsl, eca.
    Abstract:
    Nowadays, application developers have to deal with increasingly variable execution contexts, requiring the creation of applications able to adapt themselves autonomously to the evolutions of this context. In this paper, we show how an aspect-oriented approach enables the development of self-adaptive applications where the adaptation code is well modularized, both spatially and temporally. Concretely, we propose SAFRAN, an extension of the Fractal component model for the development of the adaptation aspect as reactive adaptation policies. These policies detect the evolutions of the execution context and adapt the base program by reconfiguring it. This way, SAFRAN allows the development of the adaptation aspect in a modular way and its dynamic weaving into applications.


  16. Pierre-Charles David and Thomas Ledoux. Safe Dynamic Reconfigurations of Fractal Architectures with FScript. In Proceeding of Fractal CBSE Workshop, ECOOP'06, Nantes, France, July 2006.


  17. Simon Denier and Pierre Cointe. Understanding Design Patterns Density with Aspects. a Case Study in JHotDraw using AspectJ. In Welf Löwe and Mario Südholt, editors, International Workshop on Software Composition (SC), volume 4089 of Lecture Notes in Computer Science, Vienna, Austria, pages 243-258, March 2006. Springer-Verlag. Note: 5th International Symposium, SC 2006.


  18. Rémi Douence. Relational Aspects for Context passing Beyond Stack Inspection. In International Workshop on Software Engineering Properties of Languages and Aspect Technologies (SPLAT'06), March 2006.


  19. Rémi Douence, Didier Le Botlan, Jacques Noyé, and Mario Südholt. Concurrent Aspects. In Generative Programming and Component Engineering (GPCE), October 2006. ACM Press.


  20. Rémi Douence, Didier Le Botlan, Jacques Noyé, and Mario Südholt. Towards a model of concurrent AOP. In International Workshop on Software Engineering Properties of Languages and Aspect Technologies (SPLAT'06), March 2006.


  21. Fabien Hermenier, Nicolas Loriant, and Jean-Marc Menaud. Power Management in Grid Computing with Xen. In Proceedings of 2006 on XEN in HPC Cluster and Grid Computing Environments (XHPC06), number 4331 of Lecture Notes in Computer Science, Sorento, Italy, pages 407-416, December 2006. Springer-Verlag.


  22. Nicolas Loriant and Jean-Marc Menaud. The Case for Distributed Execution Replay using a Virtual Machine. In Proceedings of 2006 WETICE workshop on Emerging Technologies for Grid Computing (ETNGRID06), Manchester, England, June 2006.


  23. Nicolas Loriant, Marc Ségura-Devillechaise, Thomas Fritz, and Jean-Marc Menaud. A Reflexive Extension to Arachne's Aspect Language. In Proceedings of 2006 AOSD workshop on Open and Dynamic Aspect Languages (ODAL'O6), Bonn, Germany, March 2006.


  24. Marc Léger, T. Coupaye, and Thomas Ledoux. Contrôle dynamique de l'intégrité des communications dans les architectures à composants. In R. Rousseau, C. Urtado, and S. Vauttier, editors, Langages et Modèles à Objets, pages 21-36, March 2006. Hermès-Lavoisier.


  25. Dong Ha Nguyen and Mario Südholt. VPA-based aspects: better support for AOP over protocols. In 4th IEEE International Conference on Software Engineering and Formal Methods (SEFM'06), September 2006. IEEE Computer Society Press.


  26. Yoann Padioleau, Julia Lawall, and Gilles Muller. SmPL: A Domain-Specific Language for Specifying Collateral Evolutions in Linux Device Drivers. In International ERCIM Workshop on Software Evolution, Lille, France, April 2006.


  27. Yoann Padioleau, Julia Lawall, and Gilles Muller. Understanding Collateral Evolution in Linux Device Drivers. In The first ACM SIGOPS EuroSys conference (EuroSys), Leuven, Belgium, pages 59-71, April 2006. Note: Previous version also available as INRIA Research Report RR-5769.


  28. Pascal Poizat, Jean-Claude Royer, and Gwen Salaün. Bounded Analysis and Decomposition for Behavioural Description of Components. In Springer-Verlag, editor, Proceedings of FMOODS, volume 4037 of Lecture Notes in Computer Science, pages 33-47, 2006.


  29. Richard Urunuela. Adaptation continue pour les bornes d'information multimédia et gestion d'énergie. In Perpi'2006 - Conférences conjointes RenPar'17 / SympA'2006 / CFSE'5 / JC'2006, Canet en Roussillon, pages 280-286, October 2006.
    Abstract:
    La puissance de calcul des syst\`emes mobiles rend possible l'exploitation d'application multim\'edia. C'est souvent au d\'etriment de l'autonomie. Le cas des bornes multim\'edia est particuli\`erement int\'eressant car elles traitent des flux de fa\c{c}on continue, l'historique de traitement ainsi obtenu peut {\~A}ªtre utilis\'e pour alimenter un algorithme de d\'ecision de gestion de l'\'energie du syst\`eme et augmenter l'autonomie. Cette approche permet de maximiser l'utilisation de la ressource \'energ\'etique fournie par des panneaux solairee ou des batteries.


  30. Richard Urunuela, Julia Lawall, and Gilles Muller. Energy Adaptation for Multimedia Information Kiosks. In S.L. Min and W. Yi, editors, International Conference on Embedded Software, EMSOFT'06, Seoul, South Korea, October 2006. ACM Press.
    Abstract:
    Video kiosks increasingly contain powerful PC-like embedded processors, allowing them to display video at a high level of quality. Such video display, however, entails significant energy consumption. This paper presents an approach to reducing energy consumption by adapting the CPU clock frequency. In contrast to previous approaches, we exploit the specific behavior of a video kiosk. Because a kiosk plays the same set of movies over and over, we choose a CPU frequency for a given frame based on the computational requirements of the frame that were observed on earlier iterations. We have implemented our approach in the legacy video player MPlayer. On a PC like those that can be found in kiosks, we observe increases in battery lifetime of up to 2 times as compared to running at the maximum CPU frequency on a set of high resolution divx movies.


  31. Luis Daniel Benavides Navarro, Mario Südholt, Wim Vanderperren, Bruno De Fraine, and Davy Suvée. Explicitly distributed AOP using AWED. Research Report RR-5882, INRIA, March 2006. Note: Slightly extended version of [Benavides et al., AOSD'06].
    Abstract:
    Distribution-related concerns, such as data replication, often crosscut the business code of a distributed application. Currently such crosscutting concerns are frequently realized on top of distributed frameworks, such as EJBs, and initial AO support for the modularization of such crosscutting concerns, \eg JBoss AOP and Spring AOP, has been proposed. Based on an investigation of the implementation of replicated caches using JBoss Cache, we motivate that crosscutting concerns of distributed applications benefit from an aspect language for explicit distributed programming. We propose \dhamaca, a new aspect language with explicit distributed programming mechanisms, which provides three contributions. First, remote pointcut constructors which are more general than those of previous related approaches, in particular, supporting remote sequences. Second, a notion of distributed advice with support for asynchronous and synchronous execution. Third, a notion of distributed aspects including models for the deployment, instantiation and state sharing of aspects. We show several concrete examples how \dhamaca can be used to modularly implement and extend replicated cache implementations. Finally, we present a prototype implementation of \dhamaca, which we have realized by extending JAsCo, a system providing dynamic aspects for Java.


  32. Simplice Djoko Djoko, Rémi Douence, Pascal Fradet, and Didier Le Botlan. CASB : Common Aspect Semantics Base. Research Report 41, AOSD-Europe, February 2006.


  33. Simplice Djoko Djoko, Rémi Douence, Pascal Fradet, and Didier Le Botlan. CASB: Common Aspect Semantics Base. Research Report D54, AOSD-Europe, August 2006. Note: Revised version of Research Report 41 AOSD-Europe.


  34. Rémi Douence, Didier Le Botlan, Jacques Noyé, and Mario Südholt. Concurrent aspects. Research Report RR-5873, INRIA, March 2006.


  35. Rémi Douence and Jacques Noyé. Towards a Concurrent Model of Event-based Aspect-Oriented Programming. Research Report RR-5838, INRIA, February 2006.


  36. Hervé Grall. The Synthesis of Reference Monitors. Technical report, École des Mines de Nantes, July 2006.


  37. Fabien Hermenier. Gestion dynamique des grilles de calcul : Application à la gestion d'énergie.. Master's thesis, École des Mines de Nantes and Université de Nantes, September 2006.


  38. Angel Nuñez. Concurrent Aspects. Master's thesis, Vrije Universiteit Brussel and École des Mines de Nantes, August 2006.


  39. Artun Ozsemerciyan. Passage de contexte par aspects. Master's thesis, École des Mines de Nantes, September 2006.


2005
  1. Pierre Cointe and Mario Südholt, editors. Programmation par aspects, volume 11-3 of RSTI - L'objet, November 2005. Hermès-Lavoisier.


  2. Pierre-Charles David. Développement de composants Fractal adaptatifs: un langage dédié à l'aspect d'adaptation. PhD thesis, École des Mines de Nantes and Université de Nantes, July 2005. Keyword(s): logiciels adaptatifs, séparation des préoccupations, politiques d'adaptation, langages dédiés, règles réactives, reconfiguration dynamique, sensibilité au contexte, composants logiciels, Fractal.
    Abstract:
    Les contextes toujours plus vari\'es et dynamiques dans lesquels les logiciels actuels s'ex\'ecutent leurs imposent de s'adapter de fa\c{c}on autonome \`a ces changements. L'objectif de cette th\`ese est de faciliter le d\'eveloppement de telles applications adaptatives, en consid\'erant l'adaptation comme un aspect qui doit {\~A}ªtre d\'evelopp\'e s\'epar\'ement du reste de l'application afin de pouvoir y {\~A}ªtre int\'egr\'e et modifi\'e dynamiquement. Pour cela nous proposons SAFRAN, une extension du mod\`ele de composants Fractal permettant d'associer dynamiquement des politiques d'adaptation aux composants d'une application. Ces politiques sont programm\'ees dans un langage d\'edi\'e sous la forme de r\`egles r\'eactives. Leur ex\'ecution repose d'une part sur WildCAT, un syst\`eme permettant de d\'etecter les volutions du contexte d'ex\'ecution (quand adapter ?), et d'autre part sur FScript, un langage d\'edi\'e pour la reconfiguration dynamique consistante de composants Fractal (comment adapter ?).


  3. Marc Ségura-Devillechaise. Traitement par aspects des problèmes d'évolution logicielle dans les caches Webs. PhD thesis, École des Mines de Nantes and Université de Nantes, July 2005. Keyword(s): cache Web, évolution logicielle, aspect.
    Abstract:
    Cette th\`ese aborde le probl\`eme de la multiplication des machines interm\'ediaires sur Internet. L'\'etude des performances de ce dernier motive l'existence de ces derni\`eres afin de r\'esoudre les probl\`emes de latence. C'est la multiplication des services disponibles sur Internet qui appelle le pullement des machines interm\'ediaires : chaque fournisseur de service cherche \`a d\'eployer, ou faire d\'eployer, des machines diminuant la latence des services qu'il fournit. Chaque service sp\'ecifique appelle une strat\'egie de r\'eplication particuli\`ere nourrissant \`a son tour l'explosion du nombre de machines interm\'ediaires d\'eploy\'ees aux fronti\`eres des r\'eseaux constituant Internet. Afin de rem\'edier \`a cette explosion, notre contribution se r\'esume \`a la construction d'un cache Web adaptable. Nous proposons d'utiliser la programmation par aspect afin de faire d'un cache Web patrimoniel : squid un cache Web ouvert. Les aspects tiss\'es \`a la vol\'ee permettent de construire l'interface entre le cache et l'adaptation. L'avantage de cette approche est de retarder le moment de la sp\'ecification de l'interface d'adaptation au moment seulement o{\~A}¹ les programmeurs sont capables de la d\'efinir, c'est-\`a-dire au moment o{\~A}¹ l'adaptation est programm\'ee. En l'absence de langage \`a aspects susceptible de servir de support \`a notre d\'emarche, nous avons con\c{c}u notre propre langage d'aspects. D'apr\`es les \'evaluations que nous avons pu conduire, les performances d'Arachne - notre syst\`eme \`a aspects - permettent de faire de squid un cache Web ouvert. Ainsi, le d\'eploiement de notre proposition est une piste prometteuse pour mettre un terme au pullulement des machines interm\'ediaires sur Internet. En acc\'el\'erant le d\'eploiement des adaptations des strat\'egies de r\'eplication existantes r\'eduisant la latence pour les nouveaux sevices, notre proposition augmente les performances d'Internet tout en mutualisant les investissements n\'ecessaires \`a son infrastructure.


  4. Jacques Noyé, Rémi Douence, and Mario Südholt. Composants et aspects. In Mourrad Oussalah, editor, Ingénierie des composants : Concepts, techniques et outils, chapter 6, pages 169-195. pub.vui, 2005.


  5. Pierre-Charles David and Thomas Ledoux. Une approche par aspects pour le développement de composants Fractal adaptatifs. RSTI - L'objet, 12(2-3):113-132, 2005. Keyword(s): composants, Fractal, reconfiguration dynamique, aspect d'adaptation.
    Abstract:
    Les d\'eveloppeurs d'application sont aujourd'hui confront\'es \`a des contextes d'ex\'ecution de plus en plus variables, qui n\'ecessitent la cr\'eation d'applications capables de s'adapter de fa\c{c}on autonome aux \'evolutions de ces contextes. Dans cet article, nous montrons qu'une approche par aspects permet de construire des applications adaptatives dans lesquelles le code d'adaptation est modularis\'e aussi bien sur le plan spatial que temporel. Concr\`etement, nous proposons SAFRAN, une extension du mod\`ele de composants Fractal permettant le d\'eveloppement de l'aspect d'adaptation sous la forme de politiques r\'eactives. Celles-ci d\'etectent les \'evolutions du contexte d'ex\'ecution et adaptent le programme de base en le reconfigurant. SAFRAN permet ainsi de d\'evelopper l'aspect d'adaptation de fa\c{c}on modulaire et de le tisser dynamiquement dans les applications.


  6. Simon Denier. Traits Programming with AspectJ. RSTI - L'objet, 11(3):69-86, 2005.


  7. Rodrìguez Leonardo, Éric Tanter, and Jacques Noyé. La réflexion comportementale partielle comme infrastructure de programmation par aspects - Étude du cas des coupes dynamiques. RSTI - L'objet, 11(3):31-52, November 2005.


  8. Jean-Paul Bodeveix, Mamoun Filali, Julia Lawall, and Gilles Muller. Applying the B formal method to the Bossa domain-specific language. In The 17th Nordic Workshop on Programming Theory (NWPT'05), Copenhagen, Denmark, pages 35-38, October 2005.


  9. Jean-Paul Bodeveix, Mamoun Filali, Julia Lawall, and Gilles Muller. Formal Methods Meet Domain Specific Languages. In Proceedings of the 5th International Conference on Integrated Formal Methods, Eindhoven, The Netherlands, pages 187-206, 2005.


  10. Pierre Cointe. Towards Generative Programming. In Jean-Pierre Banâtre, Pascal Fradet, Jean-Louis Giavitto, and Olivier Michel, editors, Unconventional Programming Paradigms, UPP 2004, volume 3566 of Lecture Notes in Computer Science, Mont St Michel, France, pages 302-312, September 2005. Springer-Verlag.


  11. Pierre Cointe, Hervé Albin-Amiot, and Simon Denier. From (meta) objects to aspects : from Java to AspectJ. In F.S. de Boer, editor, Third International Symposium on Formal Methods for Components and Objects, FMCO 2004, volume 3657 of Lecture Notes in Computer Science, Leiden, The Netherlands, pages 70-94, November 2005. Springer-Verlag.


  12. Charles Consel, Fabien Latry, Laurent Réveillère, and Pierre Cointe. A Generative Programming Approach to Developing DSL Compilers. In Robert Glück and Michael Lowry, editors, Generative Programming and Component Engineering (GPCE), volume 3676 of Lecture Notes in Computer Science, Tallinn, Estonia, pages 29-46, sep/oct 2005. Springer-Verlag.


  13. Pierre-Charles David and Thomas Ledoux. WildCAT: a generic framework for context-aware applications. In Proceeding of MPAC'05, the 3rd International Workshop on Middleware for Pervasive and Ad-Hoc Computing, Grenoble, France, November 2005. ACM Press. Keyword(s): self-adaptive applications, context-awareness, framework.
    Abstract:
    We present WildCAT, an extensible Java framework to ease the creation of context-aware applications. WildCAT provides a simple yet powerful dynamic model to represent an application's execution context. The context information can be accessed by application programmers through two complimentary interfaces: synchronous requests (pull mode) and asynchronous notifications (push mode). Internally, WildCAT is designed to support different kinds of extensions, from the simple configuration of the default generic implementation to completely new implementations tailored to specific needs. A given application can mix different implementations for different aspects of its context while only depending on WildCAT simple and unified API.


  14. Rémi Douence, Thomas Fritz, Nicolas Loriant, Jean-Marc Menaud, Marc Ségura-Devillechaise, and Mario Südholt. An expressive aspect language for system applications with Arachne. In Aspect-Oriented Software Development (AOSD), pages 27-28, March 2005. ACM Press.


  15. Rémi Douence and Jacques Noyé. Towards a Concurrent Model of Event-based Aspect-Oriented Programming. In European Interactive Workshop on Aspects in Software (EIWAS 2005), Brussels, Belgium, September 2005.


  16. Thomas Fritz, Marc Ségura-Devillechaise, Mario Südholt, Egon Wuchner, and Jean-Marc Menaud. An application of dynamic AOP to medical image generation. In International Workshop on Dynamic Aspects at AOSD (DAW'05), March 2005.


  17. Thomas Fritz, Marc Ségura-Devillechaise, Mario Südholt, Egon Wuchner, and Jean-Marc Menaud. Automating adaptive image generation for medical devices using Aspect-Oriented Programming. In Proceedings of the 10th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA'05), pages 1025-1032, September 2005.


  18. Julia Lawall, Hervé Duchesne, Gilles Muller, and Anne-Françoise Le Meur. Bossa Nova: Introducing Modularity into the Bossa Domain-Specific Language. In Robert Glück and Michael Lowry, editors, Generative Programming and Component Engineering (GPCE), volume 3676 of Lecture Notes in Computer Science, Tallinn, Estonia, pages 78-93, sep/oct 2005. Springer-Verlag.


  19. Julia Lawall, Gilles Muller, and Richard Urunuela. Tarantula: Killing Driver Bugs Before They Hatch. In The 4th AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS), Chicago, IL, pages 13-18, March 2005.


  20. Nicolas Loriant, Marc Ségura-Devillechaise, and Jean-Marc Menaud. Server protection through dynamic patching. In Proceedings of the 11th IEEE Pacific Rim International Symposium on Dependable Computing (PRDC'05), Changsha, Hunan, China, pages 343-349, December 2005. IEEE Computer Society Press.


  21. Nicolas Loriant, Marc Ségura-Devillechaise, and Jean-Marc Menaud. Software security patches -- Audit, deployment and hot update. In Proceedings of the Fourth AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS'O5), Chicago, USA, pages 25-29, March 2005.


  22. Nicolas Loriant, Marc Ségura-Devillechaise, and Jean-Marc Menaud. Un bac à sable juste à temps -- correctifs ciblés et injection à chaud. In 5ème Conférence Française sur les Systèmes d'Exploitation (CFSE'05), Le Croisic, France, pages 27-38, March 2005.


  23. Jean-Marc Menaud, Jacques Noyé, Pierre Cointe, and Christian Perez. Mixing Aspects and Components for Grid Computing. In International Workshop on Grid Systems, Tools and Environments (GTE'05), October 2005.


  24. Florian Minjat, Alexandre Bergel, Pierre Cointe, and Stéphane Ducasse. Mise en symbiose des traits et des classboxes, Application à l'expression des collaborations. In Langages et Modèles à Objets, pages 33-46, March 2005. Hermès-Lavoisier.


  25. Gilles Muller and Julia Lawall. The Bossa Framework for Scheduler Development. In Ecole d'été Temps Réel 2005, Nancy, France, pages 23-29, September 2005.


  26. Gilles Muller, Julia Lawall, and Hervé Duchesne. A Framework for Simplifying the Development of Kernel Schedulers: Design and Performance Evaluation. In Tenth IEEE International Workshop on Object-oriented Real-time Dependable Systems (WORDS 2005), Sedona, AZ, pages 219-230, February 2005.


  27. Gilles Muller, Julia Lawall, and Hervé Duchesne. A Framework for Simplifying the Development of Kernel Schedulers: Design and Performance Evaluation. In HASE 2005 - 9th IEEE International Symposium on High-Assurance Systems Engineering, Heidelberg, Germany, pages 56-65, October 2005.


  28. Sebastian Pavel, Jacques Noyé, Pascal Poizat, and Jean-Claude Royer. Java Implementation of a Component Model with Explicit Symbolic Protocols. In Thomas Gschwind, Uwe Assman, and Oscar Nierstrasz, editors, International Workshop on Software Composition (SC), volume 3628 of Lecture Notes in Computer Science, pages 115-124, April 2005. Springer-Verlag. Note: Short paper.
    Abstract:
    Component-Based Software Engineering (CBSE) has now emerged as a discipline for system development. Important issues in CBSE such as composition incompatibility detection and (dynamic) adaptation can only be addressed with the help of formal component models with Behavioural Interface Description Languages (BIDLs) and explicit protocols. The issue is then to fill the gap between such high-level models and implementation. This paper suggests to do so by relying on Symbolic Transition Systems (STSs). It describes a component model with explicit symbolic protocols based on STSs, and its implementation in Java. This implementation is based on controllers that encapsulate protocols and channels devoted to (possibly remote) communications between components.


  29. Sebastian Pavel, Jacques Noyé, and Jean-Claude Royer. Un modèle de composant avec protocole symbolique. In Journée du groupe Objets, Composants et Modèles, Bern, Suisse, March 2005.


  30. Mario Südholt. A model of components with non-regular protocols. In Thomas Gschwind, Uwe Assman, and Oscar Nierstrasz, editors, International Workshop on Software Composition (SC), volume 3628 of Lecture Notes in Computer Science, pages 99-114, April 2005. Springer-Verlag.
    Abstract:
    Behavioral specifications which are integrated into component interfaces are an important means for the correct construction of component-based systems. Currently, such specifications are typically limited to finite-state protocols because more expressive notions of protocol do not support reasonable basic composition properties, such as compatibility and substitutability. In this paper, we present first results of the integration into component interfaces of a notion of non-regular protocols based on {``}non-regular process types{''} introduced by Puntigam. More concretely, we present three contributions: (i) a motivation of the usefulness of non-regular protocols in the context of peer-to-peer applications, (ii) a language for non-regular protocols and an outline of a suitable formal definition, (iii) a discussion of basic composition properties and an analysis of how to adequately integrate protocol-modifying operators in the model.


  31. Éric Tanter and Jacques Noyé. A Versatile Kernel for Multi-Language AOP. In Robert Glück and Michael Lowry, editors, Generative Programming and Component Engineering (GPCE), volume 3676 of Lecture Notes in Computer Science, Tallinn, Estonia, pages 173-188, sep/oct 2005. Springer-Verlag.


  32. Richard Urunuela. Application coopérative et gestion de l'énergie du processeur.. In 1ères Rencontres des Jeunes Chercheurs en Informatique Temps Réel 2005 (RJCITR'05) Conjointement à l'école d'été temps réel 2005 (ETR'05), September 2005.


  33. Ali Assaf. Vers un générateur de langages d'aspects. Master's thesis, École des Mines de Nantes/Université de Nantes, September 2005.


  34. Luis Daniel Benavides Navarro. Dhamaca: an aspect-oriented language for explicit distributed programming. Master's thesis, Vrije Universiteit Brussel and École des Mines de Nantes, August 2005.


  35. S. Berkani. Conception d'un système vidéo personnel garantissant la qualité de service. Master's thesis, École des Mines de Nantes/Université de Nantes, September 2005.


  36. Richa Gupta. A Wrapper API for Reflex. Master's thesis, Vrije Universiteit Brussel and École des Mines de Nantes, August 2005.


  37. Marc Léger. Intégrité structurelle dans les architectures à composants. Application à l'intégrité des communications dans la plateforme Fractal/Julia. Master's thesis, LINA, 2005.


2004
  1. Pierre Cointe and Mario Südholt, editors. Actes de la Première Journée Francophone sur le Développement du Logiciel par Aspects (JFDLPA'04), September 2004. IRCAM - École des Mines de Nantes. Note: 04/7/INFO.


  2. Éric Tanter. From Metaobject Protocols to Versatile Kernels for Aspect-Oriented Programming. PhD thesis, École des Mines de Nantes, Université de Nantes, and University of Chile, November 2004.


  3. Noury M. Bouraqadi-Saâdani and Thomas Ledoux. Supporting AOP Using Reflection. In Mehmet Aksit, SiobhÃ!'n Clarke, Tzilla Elrad, and Robert E. Filman, editors, Aspect-Oriented Software Development, pages 261-282. Addison-Wesley, 2004.


  4. Rémi Douence, Pascal Fradet, and Mario Südholt. Trace-Based Aspects. In Mehmet Aksit, SiobhÃ!'n Clarke, Tzilla Elrad, and Robert E. Filman, editors, Aspect-Oriented Software Development, pages 201-218. Addison-Wesley, 2004.


  5. Pierre Cointe, Jacques Noyé, Rémi Douence, Thomas Ledoux, Jean-Marc Menaud, Gilles Muller, and Mario Südholt. Programmation post-objets : des langages d'aspects aux langages de composants. RSTI - L'objet, 10(4):119-143, 2004.


  6. Jean-Claude Royer. Checking Class Schema Usefulness. Journal of Object Technology (JOT), 3(1):157-176, January 2004.


  7. Gustavo Bobeff and Jacques Noyé. Component Specialization. In ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'04), Verona, Italy, pages 39-50, August 2004. ACM Press.


  8. Denis Caromel, Luis Mateu, and Éric Tanter. Sequential Object Monitors. In Martin Odersky, editor, ECOOP 2004 - Object-Oriented Programming,18th European Conference, volume 3086 of Lecture Notes in Computer Science, Oslo, Norway, pages 316-340, June 2004. Springer-Verlag.


  9. Pierre Cointe. Comprendre la programmation par aspects. In Actes du 7ième Colloque Africain sur la recherche en Informatique, CARI 2004, Hammamet, Tunisie, pages 27-29, November 2004. Note: INRIA.


  10. Pierre-Charles David and Thomas Ledoux. Pour un aspect d'adaptation dans le développement d'applications à base de composants. In Actes Journée de l'AS 150, Systèmes répartis et réseaux adaptatifs au contexte, Paris, France, April 2004.


  11. Simon Denier and Pierre Cointe. A propos du modèle des traits et de sa transposition en Java à l'aide d'AspectJ. In Journée du groupe Objets, Composants et Modèles, Lille, France, pages 13-18, March 2004.


  12. Rémi Douence, Pascal Fradet, and Mario Südholt. Composition, Reuse and Interaction Analysis of Stateful Aspects. In Aspect-Oriented Software Development (AOSD), pages 141-150, March 2004. ACM, ACM Press.


  13. Rémi Douence and Luc Teboul. A crosscut language for control-flow. In Generative Programming and Component Engineering (GPCE), volume 3286 of Lecture Notes in Computer Science, Vancouver, Canada, pages 95-114, October 2004. Springer-Verlag.


  14. Hervé Duchesne, Christophe Augier, and Richard Urunuela. Déploiement d'ordonnanceurs de processus spécifiques dans un systéme d'exploitation généraliste. In Conférence Francophone sur le Déploiement et la (Re) Configuration de Logiciels (DECOR'04), Grenoble, France, pages 193-198, October 2004.


  15. Yann-Gaël Guéhéneuc and Hervé Albin-Amiot. Recovering Binary Class Relationships: Putting Icing on the UML cake. In John Vlissides and Doug C. Schmidt, editors, Proceedings of the 19th ACM SIGPLAN conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 2004), Vancouver, Canada, pages 301-314, October 2004. ACM Press.


  16. Julia Lawall, Anne-Françoise Le Meur, and Gilles Muller. Modularity for the Bossa Process-scheduling Language. In Proceedings of the ECOOP Workshop on Programming Languages and Operating Systems (PLOS'04), Oslo, Norway, June 2004.


  17. Julia Lawall, Gilles Muller, and Hervé Duchesne. Language Design for Implementing Process Scheduling Hierarchies. In ACM SIGPLAN Symposium on Partial Evaluation and Program Manipulation - PEPM'04, Verona, Italy, pages 80-91, August 2004. ACM Press.


  18. Julia Lawall, Gilles Muller, and Anne-Françoise Le Meur. On the design of a domain-specific language for OS process-scheduling extensions. In Generative Programming and Component Engineering (GPCE), volume 3086 of Lecture Notes in Computer Science, Vancouver, Canada, pages 436-455, October 2004. Springer-Verlag.


  19. Nicolas Loriant, Marc Ségura-Devillechaise, and Jean-Marc Menaud. Des correctifs de sécurité à la mise à jour - Audit déploiement distribué et injection à chaud.. In DECOR'2004, 1ère conférence Francophone sur le déploiement et la (re)configuration de Logiciels, Grenoble, pages 65-76, October 2004.


  20. Olivier Maréchal, Pascal Poizat, and Jean-Claude Royer. Checking Asynchronously Communicating Components Using Symbolic Transition Systems. In D. C. Schmidt R. Meersman, Z. Tari and al., editors, On The Move to Meaningful Internet Systems 2004: Coopis, DOA, and ODBASE, volume 3291 of Lecture Notes in Computer Science, pages 1502-1519, 2004. Springer-Verlag.


  21. Gilles Muller, Julia Lawall, Jean-Marc Menaud, and Mario Südholt. Constructing Component-Based Extension Interfaces in Legacy Systems Code. In ACM SIGOPS European Workshop 2004 (EW'2004), Louvain, Belgique, September 2004.


  22. Jacques Noyé, Sebastian Pavel, and Jean-Claude Royer. A PVS Experiment with Asynchronous Communicating Components. In 17th Workshop on Algebraic Development Techniques, Barcelona, Spain, March 2004.


  23. Sebastian Pavel, Jacques Noyé, and Jean-Claude Royer. Dynamic Configuration of Software Product Lines in ArchJava. In Robert L. Nord, editor, Software Product Lines: Third International Conference, volume 3154 of Lecture Notes in Computer Science, Boston, MA, USA, pages 90-109, September 2004. Springer-Verlag Heidelberg. Keyword(s): software product line, component programming language, connector, generator, dynamic configuration.
    Abstract:
    This paper considers the use of a state-of-the-art, general-purpose, component-programming language, specifically ArchJava, to implement software product lines. Component-programming languages provide a more straightforward mapping between components as assets and components as implementation artifacts. However, guaranteeing that the implementation conforms to the architecture raises new issues with respect to dynamic configuration. We show how this can be solved in ArchJava by making the components auto-configurable, which corresponds to replacing components by component generators. Such a scheme can be implemented in various ways, in particular with a two-stage generator. This solution goes beyond the initial technical ArchJava issue and complements the standard static generative approach to software product line implementation.


  24. Pascal Poizat, Jean-Claude Royer, and Gwen Salaün. Formal Methods for Component Description, Coordination and Adaptation. In Proceedings of the ECOOP Workshop on Coordination and Adaptation Techniques for Software Entities (WCAT'04), Oslo, Norway, June 2004.


  25. Leonardo Rodriguez, Éric Tanter, and Jacques Noyé. Supporting Dynamic Crosscutting with Partial Behavioral Reflection: a Case Study. In , pages 48-58, 2004.


  26. Leonardo Rodrìguez, Éric Tanter, and Jacques Noyé. Supporting Dynamic Crosscutting with Partial Behavioral Reflection: a Case Study. In Pierre Cointe and Mario Südholt, editors, Actes de la Première Journée Francophone sur le Développement du Logiciel par Aspects (JFDLPA'04), pages 118-137, September 2004. IRCAM - École des Mines de Nantes. Note: 04/7/INFO.


  27. Jean-Claude Royer. A Framework for the GAT Temporal Logic. In ISCA, editor, Proceedings of the 13th International Conference on Intelligent and Adaptive Systems and Software Engineering (IASSE'04), Nice, France, pages 275-280, July 2004.


  28. Éric Tanter and Jacques Noyé. Motivation and Requirements for a Versatile AOP Kernel. In European Interactive Workshop on Aspects in Software (EIWAS 2004), Berlin, Germany, September 2004.


  29. Andrés Farías and Mario Südholt. Integrating protocol aspects with software components to address dependability concerns. Technical report 04/6/INFO, École des Mines de Nantes, November 2004.


  30. Éric Tanter and Jacques Noyé. Versatile Kernels for Aspect-Oriented Programming. Research Report RR-5275, INRIA, July 2004.


  31. Fabien Baligand. Perspectives d'intégration des services Web aux architectures orientées services. Master's thesis, LINA, 2004.


  32. Nicolas Loriant. Évolution dynamique dans les systèmes d'exploitation, une approche par AOP. Master's thesis, École des Mines de Nantes, August 2004.


  33. Olivier Maréchal. Algorithmes d'analyse des communications asynchrones entre composants. Master's thesis, École des Mines de Nantes, Université de Nantes, August 2004.


  34. Florian Minjat. Vers une modélisation transverse et modulaire des collaborations par couplage des traits et des classboxes, Crosscutting and scoped collaborations. Master's thesis, École des Mines de Nantes, September 2004.


  35. Abdelghani Sedkaoui. Implantation d'un modèle à composants en Java. Master's thesis, LaMI - Université d'Évry Val d'Essonne, August 2004.


  36. Richard Urunuela. Extension du langage Bossa à la problématique de facturation et de gestion de l'énergie du processeur. Master's thesis, École des Mines de Nantes, September 2004. Keyword(s): DSL, énergie, conteneur de ressources.
    Abstract:
    Dans ce document nous abordons les diff\'erents aspects li\'es \'a la gestion de l'\'energie au sein du processeur. Bossa offre les abstractions n\'ecessaires \'a la gestion de la ressource processeur, il utilise un langage d\'edi\'e et manipule une ressource de premi\`ere classe: le processeur. La ressource \'energ\'etique est une ressource de premi\`ere classe et certaines strat\'egies de gestion de l'\'energie manipulent la ressource processeur. Bossa n'a pas \'et\'e con\c{c}u au d\'epart pour prendre en compte la probl\'ematique de la gestion de l'\'energie. Il est int\'eressant d'\'etudier si le \"framework\" Bossa peut \^etre utilis\'e pour la gestion de l'\'energie du processeur en l'\'etendant facilement. Nous pr\'esentons ce qu'est la probl\'ematique de la gestion de l'\'energie, les objectifs de cette gestion et les strat\'egies misent en \oe uvre pour r\'ealiser ces objectifs. Avec Bossa nous proposons de r\'ealiser des strat\'egies de gestion de l'\'energie ais\'ement en utilisant les outils du "framework". Pour essayer de r\'epondre \`a ces questions il est peut {\~A}ªtre int\'eressant d'\'etudier les syst\`emes qui tentent de prendre en compte \`a la fois la ressource processeur et la ressource \'energ\'etique. Nous pr\'esentons des solutions pour \'etendre Bossa afin d'impl\'ementer ces strat\'egies de gestion de l'\'energie.


2003
  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.


  4. 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.


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


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


  7. 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.


  8. 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.


  9. 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.


  10. 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.


  11. 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.


  12. 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.


  13. 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.


  14. 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.


  15. 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.


  16. 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.


  17. É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.


  18. É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.


  19. 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.


  20. 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.


  21. 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.


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


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


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


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


  26. 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.


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


2002
  1. Jean-Claude Royer. An Operational Approach to the Semantics of Classes: Application to Type Checking. Programming and Computer Software, 27(3):127-147, 2002.


  2. David Touzet, Jean-Marc Menaud, Frédéric Weis, Paul Couderc, and Michel Banâtre. SIDE Surfer: Enriching Casual Meetings with Spontaneous Information Gathering. ACM SIGARCH CAN, 29(5), December 2002. Note: ISSN 0163-5964.


  3. Hervé Albin-Amiot, Pierre Cointe, and Yann-Gaël Guéhéneuc. Un méta-modèle pour coupler application et détection des design patterns. In M. Dao and M. Huchard, editors, LMO 2002 - Langages et modèles à objets, Montpellier, pages 41--58, January 2002. Hermès.


  4. M. Allemand, C. Attiogbé, Pascal Poizat, Jean-Claude Royer, and G. Salaün. SHE'S project: a report of joint works on integration of formal specification techniques. In H. Ehrig and M. Grosse-Rhode, editors, Proceedings of the 2nd International Workshop on Integration of Specification Techniques for Applications in Engineering (INT'02), Grenoble, France, April 2002.


  5. Michel Allemand and Jean-Claude Royer. Mixed Formal Specification with PVS. In Proceedings of the 15th IPDPS 2002 Symposium, FMPPTA, 2002. IEEE Computer Society Press.


  6. Luciano Porto Barreto, Rémi Douence, Gilles Muller, and Mario Südholt. Programming OS Schedulers with Domain-Specific Languages and Aspects: New Approaches for OS Kernel Engineering. In International Workshop on Aspects, Components, and Patterns for Infrastructure Software at AOSD, April 2002.
    Abstract:
    There is a continuous demand for new scheduling policies to address specific requirements of modern OSes. However, the implementation of such policies within an existing OS kernel raises many problems, mainly because optimizations within schedulers hinder code maintenance and implementation of existing schedulers is spread over the kernel. In this paper we motivate that schedulers form an aspect within OS kernels. We show how the DSL of the Bossa system for the definition of scheduling policies and its runtime support can be integrated with a framework for Aspect-Oriented Programming, Event-based AOP. Finally, we discuss the generalization of AOP-based techniques to other OS kernel modules.


  7. Luciano Porto Barreto and Gilles Muller. Bossa: a Language-based Approach to the Design of Real-time Schedulers. In 10th International Conference on Real-Time Systems (RTS'2002), Paris, France, pages 19--31, March 2002.


  8. Gustavo Bobeff and Jacques Noyé. Component Specialization: Towards Deeper Adaptation. In Systèmes à composants adaptables et extensibles, Grenoble, France, October 2002.


  9. Gustavo Bobeff and Jacques Noyé. On the Interaction of Partial Evaluation and Inheritance. In First Inheritance Workshop at ECOOP 2002, Malaga, Spain, June 2002.
    Abstract:
    In this paper, we consider a direct, source-to-source, specialization of Java programs. In this setting, specialization does not boil down to partially evaluating functions (here called methods) any longer. Indeed, specialized methods have also to be encapsulated into residual classes. We show that inheritance offers new specialization opportunities but that these opportunities are not so easy to benefit from because of some deep incompatibilities between specialization as partial evaluation and specialization as inheritance in standard object-oriented languages.


  10. Pierre-Charles David and Thomas Ledoux. An Infrastructure for Adaptable Middleware. In R. Meersam and Zahir Tari et al, editors, On the Move to Meaningful Internet Systems 2002: CoopIS, DOA, ODBASE 2002, volume 2519 of Lecture Notes in Computer Science, pages 773--790, October 2002. Springer-Verlag.


  11. Pierre-Charles David and Thomas Ledoux. Dynamic Adaptation of Non-Functional Concerns. In First International Workshop on Unanticipated Software Evolution (USE'02) at ECOOP 2002, Malaga, Spain, June 2002.
    Abstract:
    In order to build programs able to adapt themselves to changing execution conditions, we propose a Separation of Concerns approach distinguishing functional and non-functional concerns. These two kinds of concerns are composed together, at run-time, by a weaver which is aware of the execution conditions so that it can adapt its weaving to their evolution.


  12. Rémi Douence, Pascal Fradet, and Mario Südholt. A framework for the detection and resolution of aspect interactions. In D. Batory, C. Consel, and W. Taha, editors, Generative Programming and Component Engineering: ACM SIGPLAN/SIGSOFT Conference, GPCE 2002 - Proceedings, volume 2487 of Lecture Notes in Computer Science, Pittsburgh, PA, USA, pages 173--188, October 2002. Springer-Verlag. Keyword(s): aop, static analysis.
    Abstract:
    Aspect-Oriented Programming (AOP) promises separation of concerns at the implementation level. However, aspects are not always orthogonal and aspect interaction is an important problem. Currently there is almost no support for the detection and resolution of such interactions. The programmer is responsible for identifying interactions between conflicting aspects and implementing conflict resolution code. In this paper, we propose a solution to this problem based on a generic framework for AOP. The contributions are threefold: we present a formal and expressive crosscut language, two static conflict analyses and some linguistic support for conflict resolution.


  13. Rémi Douence and Narendra Jussien. Non-intrusive constraint solver enhancements. In Colloquium on Implementation of Constraint and Logic Programming Systems (CICLOPS'02), Copenhagen, Denmark, July 2002.
    Abstract:
    Using conflict sets (or nogoods) and explanations within constraint programming has been proved very effective. However, most constraint solvers do not provide this feature. This statement could have been made for many other improvements. Indeed, one of the main reasons of that fact is that many improvements in constraint programming are intrusive: their integration requires a general modification of the solvers' implementation and/or architecture. The core part of constraint solvers is often quite simple, however, it represents only a small part of the implementation. The main part of the code is devoted to specific constraint handling, global constraints, search techniques, API, etc. Modifying this code requires a real development effort that may become overly costly. Constraint solvers need non intrusive approaches. Actually, solvers should not be modified at all and only a general information about implementation should be needed to integrate improvements. In this paper, we present a technique used in software engineering to reach that aim: aspect oriented programming. As an example, the non intrusive integration of conflict set generation and use is presented and some insights of what could be done are provided.


  14. Rémi Douence and Narendra Jussien. Non-intrusive constraint solver enhancements. In First AOSD workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS), Enschede, The Netherlands, April 2002. University of Twente.
    Abstract:
    Constraint solvers are useful tools that provide solutions to very complex problems. These infrastructure software rely on simple mechanisms, however their actual implementation can be quite complex. A good knowledge of their inner mechanisms is required to introduce enhancements which crosscut basic algorithms and structures. In this paper, we advocate non-intrusive constraint solver enhancements. First, a minimal solver is introduced. Second, different enhancements are implemented with the help of aspect oriented programming.


  15. Andrés Farías, Yann-Gaël Guéhéneuc, and Mario Südholt. Integrating Behavioral Protocols in Enterprise Java Beans. In Kenneth Baclawski and Haim Kilov, editors, Eleventh OOPSLA Workshop on Behavioral Semantics: Serving the Customer, pages 80--89, October 2002. Keyword(s): protocols, component models, detection, verification, EJB, JavaBeans.


  16. Andrés Farías and Mario Südholt. On components with explicit protocols satisfying a notion of correctness by construction. In R. Meersam and Zahir Tari et al, editors, On the Move to Meaningful Internet Systems 2002: CoopIS, DOA, ODBASE 2002, volume 2519 of Lecture Notes in Computer Science, pages 995--1012, October 2002. Springer-Verlag. Keyword(s): protocols, component models, composition, EJB, JavaBeans.


  17. Jean-Philippe Fassino, Jean-Bernard Stefani, Julia Lawall, and Gilles Muller. THINK: A Software Framework for Component-based Operating System Kernels. In USENIX'02, Monterey, CA, USA, pages 73--86, June 2002. USENIX.


  18. Yann-Gaël Guéhéneuc. Three Musketeers to the Rescue - Meta-modelling, Logic Programming, and Explanation-based Constraint Programming for Pattern Description and Detection. In Kris De Volder, Kim Mens, Tom Mens, and Roel Wuyts, editors, Proceedings of the ASE Workshop on Declarative Meta-Programming, CICSR Technical Report, Edinburgh, UK, September 2002. University of British Columbia.
    Abstract:
    Software maintenance is a costly and tedious phase in the software development process Woods98-ConstraintRecovery. During this phase, a maintainer needs both to understand and to modify a program source code. Therefore, the maintainer must obtain a representation of the program that accurately reflects its structure and its behavior. Then, the maintainer must find those places in the program that require modification. Finally, the maintainer must perform changes that improve the program behavior and do not introduce further defects. In our research work, we focus on the maintainer's first and second tasks: The obtention of an accurate representation of the program structure and behavior, and the detection of places to improve. We propose a set of software engineering tools, for the structural and dynamic representation of Java program, and for the (semi-) automated detection of design patterns and design defects. Design patterns and design defects are related: A group of classes which micro-architecture is similar (but not identical) to a design pattern corresponds to a possible design defect.


  19. Yann-Gaël Guéhéneuc, Rémi Douence, and Narendra Jussien. No Java without Caffeine -- A Tool for Dynamic Analysis of Java Programs. In Proceedings of ASE 2002 : 17th International IEEE Conference on Automated Software Engineering, Edinburgh, UK, September 2002.


  20. D. He, Gilles Muller, and Julia Lawall. Distributing MPEG movies over the Internet using programmable networks. In The 22nd International Conference on Distributed Computing Systems (ICDCS'02), Vienna, Austria, pages 161--170, July 2002.


  21. Zahi Jarir, Pierre-Charles David, and Thomas Ledoux. Dynamic Adaptability of Services in Enterprise JavaBeans Architecture. In Seventh International Workshop on Component-Oriented Programming (WCOP'02) at ECOOP 2002, Malaga, Spain, June 2002.
    Abstract:
    To be in harmony with continuous variations of the execution environment such as fluctuating network bandwidth, decreasing battery power, and so on, new approaches are required for component-based middleware to make them adaptable with regard to these changes. The aim of the work presented in this paper is to enhance the EJB architecture by allowing applications to be aware of, and adapt to, variations in the execution context. We propose to dynamically adapt the association between EJB components and middleware services when necessary. Thus, EJB applications have the advantage to be dynamically adaptive according to changes related to their execution context.


  22. Julia Lawall, Gilles Muller, and Luciano Porto Barreto. Capturing OS Expertise in an Event Type System: the Bossa Experience. In Tenth ACM SIGOPS European Workshop 2002 (EW2002), St. Emilion, France, pages 54--61, September 2002.


  23. Gilles Muller and Julia Lawall. Towards a Scheduling Framework for Dynamically Downloaded Multimedia Applications. In Microsoft Summer Research Workshop 2002, Cambridge, England, September 2002. Microsoft Research.


  24. Pascal Poizat and Jean-Claude Royer. Une proposition de composants formels. In M. Dao and M. Huchard, editors, Actes de LMO'2002, pages 231-245, January 2002. Note: RSTI - L'Objet 8(1-2).


  25. Marc Ségura-Devillechaise and Jean-Marc Menaud. Caching Web Services: Aspect-Orientation to the Rescue. In International Workshop on Web Engineering at Networking 2002, Pisa, Italy, May 2002.


  26. Éric Tanter. Runtime Metaobject Protocols: the Quest for their Holy Application. In 12th ECOOP Workshop of PhD Students in Object-Oriented Systems (PhDOOS 2002), Malaga, Spain, June 2002. Note: In conjunction with the 16th European Conference on Object-Oriented Programming (ECOOP 2002).


  27. Éric Tanter, Marc Ségura-Devillechaise, Jacques Noyé, and José Piquer. Altering Java Semantics via Bytecode Manipulation. In D. Batory, C. Consel, and W. Taha, editors, Generative Programming and Component Engineering: ACM SIGPLAN/SIGSOFT Conference, GPCE 2002 - Proceedings, volume 2487 of Lecture Notes in Computer Science, Pittsburgh, PA, USA, pages 283-298, October 2002. Springer-Verlag.


  28. Éric Tanter, Michael Vernaillen, and José Piquer. Towards Transparent Adaptation of Migration Policies. In 8th ECOOP Workshop in Mobile Object Systems (EWMOS 2002), Malaga, Spain, June 2002. Note: In conjunction with the 16th European Conference on Object-Oriented Programming (ECOOP 2002).


  29. Luciano Porto Barreto, Gilles Muller, Julia Lawall, and K. Kono. A framework for simplifying the development of kernel schedulers: design and performance evaluation. Technical report 02/8/INFO, École des Mines de Nantes, August 2002.


  30. Julien Blass. Open containers and dynamic adaptability of services in the EJB model. Rapport de DEA, Tokyo Institute of Technology, École des Mines de Nantes, Université de Nantes, September 2002.


  31. Rémi Douence, Pascal Fradet, and Mario Südholt. Detection and resolution of aspect interactions. Technical report RR-4435, INRIA, April 2002. Keyword(s): aop, static analysis.
    Abstract:
    Aspect-Oriented Programming (AOP) promises separation of concerns at the implementation level. However, aspects are not always orthogonal and aspect interaction is an important problem. Currently there is almost no support for the detection and resolution of such interactions. The programmer is responsible for identifying interactions between conflicting aspects and implementing conflict resolution code. In this paper, we propose a solution to this problem based on a generic framework for AOP. The contributions are threefold: we present a formal and expressive crosscut language, two static conflict analyses and some linguistic support for conflict resolution.


  32. Rémi Douence and Narendra Jussien. Non-intrusive constraint solver enhancements. Research Report 02-2-INFO, École des Mines de Nantes, Nantes, France, February 2002.


  33. Rémi Douence and Mario Südholt. A model and a tool for Event-based Aspect-Oriented Programming (EAOP). Technical report 02/11/INFO, École des Mines de Nantes, 2002. Note: 2nd edition, french version to be published at LMO'03. Keyword(s): AOP, aspect composition, tool, Java.


  34. Andrés Farías and Mario Südholt. On the construction of components with explicit protocols. Technical report 02/4/INFO, École des Mines de Nantes, 2002.
    Abstract:
    Component-based programming promises to facilitate the construction of large-scale applications, which is supported by the important concept of interfaces. In most current component models, interfaces essentially declare types and sets of services that a component implements. They are not expressive enough to formulate many properties important for component collaboration. In this paper we consider an important class of such properties, sequencing constraints, which components must obey when calling one another services. We consider the integration into interfaces of sequencing properties by means of protocols formalized in terms of finite-state machines. The paper presents three contributions. First, a set of protocol composition operators and a discussion of correctness properties of such operators useful for component assembly. Second, we provide a first step toward the integration of additional state information into protocols. Finally, we show how JavaBeans can benefit from the techniques we present.


  35. Yann-Gaël Guéhéneuc, Hervé Albin-Amiot, Rémi Douence, and Pierre Cointe. Bridging the Gap Between Modeling and Programming Languages. Technical report 02/09/INFO, École des Mines de Nantes, May 2002.
    Abstract:
    A discontinuity exists between modeling languages and object-oriented programming languages. This discontinuity is a consequence of ambiguous notions in modeling languages and lack of corresponding notions in object-oriented programming languages. It hinders the transition between a software design and its implementation, and vice versa. Thus, it hampers the implementation and the maintenance processes. This discontinuity is particularly acute for binary class relationships, which describe, at the design level, notions such as association, aggregation, and composition. From the current state of the art, we propose synthetic definitions for the binary class relationships at the design level and corresponding definitions at the implementation level. We express the latter definitions in terms of common properties. We present algorithms to synthesize code for these properties and to detect these properties in code. These algorithms allow us to generate and to detect binary class relationships. We verify the detection algorithms on several well-known frameworks. The definitions and algorithms bring continuity between modeling languages and object-oriented programming languages.


  36. Yann-Gaël Guéhéneuc, Rémi Douence, and Narendra Jussien. No Java Without Caffeine -- A Tool for Dynamic Analysis of Java Programs. Technical report 02-7-INFO, École des Mines de Nantes, 4, rue Alfred Kastler -- 44307 Nantes Cedex 3 -- France, May 2002.
    Abstract:
    To understand the behavior of a program, a maintainer reads some code, asks a question about this code, conjectures an answer, and searches the code and the documentation for confirmation of her conjecture. However, the confirmation of the conjecture can be error-prone and time-consuming because the maintainer only has static information at her disposal. She would benefit from dynamic information. In this paper, we present Caffeine, an assistant that helps the maintainer in checking her conjecture about the behavior of a Java program. Our assistant is a dynamic analysis tool that uses the Java platform debug architecture to generate a trace, ie an execution history, and a Prolog engine to perform queries over the trace. We present a usage scenario based on the n-queens problem, and two examples based on the Singleton design pattern and on the composition relationship.


  37. Hayfa Zgaya. Aspects pour des solveurs de contraintes -- enrichissements non invasifs d'un solveur de contraintes. Technical report, École des Mines de Nantes, Université de Nantes, September 2002. Note: Rapport de DEA.


  38. Rodrigo Meza. A composition aspect for Java components. Master's thesis, Vrije Universiteit Brussel and École des Mines de Nantes, August 2002.


  39. Laura Ponisio. A Binding-Time Analysis for petitCafé. Master's thesis, Vrije Universiteit Brussel and École des Mines de Nantes, August 2002.


2001
  1. Noury M. Bouraqadi-Saâdani and Thomas Ledoux. Le point sur la programmation par aspects. RSTI - Technique et Science Informatique, 20(4), 2001.


  2. Christine Choppy, Pascal Poizat, and Jean-Claude Royer. The Korrigan Environment. Journal of Universal Computer Science, 7(1):19-36, 2001.


  3. Rémi Douence and Mario Südholt. A generic reification technique for object-oriented reflective languages. Higher-Order and Symbolic Computation, 14(1):7--34, March 2001. Keyword(s): reflection, object-oriented programming, program transformation.
    Abstract:
    Computational reflection is gaining interest in practical applications as witnessed by the use of reflection in the Java programming environment and recent work on reflective middleware. Reflective systems offer many different reflection programming interfaces, the so-called Meta-Object Protocols (MOPs). Their design is subject to a number of constraints relating to, among others, expressive power, efficiency and security properties. Since these constraints are different from one application to another, we should be able to easily provide specially-tailored MOPs. In this paper, we present a generic reification technique based on program transformation. It enables the selective reification of arbitrary parts of object-oriented metacircular interpreters. The program transformation can be applied to different interpreter definitions. Each resulting reflective implementation provides a different MOP directly derived from the original interpreter definition.


  4. Hervé Albin-Amiot, Pierre Cointe, Yann-Gaël Guéhéneuc, and Narendra Jussien. Instantiating and Detecting Design Patterns: Putting Bits and Pieces Together. In D. Richardson, M. Feather, and M. Goedicke, editors, 16th IEEE conference on Automated Software Engineering (ASE 2001), San Diego, USA, pages 166--173, November 2001.
    Abstract:
    Design patterns ease designing, understanding, and re-engineering software. Achieving a well-designed piece of software require a deep understanding and a good practice of design patterns. Understanding existing software relies on the ability to identify architectural forms resulting of the implementation of design patterns. Maintaining software involves spotting places that can be improved using better design decisions, like those advocated by design patterns. Nevertheless, there is a lack of tools automatizing the use of design patterns to achieve well-designed pieces of software, to identify recurrent architectural forms, and to maintain software. In this paper, we present a set of tools and techniques to help OO software practitioners design, understand, and re-engineer a piece of software, using design-patterns. A first prototype tools, Patterns-Box, provides assistance in designing the architecture of a new piece of softwaren, while a second prototype tool, Ptidej, identifies design patterns used in an existing one. These tools, in combination, support maintenance by higlighting and applying corrections based on widely-accepted design patterns solutions.


  5. Hervé Albin-Amiot and Yann-Gaël Guéhéneuc. Design Pattern Application: Pure-Generative Approach vs. Conservative-Generative Approach. In Krzysztof Czarnecki, editor, Proceedings of the OOPSLA Workshop on Generative Programming, October 2001. ACM Press.


  6. Hervé Albin-Amiot and Yann-Gaël Guéhéneuc. Design Patterns: A Round-Trip. In G. Ardourel, M. Haupt, J.-L. Herrero Agustin, R. Ruggaber, and C. Suscheck, editors, Proceedings of ECOOP 11th Workshop for PhD Students in Object-Oriented Systems, June 2001.
    Abstract:
    Design patterns are of major interest to increase software quality and abstraction level. However, design patterns are difficult to choose, to apply, and to recover. We propose a set of tools to use design patterns in a round-trip fashion. We a meta-model to describe design patterns. This meta-model is specifically oriented towards design patterns instantiation and detection. We develop a source-to-source transformation engine to modify the source code to comply with design patterns descriptions. Meanwhile, we use an explanation-based constraint solver to detect design patterns in source code from their descriptions. With these tools, we hope to offer a mean to apply and to recover design patterns without overhead for the developers.


  7. Hervé Albin-Amiot and Yann-Gaël Guéhéneuc. Meta-Modeling Design Patterns: Application to Pattern Detection and Code Synthesis. In Bedir Tekinerdogan, editor, Proceedings of ECOOP Workshop on Automating Object-Oriented Software Development Methods, June 2001.
    Abstract:
    Design Patterns have been quickly adopted by the object-oriented community, in particular since the publication of "Design Patterns: Elements of Reusable Object-Oriented Software". They offer elegant and reusable solutions to recurring problems of design. Their use increases productivity and development quality. However, these solutions, at the boundary of programming languages and design models, suffer from a lack of formalism. For this reason, their application remains empirical and manually performed. This position paper presents how a meta-model can be used to obtain a representation of design patterns and how this representation allows both automatic code generation and design patterns detection.


  8. Gabriela Arévalo and Isabelle Borne. Architectural Description of Object Oriented Frameworks: an Approach. In Robert Godin and Isabelle Borne, editors, LMO 2001 - Langages et modèles à objets, Le Croisic, France, pages 183--198, January 2001. Hermès. Note: L'Objet, 7(1-2).


  9. Noury M. Bouraqadi-Saâdani and Thomas Ledoux. How to weave?. In ECOOP 2001 Workshop on Advanced Separation of Concerns, June 2001.


  10. Christine Choppy, Pascal Poizat, and Jean-Claude Royer. Formal Specification of Mixed Components with Korrigan. In Proceedings of the 8th Asia-Pacific Software Engineering Conference, APSEC'2001, pages 169-176, 2001. IEEE Computer Society Press.


  11. Christine Choppy, Pascal Poizat, and Jean-Claude Royer. Specification of Mixed Systems in KORRIGAN with the Support of a UML-Inspired Graphical Notation. In Heinrich Hussmann, editor, Fundamental Approaches to Software Engineering. 4th International Conference, FASE 2001, volume 2029 of Lecture Notes in Computer Science, pages 124-139, 2001. Springer-Verlag.


  12. Pierre-Charles David, Thomas Ledoux, and Noury M. Bouraqadi-Saâdani. Two-step weaving with reflection using AspectJ. In OOPSLA 2001 Workshop on Advanced Separation of Concerns in Object-Oriented Systems, 2001.


  13. Rémi Douence, Olivier Motelet, and Mario Südholt. A formal definition of crosscuts. In A. Yonezawa and S. Matsuoka, editors, Proceedings of the 3rd International Conference on Reflection 2001, volume 2192 of Lecture Notes in Computer Science, Kyoto, Japan, pages 170--186, September 2001. Springer-Verlag.
    Abstract:
    Crosscutting, i.e. relating different program points is one of the key notions of Aspect-Oriented Programming. In this report, we consider a general and operational model for crosscutting based on execution monitors. A domain-specific language for the definition of crosscuts constitutes the core of the report. The semantics of this language is formally defined by means of parser operators matching event patterns in execution traces. We define an operational semantics of the matching process by means of rules relating the operators. The use of the language is exemplified by several sophisticated crosscut definitions. We sketch a prototype implementation in Java which has been systematically derived from the language definition.


  14. Rémi Douence, Olivier Motelet, and Mario Südholt. Sophisticated crosscuts for e-commerce. In ECOOP 2001 Workshop on Advanced Separation of Concerns, June 2001.


  15. Yann-Gaël Guéhéneuc and Hervé Albin-Amiot. Using Design Patterns and Constraints to Automate the Detection and Correction of Inter-Class Design Defects. In Q. Li, R. Riehle, G. Pour, and B. Meyer, editors, Proceedings of TOOLS USA, pages 296--305, 2001. IEEE Computer Society Press.


  16. Yann-Gaël Guéhéneuc and Narendra Jussien. Quelques explications pour les patrons ou une utilisation de la PPC avec explications pour l'identification de patrons de conception. In B. Neveu, editor, 7ièmes Journées nationales sur la résolution pratique de problèmes NP-complets (JNPC'01), Toulouse, France, June 2001. ONERA.
    Abstract:
    Les patrons de conception décrivent des micro-architectures qui résolvent des problèmes architecturaux récurrents. Il est important d'identifier ces micro-architectures lors de la maintenance des programmes orientés objets. Mais ces micro-architectures apparaissent souvent sous des formes dégradées dans le code source. Nous présentons une application de la programmation par contraintes avec explications pour l'identification de ces micro-architectures dégradées.


  17. Yann-Gaël Guéhéneuc and Narendra Jussien. Using Explanations for Design-Patterns Identification. In IJCAI'01 Workshop on Modelling and Solving problems with constraints, Seattle, WA, USA, August 2001.
    Abstract:
    Design-patterns describe micro-architectures that solve recurrent architectural problems in objec-oriented programming languages. It is important to identify these micro-architectures during the maintenant of objec-oriented programs. But, these micro-architectures often appear distorted in the source code. We present an application of explanation-based constraint programming for identifying these distorted micro-architectures.


  18. Jean-Claude Royer. Formal Specification and Temporal Proof Techniques for Mixed Systems. In Proceedings of the 15th IPDPS 2001 Symposium, FMPPTA, San Francisco, USA, 2001. IEEE Computer Society Press.


  19. François Sarradin and Thomas Ledoux. Adaptabilité dynamique de la sémantique de communication dans Jonathan. In Robert Godin and Isabelle Borne, editors, LMO 2001 - Langages et modèles à objets, Le Croisic, France, pages 45--62, January 2001. Hermès. Note: L'Objet, 7(1-2).


  20. Éric Tanter, Noury M. Bouraqadi-Saâdani, and Jacques Noyé. Reflex - Towards an Open Reflective Extension of Java. In A. Yonezawa and S. Matsuoka, editors, Proceedings of the 3rd International Conference on Reflection 2001, volume 2192 of Lecture Notes in Computer Science, Kyoto, Japan, pages 25--42, September 2001. Springer-Verlag.


  21. Éric Tanter, Noury M. Bouraqadi-Saâdani, and Jacques Noyé. Reflex: une extension réflexive de Java portable, souple et performante. In Robert Godin and Isabelle Borne, editors, LMO 2001 - Langages et modèles à objets, Le Croisic, France, pages 165--180, January 2001. Hermès. Note: L'Objet, 7(1-2).


  22. David Touzet, Jean-Marc Menaud, Frédéric Weis, Paul Couderc, and Michel Banâtre. SIDE Surfer: a Spontaneous Information Discovery and Exchange System. In 2nd international Workshop on Ubiquitous Computing and Communication, Barcelona, Spain, September 2001.


  23. Noury M. Bouraqadi-Saâdani, Rémi Douence, Thomas Ledoux, Olivier Motelet, and Mario Südholt. Status of work on AOP at the OCM group. Technical report 01-4-INFO, École des Mines de Nantes, April 2001. Keyword(s): AOP, execution monitoring, program transformation, interpreter.
    Abstract:
    The OCM (Object, Components, Model) group of the computer science department at Ecole des Mines de Nantes is interested in Aspect-Oriented Programming (AOP). This report is a collection of three short articles presenting work in progress at our lab. We focus on two approaches: AOP from a monitoring perspective (articles 1 and 2) and different approaches to achieve AOP weaving (article 3).


  24. Noury M. Bouraqadi-Saâdani, Thomas Ledoux, and Mario Südholt. A Reflective Infrastructure for Coarse-Grained Strong Mobility and its Tool-Based Implementation. Technical report 01-7-INFO, École des Mines de Nantes, September 2001. Note: Invited presentation at the phInternational Workshop on Experiences with reflective systems (held in conjunction with Reflection 2001, the ph``3rd International Conference on Metalevel Architectures and Separation of Crosscutting Concerns'').


  25. Noury M. Bouraqadi-Saâdani, Thomas Ledoux, and Mario Südholt. Description du prototype RAM. Rapport technique, École des Mines de Nantes, September 2001.


  26. Noury M. Bouraqadi-Saâdani, Thomas Ledoux, and Mario Südholt. Un survol de l'architecture du prototype RAM. Rapport technique, École des Mines de Nantes, May 2001.


  27. Pierre-Charles David. Une infrastructure pour middleware adaptable. Rapport de DEA, École des Mines de Nantes, Université de Nantes, September 2001.
    Abstract:
    Cette étude a permis de concevoir et développer une infrastructure pour le middleware adaptable, capable d'adapter de façon la plus transparente possible (pour le programmeur d'application) les applications à des conditions changeantes d'exécution, aussi bien statiquement (configuration au déploiement) que dynamiquement (reconfiguration automatique à l'exécution). La solution proposée est basée sur un protocole à métaobjets de type run-time permettant de séparer le code fonctionnel des services non-fonctionnels des applications et de modifier dynamiquement leurs associations. L'infrastructure développée met en oeuvre des politiques d'adaptation crites en {XML} (certaines définies par le programmeur, d'autres de type système indépendantes des applications) pour décider quand et comment effectuer ces reconfigurations à la volée.


  28. Rémi Douence, Olivier Motelet, and Mario Südholt. A formal definition of crosscuts. Technical report 01-3-INFO, École des Mines de Nantes, 2001.
    Abstract:
    Crosscutting, i.e. relating different program points is one of the key notions of Aspect-Oriented Programming. In this report, we consider a general and operational model for crosscutting based on execution monitors. A domain-specific language for the definition of crosscuts constitutes the core of the report. The semantics of this language is formally defined by means of parser operators matching event patterns in execution traces. We define an operational semantics of the matching process by means of rules relating the operators and illustrate how to use these rules to formally prove optimization properties. The use of the language is exemplified by several sophisticated crosscut definitions. We present a prototype implementation in Java which has been systematically derived from the language definition.


  29. Jean-Charles Quantin. Consulations d'informations techniques sur terminaux mobiles. Technical report, September 2001.


  30. Jean-Claude Royer. Concepts et modèles formels pour l'analyse et la conception à objets. Technical report, IRIN, 2001. Note: Habilitation à diriger des recherches.


  31. Gustavo Bobeff. ARCom (Another Reusable Component Model). Master's thesis, Vrije Universiteit Brussel and École des Mines de Nantes, September 2001.


  32. V. H. Arroyo Ibanez. Aspect-Oriented Programming for Features in Telecom Applications. Master's thesis, Vrije Universiteit Brussel and École des Mines de Nantes, 2001.


  33. Liang Peng. Formalization of Static and Dynamic UML Using Algebraic Specifications. Master's thesis, Vrije Universiteit Brussel and École des Mines de Nantes, September 2001.


  34. État de l'art sur l'adaptabilité, December 2001.


  35. Pierre Cointe, Rémi Douence, Thomas Ledoux, Jean-Marc Menaud, Jacques Noyé, and Mario Südholt. KLEE - Langages à objets, programmation par aspects et modèles de composants : vers des architectures logicielles adaptables, December 2001. Note: Document de travail.


2000
  1. Pierre Cointe. Langages à objets. RSTI - Technique et Science Informatique, 19(1-2-3), 2000.
    Abstract:
    Cet article constitue un survol du domaine de la programmation par objets (PPO). Après un rappel des caractéristiques du modèle objet et un rapide historique, il présente les principaux résultats obtenus depuis 1965, principalement en matière de création de nouveaux langages objets et d'architectures logicielles. Il esquisse finalement les directions de recherche les plus prometteuses et les plus stratégiques.


  2. Mireille Ducassé and Jacques Noyé. Tracing Prolog Programs by Source Instrumentation is Efficient Enough. Journal of Logic Programming, 42(2):157--172, May 2000.


  3. Luke Hornof and Jacques Noyé. Accurate Binding-Time Analysis for Imperative Languages: Flow, Context and Return Sensitivity. Journal of Theoritical Computer Science, 248(1-2):3--27, October 2000.
    Abstract:
    In order to exploit specialization opportunities that exist in programs written by researchers outside of the programming language community, a partial evaluator needs to effectively treat existing realistic applications. Our empirical studies have demonstrated that real-sized applications extensively use non-liftable values such as pointers and data structures. Therefore, it is essential that the binding-time analysis accurately treats non-liftable values. To achieve this accuracy, we introduce the notion of use sensitivity, and present a use-sensitive binding-time analysis for C programs which is obtained by a forward analysis followed by a backward analysis. This analysis has been implemented and integrated into our partial evaluator for C, called Tempo.


  4. Xavier Alvarez and Isabelle Borne. An Architectural Playground. In ECOOP'00 Workshop on Object-Oriented Architectural Evolution, June 2000.


  5. Pascal André, Annya Romanczuk-Réquilé, Jean-Claude Royer, and Aline Vasconcelos. An Algebraic View of UML Class Diagrams. In Christophe Dony and Houari A. Sahraoui, editors, LMO'00 - Langages et modèles à objets, Mont Saint-Hilaire, Québec, Canada, pages 261--276, January 2000. Hermès.


  6. Pascal André, Annya Romanczuk-Réquilé, Jean-Claude Royer, and Aline Vasconcelos. Checking the Consistency of UML Class Diagrams Using Larch Prover. In T. Clark, editor, Proceedings of the third Rigorous Object-Oriented Methods Workshop (ROOM 3), BCS eWics, ISBN: 1-902505-38-7, January 2000.


  7. Philippe Boinot, Renaud Marlet, Gilles Muller, Jacques Noyé, and Charles Consel. A Declarative Approach for Designing and Developing Adaptive Components. In V. Gruhn, editor, Proceedings of the 15th IEEE International Conference on Automated Software Engineering (ASE 2000), Grenoble, France, pages 111--119, September 2000. IEEE Computer Society Press.


  8. Isabelle Borne, Galal Hassan Galal, Huw Evans, and Luis Filipe Andrade. Workshop on Object-Oriented Architectural Evolution. In Jacques Malenfant, Sabine Moisan, and Ana M. D. Moreira, editors, Object-Oriented Technology (ECOOP 2000 Workshop Reader), volume 1964 of Lecture Notes in Computer Science, pages 138--149, 2000. Springer-Verlag.


  9. Noury M. Bouraqadi-Saâdani. Concern Oriented Programming using Reflection. In OOPSLA 2000 Workshop on Advanced Separation of Concerns in Object-Oriented Systems, October 2000.


  10. Mathias Braux and Jacques Noyé. Towards Partial Evaluating Reflection in Java. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, Boston, MA, USA, January 2000. ACM Press. Note: ACM SIGPLAN Notices, 34(11).


  11. Mathias Braux and Jacques Noyé. Évaluation partielle de la réflexion dans Java. In Christophe Dony and Houari A. Sahraoui, editors, LMO'00 - Langages et modèles à objets, Mont Saint-Hilaire, Québec, Canada, pages 195--210, January 2000. Hermès.


  12. Walter Cazzola, Shigeru Chiba, and Thomas Ledoux. Reflection and Meta-Level Architectures : State of the Art and Future Trends. In Jacques Malenfant, Sabine Moisan, and Ana M. D. Moreira, editors, Object-Oriented Technology (ECOOP 2000 Workshop Reader), volume 1964 of Lecture Notes in Computer Science, pages 1--15, 2000. Springer-Verlag.


  13. Pierre Cointe. Réflexivité et construction d'architectures logicielles adaptables. In NOTERE2000, Paris, November 2000. Note: Conférence invitée.


  14. Rémi Douence and Mario Südholt. On the Lightweight and Selective Introduction of Reflective Capabilities in Applications. In ECOOP'00 Workshop on Reflection and Meta-Level Architectures, 2000. Keyword(s): reflection, program transformation, Java.


  15. Rémi Douence and Mario Südholt. Une technique générique de réification dans les langages à objets. In Proceeding of 6th International Maghrebian Conference on Computer Science, Fes, Morocco, pages 311--320, November 2000. Keyword(s): reflection, program transformation, MOP, Java.


  16. Thomas Ledoux and Noury M. Bouraqadi-Saâdani. Adaptability in Mobile Agent Systems using Reflection. In RM'2000, Workshop on Reflective Middleware, Middleware'2000, April 2000.
    Abstract:
    We present in this paper our current investigations dealing with reflection for code mobility. Our study is about reifying different concerns of mobile agent systems in order to ease their customization. Reflection enables the construction of open mobile agent systems and helps separation of concerns. Following previous ideas introduced for reflective middleware, we consider run-time adaptability of agent mechanisms. The main idea is that network introspection can be used to dynamically choose the best execution policy. Based on some well-known design patterns, our approach enables this run-time adaptability of the infrastructure of mobile agent systems.


  17. Noury M. Bouraqadi-Saâdani. Java et la réflexion. Technical report 2000-4-INFO, École des Mines de Nantes, 2000.
    Abstract:
    Premier livrable de la CTI FT R\&D sur l'application de la programmation par aspects au code mobile Java.


  18. Noury M. Bouraqadi-Saâdani, Rémi Douence, Thomas Ledoux, and Mario Südholt. Un modèle de mobilité forte en Java. Technical report, École des Mines de Nantes, 2000. Note: Deuxième livrable de la CTI FT R&D sur l'application de la programmation par aspects au code mobile Java.


  19. A. N'Diaye. Enterprise JavaBeans et modèle de composants serveurs à grain fin. Rapport de DEA, École des Mines de Nantes, Université de Nantes, September 2000.


  20. François Sarradin. Vers un bus logiciel adaptable. Rapport de DEA, École des Mines de Nantes, Université de Nantes, September 2000.


  21. G. B. Arevalo. Object-Oriented Architectural Description of Frameworks. Master's thesis, Vrije Universiteit Brussel and École des Mines de Nantes, 2000.


  22. G. P. Casarini. Transparent Strong Mobility using a Reflective Smalltalk. Master's thesis, Vrije Universiteit Brussel and École des Mines de Nantes, 2000.


  23. Pierre Cointe and Thomas Ledoux. Pour des architectures logicielles ouvertes et adaptables. La réflexion : pourquoi et comment ?, 2000.


1999
  1. Noury M. Bouraqadi-Saâdani. Un MOP Smalltalk pour l'étude de la composition et de la compatibilité des métaclasses. Application à la programmation par aspects. PhD thesis, École des Mines de Nantes et Université de Nantes, July 1999.
    Abstract:
    Un langage à objets est dit réflexif s'il réifie les entités qui forment les programmes (les méthodes, les classes,...) et celles qui sont responsables de leur exécution (la pile d'exécution, la mémoire,...). La représentation de ces entités sous forme d'objets permet de les manipuler et de les spécialiser via des protocoles qualifiés de protocoles de méta-objets ou MOPs. Dans les langages à classes réflexifs, les classes sont réifiées et sont donc instances d'autres classes : les métaclasses. Ces métaclasses constituent un outil privilégié pour définir et expliciter les propriétés de classe. Pour étudier cet outil, nous proposons un nouveau MOP pour Smalltalk, qui décrit explicitement les mécanismes d'envoi de messages, de construction des instances et d'accès à leurs structures. Cependant, l'utilisation de ce MOP se heurte à deux problèmes : celui de la composition des métaclasses, dès qu'il s'agit d'attribuer plusieurs propriétés à une même classe, et celui de la compatibilité lorsque le couplage entre les liens d'héritage et d'instanciation n'est pas pris en compte à la définition de nouvelles (méta)classes. Nous proposons une solution - basée sur l'héritage - à chacun de ces problèmes. Une application des métaclasses est leur utilisation comme support à la mise en oeuvre de la programmation par aspects (AOP). L'idée maîtresse de ce nouveau paradigme de programmation consiste à introduire une dimension de réutilisation qui complète celle de l'approche objet. Pour ce faire, les logiciels sont découpés en modules orthogonaux, chacun d'eux décrivant un aspect particulier (distribution, concurrence,...). Nous proposons de représenter ces aspects à l'aide des métaclasses. Cette approche présente l'avantage de simplifier le problème de composition d'aspects et de le ramener à un problème connu - celui de la composition de métaclasses - pour lequel nous disposons d'une solution basée sur l'héritage.


  2. Isabelle Borne and Nicolas Revault. Comparaison d'outils de mise en oeuvre de Design Patterns. L'Objet, 5(2), 1999. Keyword(s): outils de mise en oeuvre, instantiation de design patterns, génération de code.
    Abstract:
    Avec l'émergence des patterns de conception, plusieurs outils ont été proposés pour supporter une utilisation et une application automatisée des patterns dans des cas concrets. Cet article présente une revue d'un ensemble représentatif de ces outils, détaillant, en plus de leur objectif et de leurs fonctionnalités, les types de représentation adoptés pour les patterns et les choix liés à leur implémentation.


  3. Isabelle Borne, Serge Demeyer, and Galal Hassan Galal. Object-Oriented Architectural Evolution. In Ana Moreira, editor, Object-Oriented Technology (ECOOP'99 Workshop Reader), volume 1743 of Lecture Notes in Computer Science, pages 57-79, 1999. Springer-Verlag.


  4. Noury M. Bouraqadi-Saâdani. Un cadre réflexif pour la programmation par aspects. In Jacques Malenfant and Roger Rousseau, editors, LMO'99 - Langages et modèles à objets, Villefranche-sur-Mer, France, January 1999. Université de Nice/CNRS, Hermès.
    Abstract:
    La programmation par objets encourage la réutilisation notamment grâce à l'encapsulation et à l'héritage. Elle offre ainsi les possibilités d'interchanger des objets ayant la même interface ou d'adapter des objets existants à de nouveaux besoins. Sans remettre en cause les principes qui ont fait le succès de la programmation par objets, la programmation par aspects propose une nouvelle voie complémentaire en matière de réutilisation. Elle consiste à découper les applications en modules traitant chacun un aspect de l'application. Ces différents aspects doivent être composés entre eux pour produire l'application. La représentation des aspects et la manière de les composer sont des questions ouvertes. Nous proposons d'y répondre dans un cadre de programmation réflexive, basé sur les métaclasses. L'aspect correspondant aux fonctionnalités de l'application est alors décrit à l'aide des classes. Les autres aspects qui représentent la manière d'exécuter l'application (e.g. concurrence, distribution, gestion de la mémoire, ...) sont, quant à eux, décrits à l'aide de métaclasses. Cette représentation présente l'avantage de ramener le problème de composition d'aspects en un problème connu qui est celui de la composition de (méta)classes et qui, de plus, est indépendant des aspects manipulés et de leur nombre.


  5. Mathias Braux. Speeding up the Java Serialization Framework through Partial Evaluation. In ECOOP'99 Workshop on Object Technology for Product Line architectures, Zamudio, Spain, June 1999. Keyword(s): partial evaluation, reflective programming, Java.


  6. Mathias Braux and Jacques Noyé. Changement dynamique de comportement par composition de schémas de conception. In Jacques Malenfant and Roger Rousseau, editors, LMO'99 - Langages et modèles à objets, Villefranche-sur-Mer, France, January 1999. Université de Nice/CNRS, Hermès.


  7. Pascal Fradet and Mario Südholt. An aspect language for robust programming. In International Workshop on Aspect-Oriented Programming at ECOOP, 1999. Keyword(s): aop, abstract interpretation.


  8. Thomas Ledoux. OpenCorba : un bus logiciel réflexif adaptable. In Jacques Malenfant and Roger Rousseau, editors, LMO'99 - Langages et modèles à objets, Villefranche-sur-Mer, France, January 1999. Université de Nice/CNRS, Hermès.
    Abstract:
    Aujourd'hui, l'architecture CORBA constitue la solution industrielle la plus prometteuse pour réaliser l'interopérabilité entre des composants logiciels répartis hétérogènes. Paradoxalement, alors que le projet CORBA cherche à fédérer des mécanismes de distribution au sein d'une même architecture, son modèle est peu flexible et parait inadapté aux futures évolutions. Dans cet article, nous présentons OpenCorba, un ORB réflexif, capable d'adapter dynamiquement les stratégies de représentation et d'exécution du bus logiciel. Nous exposons tout d'abord les fondements réflexifs sous-jacents à la réalisation de OpenCorba. Nous montrons comment le concept de métaclasse permet l'isolement de propriétés spécifiques liées aux classes améliorant ainsi leur réutilisabilité. Puis, pour répondre aux problèmes des systèmes devant évoluer à l'exécution sans interrompre leur fonctionnement, nous introduisons un protocole de changement dynamique de métaclasse. S'appuyant sur ce cadre réflexif, OpenCorba permet de rendre plus "malléable" les caractéristiques internes du bus logiciel dans le but d'intervenir sur son modèle d'exécution répartie (e.g. invocation, contrôle de type IDL, gestion d'erreurs). OpenCorba favorise ainsi la construction d'architectures réparties réutilisables et adaptables, i.e. ouvertes.


  9. Thomas Ledoux. OpenCorba: a Reflective Open Broker. In Pierre Cointe, editor, Meta-Level Architectures and Reflection, Second International Conference, Reflection'99, volume 1616 of Lecture Notes in Computer Science, Saint-Malo, France, pages 197--214, July 1999. Springer-Verlag.
    Abstract:
    Today, CORBA architecture brings the major industrial solution forachieving the interoperability between distributed software components in heterogeneous environments. While the CORBA project attempts to federate distributed mechanisms within a unique architecture, its internal model isnot very flexible and seems not to be suitable for future evolutions. In this paper, we present OpenCorba, a reflective open broker, enabling users to adapt dynamically the representation and the execution policies of the software bus. We first expose the reflective foundations underlying the implementation ofOpenCorba: i) metaclasses which provide a better separation of concerns in order to improve the class reuse; ii) a protocol which enables the dynamicchanging of metaclass in order to allow run-time adaptation of sstems. Based on this reflective environment, OpenCorba enables the adaptability of the internal characteristics of the broker in order to change its run-time behavior (e.g. remote invocation, IDL type checking, IR error handling). OpenCorba gives a clear example of the benefits of reflective middleware.


  10. Jacques Noyé and Pierre Cointe. De Java à Jini : à propos des nouvelles perspectives dans le développement de la toile. In Actes des 7émes Journées de la Société Francophone d'Informatique et de Monitorage en Anesthésie-Réanimation, April 1999.


  11. Hervé Costil. Étude du bus logiciel ObjectSwitch. Rapport de DEA, Bouygues Telecom, École des Mines de Nantes, Université de Nantes, September 1999.


  12. Rémi Douence and Mario Südholt. The next 700 reflective object-oriented languages. Technical report 99-1-INFO, École des Mines de Nantes, 1999. Keyword(s): MetaJ, oop, Smithonian reflective programming, program transformation, meta-object protocol.
    Abstract:
    Since Smith seminal work, there have been numerous reflective language definition and implementation proposals. These proposals, initially restricted to functional languages, have been quickly extended to object-oriented languages. Unfortunately, reflective object-oriented language definitions remained mostly ad hoc. In this paper, we present a generic reification technique which enables the selective reification of arbitrary parts of object-oriented language interpreters. Our program transformation can be applied to different interpreter definitions. Each resulting reflective implementation provides a different meta-object protocol based on the original interpreter definition. This technique paves the way to a systematic study of reflective object-oriented language implementations.


  13. Thierry Roussel. Étude et mise en oeuvre de la disponibilité des ordinateurs de poche sans fil exécutant des applications Java. Rapport de DEA, IRISA, École des Mines de Nantes, Université de Nantes, September 1999.


  14. Osvaldo Pinali Doederlein. Design Pattern Extraction for Software Documentation. Master's thesis, Vrije Universiteit Brussel and École des Mines de Nantes, 1999.


  15. Andrés Farías. Towards a security aspect for Java. Master's thesis, Vrije Universiteit Brussel and École des Mines de Nantes, 1999.


  16. Marcelo Machado Feres. Detecting Design Defect in Object-Oriented Software. Master's thesis, Vrije Universiteit Brussel and École des Mines de Nantes, 1999.


  17. Lucia Torres Gastal. A Guideline to Detect Reusable Components. Master's thesis, Vrije Universiteit Brussel and École des Mines de Nantes, 1999.


  18. Laci Mary Manhaes. Data Abstraction and Visualization Transform in a Framework for Information Visualization. Master's thesis, Vrije Universiteit Brussel and École des Mines de Nantes, 1999.


  19. Maria Jose Presso. Reflective and Metalevel Architectures in Java: from Objects to Components. Master's thesis, Vrije Universiteit Brussel and École des Mines de Nantes, 1999.


  20. James Roberto Windmüller. Mobile Agents: Patterns and Reflection. Master's thesis, Vrije Universiteit Brussel and École des Mines de Nantes, 1999.


  21. Aline Pires Vieira de Vasconcelos. Formalization of UML using Algebraic Specifications. Master's thesis, Vrije Universiteit Brussel and École des Mines de Nantes, 1999.


1998
  1. Thomas Ledoux. Réflexion dans les systèmes répartis, application à CORBA et Smalltalk. PhD thesis, École des Mines de Nantes et Université de Nantes, March 1998.
    Abstract:
    Aujourd'hui, la technologie objet s'impose dans le monde industriel comme la meilleure solution pour répondre aux problèmes de l'intégration et de la réutilisation des composants logiciels distribués. En normalisant des spécifications pour la portabilité et l'interopérabilité des composants objets, le bus logiciel CORBA (Common Object Request Broker Architecture) constitue une première approche pour aborder le problème de la construction d'applications distribuées à objets. Par ailleurs, les concepts de la réflexion permettent de réaliser des systèmes ouverts en rendant adaptables les différentes caractéristiques d'un programme. Ainsi, dans le contexte des environnements répartis, les langages réflexifs offrent un modèle dynamique d'exécution permettant l'introspection et la modification des stratégies et des mécanismes de distribution. L'objectif de cette thèse est d'explorer l'apport des techniques de réflexion dans le cadre des architectures distribuées et plus particulièrement autour de CORBA. Nous mettons notamment l'accent sur deux propriétés indispensables pour la construction d'applications réparties : la séparation des aspects et l'adaptabilité dynamique. Nous présentons OpenCorba, un système ouvert, basé sur un nouveau protocole à métaobjets Smalltalk. Il réifie différents aspects du bus CORBA afin de rendre plus malléable la « boîte noire » de l'ORB (Object Request Broker, i.e. le bus). OpenCorba favorise la séparation des caractéristiques internes du bus pour mieux les organiser, les rendre modulaires et donc interchangeables (séparation des aspects). OpenCorba permet ainsi d'intervenir sur le modèle d'exécution répartie de l'ORB, pour changer dynamiquement les stratégies de représentation et d'exécution (adaptabilité dynamique). OpenCorba est le premier ORB réflexif apportant la flexibilité nécessaire aux environnements distribués.


  2. Charles Consel, Luke Hornof, Julia Lawall, Renaud Marlet, Gilles Muller, Jacques Noyé, Scott Thibault, and Eugen-Nicolae Volanschi. Partial Evaluation for Software Engineering. ACM Computing Surveys, 30(3), September 1998.


  3. Charles Consel, Luke Hornof, Julia Lawall, Renaud Marlet, Gilles Muller, Jacques Noyé, Scott Thibault, and Eugen-Nicolae Volanschi. Tempo: Specializing Systems Applications and Beyond. ACM Computing Surveys, 30(3), September 1998.


  4. H. A. Sahraoui, N. Revault, G. Blain, and J.-F. Perrot. Un outil pour la conception de bases de données à objets. Revue Technique et Science Informatique (TSI), 17(7), 1998. Keyword(s): génie logiciel, modélisation sémantique, méta-modélisation, méta-outils, bases de données à objets, acquisition des connaissances, programmation par règles..
    Abstract:
    La conception des bases de données à objets est une activité complexe, qui fait appel à des connaissances variées. Elle est facilitée par l'emploi d'outils logiciels dont la construction présente elle-même des difficultés substantielles. Nous proposons d'aborder le problème du développement de ces outils par une technique de méta-modélisation, dans un environnement logiciel expérimental : le système MétaGen. Cet article décrit une expérience de reconstruction d'un de ces outils (InterSem, développé à Montréal) avec notre technique. A travers cette expérience nous montrons que de nombreux problèmes (rapidité d'écriture, facilité de maintenance et d'évolution) peuvent être ainsi résolus.


  5. R. Allen, Rémi Douence, and D. Garlan. Specifying and Analyzing Dynamic Software Architectures. In Fundamental Approaches to Software Engineering (FASE), volume 1382 of Lecture Notes in Computer Science, pages 21--37, March 1998. Springer-Verlag.


  6. Isabell Borne, Wolfgang De Meuter, and Fernando Brito e Abreu. Techniques, Tools and Formalisms for capturing and assessing Architectural Quality in Object-Oriented Software. In Serge Demeyer and Jan Bosch, editors, Object-Oriented Technology (ECOOP'98 Workshop Reader), volume 1543 of Lecture Notes in Computer Science, July 1998. Springer-Verlag.


  7. Isabelle Borne, Annya Romanczuk-Réquilé, and Frédérique Stéfani. Towards a Systematic Object-Oriented Transformation of a Merise Analysis. In Proceedings of the 2nd Euromicro Conference on Software Maintenance and Reengineering, CSMR'98, Florence, Italy, March 1998. IEEE Computer Society Press. Keyword(s): Object-oriented analysis, reengineering, legacy system, restructuring.
    Abstract:
    In the framework of a project whose main goal is to design a reengineering platfrom for legacy systems, we propose a rule-based approach for a systematic object-oriented transformation of a MERISE analysis. This work is an ongoing research which will lead to the realization of a semi-automatic tool to transform a MERISE analysis schema to an object-oriented analysis schema. In this paper we will present the restructuring process and the rules extracted from a real-world case provided by a company wishing to migrate to object-oriented techniques in order to improve its maintenance process and software quality.


  8. Noury M. Bouraqadi-Saâdani, Thomas Ledoux, and Fred Rivard. Safe Metaclass Programming. In Proceedings of OOPSLA'98, pages 84--96, October 1998. ACM-Sigplan.
    Abstract:
    In a system where classes are treated as first class objects, classes are defined as instances of other classes called {\em metaclasses}. An important benefit of using metaclasses is the ability to assign {\em properties} to classes (e.g. being abstract, being final, tracing particular messages, supporting multiple inheritance), independently from the base-level code. However, when both inheritance and instantiation are explicitly and simultaneously involved, communication between classes and their instances raises the {\em metaclass compatibility} issue. Some languages (such as Smalltalk) address this issue but do not easily allow the assignment of specific properties to classes. At the opposite, other languages (such as CLOS) allow the assignment of specific properties to classes but do not tackle the compatibility issue well. In this paper, we describe a new model of metalevel organization called {\em the compatibility model} which overcomes this difficulty. It allows \emph{safe metaclass programming} since it makes it possible to assign specific properties to classes while ensuring metaclass compatibility. Therefore, we can take advantage of the expressive power of metaclasses to build reliable software. We implemented this compatibility model in NeoClasstalk, a fully reflective Smalltalk. Our implementation extends NeoClasstalk's metaclass facility, enabling safe reuse and composition of class specific properties. This simplifies and enhances the use of metaclasses.


  9. Noury M. Bouraqadi-Saâdani, Fred Rivard, and Thomas Ledoux. Composition de Métaclasses. In Journées francophones des langages applicatifs, JFLA'98, Como, Italy, February 1998.
    Abstract:
    Dans un contexte de classes réifiées, les classes sont définies comme instances d'autres classes : les métaclasses. Il est alors possible d'attribuer des propriétés aux classes (être abstraite, avoir une seule instance, ...) par le biais de leurs métaclasses. Cet article traite de la problématique de la composition des métaclasses. L'utilisation des métaclasses structure les applications en niveaux d'abstraction qui peuvent communiquer entre eux. Lors de la composition de (méta)classes, des problèmes dit d'incompatibilité apparaissent du fait des communications entre niveaux. Certains langages (par exemple Smalltalk) privilégient la compatibilité au détriment de la composition des propriétés de classes. Tandis que d'autres langages (par exemple CLOS) privilégient la composition des propriétés de classes au détriment de la compatibilité. Partant du modèle des hiérarchies parallèles de Smalltalk, nous définissons un pattern de compatibilité. Il permet de garantir la compatibilité entre niveaux d'abstraction tout en autorisant la réutilisation et la composition de propriétés de classes. Notre implémentation du pattern de compatibilité a montré qu'il permet une composition fiable des metaclasses, ce qui facilite et encourage leur utilisation.


  10. Mathias Braux. Speeding up the Meta-level Processing of Java Through Partial Evaluation. In Jean-Charles Fabre and Shigeru Chiba, editors, OOPSLA'98 Workshop on Reflective Programming in C++ and Java, Center for Computational Physics, University of Tsukuba, Japan, October 1998.
    Abstract:
    Run-time features like reflection in object-oriented languages decrease application performance. In order to reconcile flexibility and performance, we adapt the standard partial evaluation process to deal with Java reflection API. This paper present a way to evaluate at compile time the meta-object computations that normally take place at run time. A classification of the Java reflective methods allows the partial evaluation process when to start and end.


  11. Pierre Cointe and N. Revault. JavaBeans - Un modèle de composants logiciels. In Proceedings of Objet'98, June 1998. Keyword(s): Java, événements, composants logiciels, environnements de développement.
    Abstract:
    Ce support d'exposé est dedié à la présentation de JavaBeans, l'architecture de composants associée à Java. Un bean java (un grain de café) est un composant logiciel réutilisable manipulable visuellement a l'aide d'outils de construction d'applications. Un bean est modélisé par une classe Java respectant des règles de constructions particulières (design patterns) accessibles au niveau du langage même par introspection. Après un court rappel des aspects avancés du modèle objet de Java incluant les processus légers (threads), la "serialisation" (linéarisation/reconstruction), les évènements et la réflexion nous détaillons la construction d'un premier bean . Cet exemple est l'occasion de démontrer différents environnements de développement et de générations d'applications Java dont ``VisualAge for Java'' d'IBM et la ``BeanBox'' de Sun.


  12. Mireille Ducassé and Jacques Noyé. Tracing Prolog Programs by Source Instrumentation is Efficient Enough. In Proceedings of the JICSLP'98 Post-Conference Workshop on Parallelism and Implementation Technology for (Constraint) Logic Programming Languages, June 1998.


  13. Pascal Fradet and Mario Südholt. AOP: towards a generic framework using program transformation and analysis. In International Workshop on Aspect-Oriented Programming at ECOOP, July 1998. Keyword(s): aop, abstract interpretation, aspect of program robustness.
    Abstract:
    What exactly are aspects? How to weave? What are the join points used to anchor aspects into the component program? Is there a general purpose aspect language? We address these questions for a particular but quite general class of aspects: aspects which can be described as static, source-to-source program transformations. We discuss the design of a generic framework to express aspects as syntactic transformations as well as a generic weaver. We also consider how to use semantic properties for the definition of aspects and how to implement these properties using static analysis techniques. As an application of the framework, we sketch how to describe and implement an aspect dealing with program robustness and exceptions.


  14. Thomas Ledoux. Adaptabilité dynamique des aspects pour la construction d'applications réparties ouvertes. In Colloque International sur les NOuvelles TEchnologies de la REpartition, NOTERE'98, Montréal, Canada, October 1998.
    Abstract:
    Aujourd'hui, la complexité croissante des systèmes informatiques nécessite de trouver de nouveaux mécanismes d'abstraction pour améliorer la conception et l'implémentation des applications. Le paradigme de la séparation des aspects offre une approche intéressante pour permettre la réutilisabilité de composants logiciels. Dans cet article, nous proposons d'étendre ce paradigme pour prendre en compte l'évolutivité des systèmes pendant leur exécution. Cette extension, nommée adaptabilité dynamique des aspects, va permettre à un système de remplacer un aspect spécifique par un autre, pendant son exécution, sans affecter le reste du système. Dans le contexte des applications réparties, les concepts de séparation et d'adaptabilité dynamique des aspects contribuent grandement à la construction d'architectures ouvertes. Ils permettent en effet de modéliser, de réutiliser et d'adapter les nombreux mécanismes de répartition. Nous illustrons cette approche dans le cadre de la plate-forme CORBA. Dans un premier temps, nous établissons une correspondance entre aspects et réflexion, de façon à mettre en oeuvre la séparation et l'adaptabilité dynamique des aspects. Puis, nous présentons OpenCorba, un ORB ouvert, capable dadapter dynamiquement les stratégies de représentation et d'exécution du bus logiciel.


  15. B. Lesueur, N. Revault, G. Sunyé, and M. Ziane. Using the MétaGen Modeling and Development Environment in the FIBOF Esprit Project. In , June 1998. Note: International Workshop on Automating the Object-Oriented Software Development at ECOOP'98. Keyword(s): object-oriented development, metamodelling, domain-specific language, oo application frameworks.
    Abstract:
    This paper presents an original approach to the development of object-oriented applications using MétaGen, the MetaCASE tool developed by the MétaFor team of Paris 6 University's CS Lab (LIP6). This approach addresses the crucial communication problem between users and developers by supporting the development of domain-specific languages. Moreover, even though the production of code from user requirements is not as automated as with more formal approaches, MétaGen supports the factorization of implementation knowledge for a whole application domain. This implementation knowledge is expressed in a first-order-logic rule-based system and is based on the use of state-of-the-art object-oriented technology such as application frameworks and design patterns. Our approach has been validated on real-size applications including the FIBOF ESPRIT IV project which is presented here.


  16. Annya Romanczuk-Réquilé. Introduction à UML. In Proceedings of Objet'98, June 1998. Keyword(s): analyse et conception par objets.
    Abstract:
    Le langage de modélisation UML (Unified Modeling Language), soumis récemment à l'OMG (Object Management Group), est devenu un standard pour la modélisation d'applications par objets. A l'origine, UML a été défini à partir d'une fusion des méthodes Booch, OMT (Object Modeling technique) et OOSE (Object Oriented Software Engineering). Désormais, de nombreux ateliers de génie logiciel supportent ce langage de modélisation unifiée et l'utilisation de celui-ci dans le développement industriel d'applications par objets devient incontournable. Ce tutoriel d'introduction à UML présente une description : des concepts de base et de leur notation, des diagrammes graphiques constituant les différentes vues d'un modèle objet et d'une démarche de développement.


  17. Annya Romanczuk-Réquilé, Cabral Lima, Celso Kaestner, and Edson Scalabrin. A contextual Help System Based on Intelligent Diagnosis Processes aimed to the Conception and Maintenance of Object-Oriented Software Packages. In International Workshop on Techniques, Tools and Formalisms for Capturing and Assessing Architectural Quality in Object-Oriented Software, ECOOP'98, July 1998.
    Abstract:
    Software Engineering and object-oriented technologies represent expectations in supplying the high and increasing demand of the software market for products wit h guaranteed quality and of acceptable cost and performance. The quality is soug ht through the utilization of object-oriented methodologies since the stage of d esign and implementation until the stage of software's test. Nevertheless, the q uantification of this quality is taken into effect from adequate metrics. Actual ly, assuring an optimal level of quality is very difficult, since there are few systems that can effectively help designers and programmers to acquire more per formance in their activities. The aim of this paper is presenting a solution that helps the software designer in the improvement and maintenance of quality, in two situations: (1) in the diagnosis of quality of an existing system, and in the assessment of the best strategy of its modification; and^M (2) in the design, implementation and test of a new system project, either since its initial design (forward engineering process), or from an already-existing s ystem (reengineering process). The proposal is prone to the definition, design and implementation of an integra ted environment that aids and counsels on-line designers and programmers to incr ease the performance of their respective activities. The main techniques used in this approach come from Artificial Intelligence, particularly from the so-calle d Intelligent Systems (e.g. systems based on knowledge, multi-agents systems). This paper presents the following subjects: contextual diagnosis in intelligent systems; the main aspects treated in object-oriented systems; the modeling adopt ed for implementation of the proposal; and finally, the first conclusions about our research project.


  18. Hervé Albin-Amiot. Génération automatique de classes Smalltalk et Java à partir de patterns. Rapport de DEA, École des Mines de Nantes, September 1998.


  19. Yann-Gaël Guéhéneuc. Syntax-error recovery in Interactive Development Environments. Rapport de DEA, École des Mines de Nantes, September 1998.


1997
  1. Fred Rivard. Évolution du comportement dans les langages à classes réflexifs dynamiquement typés. PhD thesis, Université de Nantes, 1997. Note: Prepared at École des Mines de Nantes.


  2. Pierre Cointe, Isabelle Borne, and P. Krief. Smalltalk à l'École des Mines de Nantes. L'Objet, 3(4), 1997. Keyword(s): teaching, research, reflection, object-oriented programming.
    Abstract:
    Créée en 1990 par le ministère de l'industrie, l'École des mines de Nantes est, après celles de Paris, Saint-Etienne, Alès et Douai, la cinquième de la lignée. Pour les premiers enseignants-chercheurs informaticiens venus rejoindre Nantes pour constituer l'ossature du futur département informatique, l'intérêt principal résidait dans l'aventure et le challenge intellectuel qu'implique la création d'une nouvelle école. Il s'agissait en fait de tirer le meilleur parti de cette opportunité rare qui consiste à décliner un nouveau programme pédagogique, à mettre en oeuvre de nouvelles équipes de recherche, et finalement à élaborer une politique de valorisation industrielle en phase avec la demande et les besoins du marché. Il se trouve que l'approche objet en général et la culture Smalltalk en particulier, "dopés" par l'implication d'OTI Inc, ont joué un rôle central dans la mise en place du triptyque enseignement, recherche, transfert de technologie à l'EMNantes, mais également dans la région des Pays de la Loire.


  3. A. A. Holzbacher, M. Périn, and Mario Südholt. Modeling railway control systems using graph grammars: a case study. In 2nd International Conference on COORDINATION, volume 1282 of Lecture Notes in Computer Science, September 1997. Springer-Verlag. Note: Long version published as INRIA TR 3210: click ftp://ftp.inria.fr/INRIA/publication/publi-ps-gz/RR/RR-3210.pdf.gz. Keyword(s): software architecture, graph grammar, software evolution.
    Abstract:
    In this paper we develop in three phases a railway control system. We are mainly concerned with the \emph{software architecture} of the control system and its \emph{dynamic evolution}; we do not discuss here the implementation details of the components forming the control system. First, we informally discuss our design proposal for the architecture of the control system: a hierarchy of controllers whose leaves are local controllers connected in a network that mimics the underlying railway topology. Second, we formally define by means of particular \emph{graph grammars} a style of software architectures for the railway control system consisting of two complementary \emph{views} and ensuring several desirable properties by construction. The dynamic evolution of the architecture is modelled by a set of \emph{coordination rules} which define graph transformations and are \emph{verified} w.r.t. to the graph grammar. Third, using a coordination rule as a formal specification of a dynamic modification of the railway control system, we derive its implementation in ConCoord, a programming environment for concurrent coordinated programming. With regard to software engineering, the two first phases belong to the system design while the third one forms the first implementation step.


  4. Luke Hornof and Jacques Noyé. Accurate Binding-Time Analysis for Imperative Languages: Flow, Context and Return Sensitivity. In ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, Amsterdam, The Netherlands, pages 63--73, June 1997. ACM Press. Keyword(s): program specialization, partial evaluation, binding-time analysis, forward and backward analyses.
    Abstract:
    In order to exploit specialization opportunities that exist in programs written by researchers outside of the programming language community, a partial evaluator needs to effectively treat existing realistic applications. Our empirical studies have demonstrated that real-sized applications extensively use non-liftable values such as pointers and data structures. Therefore, it is essential that the binding-time analysis accurately treats non-liftable values. To achieve this accuracy, we introduce the notion of use sensitivity, and present a use-sensitive binding-time analysis for C programs which is obtained by a forward analysis followed by a backward analysis. This analysis has been implemented and integrated into our partial evaluator for C, called Tempo.


  5. Luke Hornof, Jacques Noyé, and Charles Consel. Effective Specialization of Realistic Programs via Use Sensitivity. In P. Van Hentenryck, editor, Proceedings of the Fourth International Symposium on Static Analysis, SAS'97, volume 1302 of Lecture Notes in Computer Science, Paris, France, pages 293--314, September 1997. Springer-Verlag. Keyword(s): program specialization, partial evaluation, binding-time analysis.
    Abstract:
    Since a binding-time analysis determines how an off-line partial evaluator will specialize a program, the accuracy of the binding-time information directly determines the degree of specialization. We have designed and implemented a binding-time analysis for an imperative language, and integrated it into our partial evaluator for C, called Tempo. This binding-time analysis includes a number of new features, flow-, context-, and return-sensitivity not available in any existing partial evaluator for an imperative language, which are critical when specializing existing programs such as operating system components.


  6. Thomas Ledoux. Implementing Proxy Objects in a Reflective ORB. In ECOOP'97 workshop : ``CORBA: Implementation, Use and Evaluation'', Jyvaskyla, Finland, June 1997. Keyword(s): proxy, reflection, distributed environments, separation of concerns, flexibility.
    Abstract:
    In this short paper, we experiment reflective techniques dealing with the implemention of an ORB. We focus on a specific problem - the proxy representation - in order to emphasize the major advantages of the reflection, i.e. flexibility and reusability. More generally, in the context of the distributed computing, reflective languages provide a dynamic model allowing instrospection and modification of the policies and the mechanisms of distribution.


  7. Annya Romanczuk-Réquilé and Isabelle Borne. Objectifying a Merise analysis using transformation rules. In S. Demeyer and H. Gall, editors, ESEC/FSE '97 Workshop on Object-Oriented Reengineering, number TUV-1841-97-10 of Technical Report, August 1997. Technische Universität Wien. Keyword(s): migration, legacy systems, restructuring, objectifying.
    Abstract:
    The main goal of this project was to design a semi-automatic tool which, from a Merise analysis schema, produces an OMT analysis schema. This work was based on a real-world case provided by a company wishing to migrate to object-oriented techniques in order to improve its maintenance process and software quality. We extracted translation and transformation rules, in a systematic way, from the existing Merise analysis of the case study. A comparison of both methods led to define a set of automatic rules and a set of concepts for which there is no correspondence between the two analysis representations.


  8. Jacques Malenfant. Abstraction, encapsulation et réflexion dans les langages à prototypes. Habilitation à diriger des recherches, December 1997.


1996
  1. Pierre Cointe, editor. Proceedings of the 10th European Conference on Object-Oriented Programming (ECOOP), volume 1098 of Lecture Notes in Computer Science, July 1996. Springer-Verlag.


  2. M. Aksit, A. Black, L. Cardelli, P. Cointe, J. Coplien, R. Guerraoui, G. Kiczales, D. Lea, O. Madsen, B. Magnusson, J. Meseguer, H. Moessenboeck, J. Palsberg, and D. Schmidt. Strategic Research Directions in Object-Oriented Programming. ACM Computing Surveys, 28(4):691--700, December 1996. Keyword(s): object-oriented programming, aspect-oriented programming, distributed programming, design pattern, framework.


  3. D. Badouel and Pierre Cointe. Java : quelque part entre Smalltalk et C++. L'Objet, 2(5):15--22, June 1996.


  4. Pierre Cointe. Reflective Languages and MetaLevel Architectures. ACM Computing Surveys, 28(4), December 1996. Note: Extended version of [aksit-black-al.acmcs1996].


  5. Jacques Malenfant, Christophe Dony, and Pierre Cointe. A Semantics of Introspection in a Reflective Prototype-Based Language. Lisp and Symbolic Computation, 9(2/2):153--179, May 1996. Keyword(s): objet oriented programming, programming language semantics, reflection.
    Abstract:
    In 1992, we have described a reflective model for a prototype-based language based on the $lookup o apply$ reflective introspection protocol. In this paper, we augment our previous protocol by converting it to handle continuations reified as first-class objects. First-class continuations provide much more control over the current computation; during the introspection phase fired by message sending, they make it possible not only to change the behavior of the program for that message but also for the entire future computation. In this paper, we provide this introspection protocol with a formal semantics. This result is obtained by exhibiting a mapping $\Delta$ from program configurations to priority rewrite systems (PRS) as well as a mapping from message expressions to ground first-order terms used to query the PRS. Other advantages of this approach are: to ensure the termination of the introspection using the smallest set of formally justified conditions and to provide a clear declarative account of this reflective protocol. The PRS also appears as a meta-level to the base language, independent of the implementation, but from which we derive fundamental clues to obtain an efficient language processor. By our new model, we finally highlight the link between reflection in object-oriented languages and the one originally proposed by 3-Lisp although object-orientation provides reusability to reflection, making it easier to use.


  6. Isabelle Borne. Comprehension and Documentation of Smalltalk Class Libraries. In Proceedings of the Psychology of Programming Interest Group Annual Workshop, April 1996. Keyword(s): class library, class understanding.


  7. Noury M. Bouraqadi-Saâdani, Thomas Ledoux, and Fred Rivard. Metaclass composability. In ECOOP'96 workshop : Composability Issues in Object Orientation, July 1996. Note: Position paper. Keyword(s): explicit metaclasses, composition, compatibility.
    Abstract:
    The aim of this paper is to discuss metaclass composability and the related problems. We define inter-metalevel versus intra-metalevel composition, and downward versus upward compatibility. After analysing Smalltalk, SOM and Classtalk solutions, we present our latest research themes dealing with explicit metaclass composition.


  8. Noury M. Bouraqadi-Saâdani, Thomas Ledoux, Fred Rivard, and Pierre Cointe. Providing Explicit Metaclasses in Smalltalk. In OOPSLA'96 workshop : Extending the Smalltalk Language, October 1996. Note: Position paper. Keyword(s): smalltalk, reflection, explicit metaclasses.
    Abstract:
    Since 10 years we believe that metaclasses are powerful abstractions allowing to describe standard classes but also to model new classes dealing with new properties. Examples of such properties are well known and include abstract, single instance, primitive, automatic accessors, multiple-inheritance \dots\ In this paper we discuss the pros and cons of extending Smalltalk with explicit metaclasses


  9. Charles Consel, Luke Hornof, F. Noël, Jacques Noyé, and Eugen-Nicolae Volanschi. A Uniform Approach for Compile-Time and Run-Time Specialization. In O. Danvy, R. Glück, and P. Thiemann, editors, Partial Evaluation, International Seminar, Dagstuhl Castle, volume 1110 of Lecture Notes in Computer Science, pages 54--72, February 1996. Springer-Verlag.


  10. Thomas Ledoux and Pierre Cointe. Explicit Metaclasses As a Tool for Improving the Design of Class Libraries. In S. Matsuoka K. Futatsugi, editor, Proceedings of Object Technologies for Advanced Software, Second JSSST International Symposium, ISOTAS'96, volume 1049 of Lecture Notes in Computer Science, Kanazawa, Japan, pages 38--55, March 1996. JSSST-JAIST, Springer-Verlag. Keyword(s): class properties, explicit metaclasses, Smalltalk, Classtalk, language design, reuse, software engineering, CASE tools, patterns.
    Abstract:
    Existing OO methodologies focus on instance behaviors and reduce the role of a class to object creation. In fact, these methodologies do not address the issue of class design itself. Nevertheless, classes have their own properties, which are not related to the semantics of their instances. Examples of such properties are well-known and language independent~: concrete vs abstract classes, single instance vs multiple instances, subclassable vs non subclassable, single superclass vs multiple superclasses\ldots\ Some other examples are less known and more language dependent: named vs indexed instance variables, persistent vs non persistent, local vs remote\ldots This paper introduces a set of class properties in the context of Classtalk, a metaobject protocol for Smalltalk. It explicitly expresses these properties at the level of metaclasses, and gives a first taxonomy so as to better understand them. Then, it takes advantage of these explicit metaclasses to re-engineer some well-known Smalltalk class hierarchies. Such re-engineered examples give us the opportunity to raise the problem of metaclasses composition. They justify the use of explicit metaclasses to improve the design of class libraries.


  11. Fred Rivard. Pour un lien d'instanciation dynamique dans les langages à classes. In Journées Francophones des Langages Applicatifs, January 1996. Keyword(s): instanciation, changement de classe, adoption d'instances, conception, Smalltalk.
    Abstract:
    Dans le contexte des langages à objets, nous établissons que les langages à classes ne permettent pas de représenter de manière satisfaisante des objets dont le comportement volue avec le temps au cours de l'exécution. Nous décrivons un protocole permettant aux objets de changer de classes dynamiquement. L'introduction d'un lien d'instanciation dynamique (changement de classe) modifie le paradigme de classe, en introduisant une dimension temporelle : un objet n'est l'instance d'une classe qu'à un instant t, et non plus tout au long de sa vie. Ceci renforce l'aspect comportemental des classes au détriment de l'aspect structurel. Il découle de cette approche une compréhension plus aisée des classes grâce à des définitions précises de celles-ci, la consistance de leur interface étant renforcée. Les échanges d'instances entre classes créent un nouveau schéma organisationnel, orthogonale à celui de l'héritage, faisant apparaître un nouveau lien que nous nommons : lien d'échange d'instances. Nous pensons que la prochaine évolution des langages à classes sera de prendre en compte les deux liens pour obtenir des librairies plus comphéhensibles, afin d'accroître leur réutilisation et leur maintenabilité, facteurs capiteaux intervenant dans le coût d'un logiciel.


  12. Fred Rivard. Smalltalk: a Reflective Language. In Reflection'96, April 1996. Keyword(s): Smalltalk, reflection.
    Abstract:
    As in the LISP tradition, SMALLTALK is almost entirely written in itself. It offers important advantages such as large portability, dynamicity, a fully unified world, graphical user interface builders, connection to databases, powerful development tools, etc. In this paper we discuss the trait that underlies all these features: REFLECTION. We quote one of its definitions and in the first part of this paper go through the different reflective aspects of SMALLTALK. We expand five major aspects in detail: meta-operations, the classes/metaclasses model, the reified compiler, message sending and the behavioral representation through the reification of the executive stack frame of each process. We illustrate their use with significant applications, based both on our industrial and research experiences. In the second part of the paper, we introduce and fully develop pre/post conditions in SMALLTALK, dealing with extensions of the model, the compiler, and the development environment.


  13. Pierre Cointe. Langages à objets, une révolution informatique, June 1996.


1995
  1. Philippe Mulet. Réflexion et langages à prototypes. PhD thesis, Université de Nantes, July 1995. Note: Prepared at École des Mines de Nantes.


  2. Isabelle Borne. Understanding, documenting and visualizing Smalltalk classes. In ECOOP workshop on Learning, training and teaching in Object Technology, August 1995. Keyword(s): class understanding, documentation, visual interface.


  3. Thomas Ledoux and Pierre Cointe. Les Métaclasses Explicites comme Outil pour Améliorer la Conception des Bibliothèques de Classes. In Actes des Journées du GDR de Programmation, Grenoble, France, November 1995. CNRS. Keyword(s): propriétés de classe, métaclasses explicites, Classtalk, (rétro-)conception, réutisabilité, ``patterns''.
    Abstract:
    Les méthodes OO actuelles s'attachent surtout à décrire le comportement des instances d'une classe réduisant alors le rôle de cette classe à la simple création d'objets. En vérite, ces méthodes n'adressent pas le problème de conception de la classe elle-même. En effet, les classes possèdent leurs propres propriétés, indépendamment de la sémantique de leurs instances. Les exemples de telles propriétés sont déjà connus et sont indépendants des langages~: classe concrète vs. abstraite, instance unique vs. multiple, superclasse unique vs. multiple\ldots. D'autres exemples sont moins connus et/ou étroitement liés au langage lui-même~: variable nommée vs. indexée, objet local vs. distribué, objet persistant vs. objet volatile\ldots Ce papier introduit un ensemble de propriétés de classes dans le contexte de Classtalk, un protocole de méta-objets pour Smalltalk. Ces propriétés seront exprimés au niveau des métaclasses et une première taxonomie sera donnée pour mieux les appréhender. Ensuite, nous illustrerons quelques unes de ces propriétés avec un exemple de rétro-conception d'une hiérarchie Smalltalk lémentaire qui justifiera l'utilisation de métaclasses explicites pour la conception des bibliothèques de classes.


  4. Philippe Mulet, Jacques Malenfant, and Pierre Cointe. Towards a Methodology for Explicit Composition of MetaObjects. In Proceedings of OOPSLA'95, Austin, Texas, pages 316--330, October 1995. ACM SIGPLAN Notices.


  5. Isabelle Borne. Environnements de programmation par objets - Une approche pédagogique. Technical report 95-1-INFO, École des Mines de Nantes, January 1995. Note: Habilitation à diriger les recherches. Keyword(s): programming, environment, graphical user interface, visual programming, Smalltalk apprenticeship.
    Abstract:
    Les systèmes à objets, largement répandus à l'heure actuelle, apportent des concepts puissants de programmation et sont dotés de bibliothèques importantes de classes prédéfinies. C'est le cas notamment du système Smalltalk qui souffre d'une longue période d'apprentissage. L'un des objets de ce mémoire est de mettre en évidence la contribution des sciences de l'Education et de la psychologie cognitive pour étudier, expérimenter et développer les aspects pédagogiques de la programmation par objets, en particulier pour le système Smalltalk. Cette contribution se traduit soit par le développement de matériaux éducatifs (logiciels et environnements spécifiques), soit par des expérimentations menées sur le terrain avec des enfants ou des adultes qui ont permis de répertorier les principales difficultés rencontrées et d'observer les stratégies des experts. Par ailleurs, il vise à montrer comment l'utilisation de techniques, telles que la visualisation graphique et le typage, permet d'introduire du dynanisme dans les outils trop statiques de l'environnement de programmation Smalltalk et par conséquent apporte une aide aux tâches de conception et de maintenance.


  6. Fred Rivard and Pierre Cointe. From Envy-Classtalk to Ada'9X. Technical report 95-9-INFO, École des Mines de Nantes, Département Informatique, September 1995.
    Annotation:
    Rapport final du contrat Armines-OTI 93-95


1994
  1. Pierre Cointe, Ch. Queinnec, and B. Serpette, editors. Actes des Journées francophones des langages applicatifs (JFLA), number 11 of Collection didactique, February 1994. INRIA.


  2. Philippe Mulet and Marco Jacques. De la parentée entre les environnements de MIT Scheme et les prototypes de Self. In Colloque Langages et Modèles à Objets - LMO'94, Grenoble, France, October 1994.


  3. Philippe Mulet, Thomas Ledoux, D. Barbaron, Fred Rivard, and Pierre Cointe. Importing SOM Libraries into Classtalk. In Addendum to the Proceedings OOPSLA'94: workshop ``Multi-Language Object Models'', Portland, Oregon, October 1994. ACM SIGPLAN Notices. Keyword(s): explicit metaclass, SOM, Classtalk, Smalltalk.
    Abstract:
    The enhanced metalevel architecture for Smalltalk, Classtalk, is very likely to interoperate with SOM system, since both of them are based upon explicit metaclasses, in the line of the ObjVLisp model. This paper exposes how to model SOM kernel into Classtalk, so as to import external SOM components into Smalltalk.


1993
  1. Pierre Cointe. CLOS and Smalltalk: a Comparison. In A. Paepcke, editor, Object-Oriented Programming: The CLOS perspectives?, chapter 9, pages 215--250. The MIT Press, 1993.


  2. Philippe Mulet and Pierre Cointe. Definition of a Reflective Kernel for a Prototype-Based Language. In S. Nishio and A. Yonezawa, editors, First JSSST International Symposium on Object Technologies for Advanced Software (ISOTAS), volume 742 of Lecture Notes in Computer Science, pages 128--144, November 1993.


  3. Philippe Mulet and Pierre Cointe. Définition d'un Noyau Réflexif pour un Langage à Prototypes. In Actes de EC2 -- Représentation par objets (RPO'93), pages 101--116, June 1993.


1992
  1. Christophe Dony, Jacques Malenfant, and Pierre Cointe. Prototype-Based Languages: From a New Taxonomy to Constructive Proposals and Their Validation. In Proceedings of OOPSLA'92, volume 27, Vancouver, Canada, pages 201--215, October 1992. ACM SIGPLAN Notices.


  2. Jacques Malenfant, Christophe Dony, and Pierre Cointe. Behavioral Reflection in a Protoype-Based Language. In A. Yonezawa and B. Smith, editors, International Workshop on reflection and Meta-Level Architectures, pages 143--153, November 1992. RISE and IPA (Japan) + ACM SIGPLAN, JSSST and IPS.


no year
  1. Fabricio Fernandes, Robin Passama, and Jean-Claude Royer. Event Strictness for Components with Complex Bindings. In ISEC'09: Proceedings of the 2nd conference on India Software Engineering Conference, New York, NY, USA, February to appear 2009. ACM.



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.




Last modified: Wed Apr 25 16:33:41 2012
Author: dallam10.


This document was translated from BibTEX by bibtex2html