Université Montpellier II                                                          

DEA Informatique

Année 2003-2004

 

 

Proposition de sujet de stage

Gestion des  Exceptions dans les architectures  logicielles à base de composants.

 

Encadrement

Christophe Dony (Equipe Donnée Objets Connaissances)

Mots clés


Composants, Objets, Agents, Tolérance aux pannes, Fiabilité, Langages de programmation.

Le problème et l'état de l'art

La problématique de la robustesse, de la tolérance aux pannes est de plus en plus importante car nos sociétés sont devenues très dépendantes de l'outil informatique et ne supportent plus que certains systèmes (économie, santé, transports, ...) cessent de fonctionner . Pour cela, toutes les recherches relatives à l'auto-réparation, à l'adaptation dynamique des applications, ce qui inclut donc leur capacité à tolérer dynamiquement les événements exceptionnels, deviennent ou redeviennent primordiales. Par ailleurs l'évolution des technologies logicielles d'une part et celle des support à l'exécution des programmes (client-serveur, grid, internet) posent une foule de problème nouveaux qui font de la sécurité un véritable enjeu.

La gestion des exceptions dans les langages de programmation en général et à objets a été étudiée, en particulier du point de vue du contrôle. Différentes alternatives (solution Flavors/Clos/Smalltalk versus solution C++/java versus solution Eiffel, …) ont été proposées et un standard a émergé.  Elle se pose aujourd'hui de manière cruciale dans le contexte des nouvelles applications : distribution, inter-opérabilité, asynchronisme, agents, composants, mobilité du code. Notre équipe travaille depuis plusieurs années sur ces problèmes et dernièrement, dans le cadre de la thèse de Frédéric Souchon, elle a proposé des modèles de tolérance aux pannes pour les mondes multi-agents (plateforme Madkit) et composants (plateforme J2EE Jonas).

Etude proposée

Le stage de DEA consistera en l'étude des problèmes liés soit à la synchronisation des activités dans le cadre de la gestion des exceptions en J2EE soit à la mobilité du code dans certains environnements (Applets ou composants J2EE mobiles par exemple).

Travail à réaliser en stage de DEA

1.   Etude bibliographique sur le sujet (étude d'articles choisis entre autres parmi les références ci-dessous en fonction du sujet),

2.  Proposition d'un modèle adapté  au sujet proposé,

3. Mise en oeuvre de la solution dans l'environnement J2EE Jonas par exemple.

Bibliographie


2
Szyperski, C.:
Component Software: Beyond Object-Oriented Programming.
ACM Press and Addison-Wesley, New York, NY (1998)

3
Campbell, R., Randell, B.:
Error recovery in asynchronous systems.
IEEE Transactions on Software Engineering (SE) SE-12 number 8 (1986) 811-826

4
Gärtner, F.C.:
Fundamentals of fault tolerant distributed computing in asynchronous environments.
ACMCS 31 (1999) 1-26
5
Knudsen, J.L.:
Fault tolerance and exception handling in beta.
In Romanovsky, A., Dony, C., Knudsen, J.L., Tripathi, A., eds.: Advances in Exception Handling Techniques. LNCS (Lecture Notes in Computer Science) 2022, Springer-Verlag (2001)
7
Goodenough, J.B.:
Exception handling: Issues and a proposed notation.
Communications of the ACM 18 (1975) 683-69

9
Dony, C.:
Exception handling and object-oriented programming : towards a synthesis.
ACM SIGPLAN Notices 25 (1990) 322-330 OOPSLA ECOOP '90 Proceedings, N. Meyrowitz (editor).

10
Koenig, A.R., Stroustrup, B.:
Exception handling for C++.
In: Proceedings ``C++ at Work'' Conference. (1989) 322-330

11
Liskov, B.:
Distributed programming in argus.
Communications of the ACM 31 (1988) 300-312

12
Meyer, B.:
Disciplined exceptions.
Technical report tr-ei-22/ex, Interactive Software Engineering, Goleta, CA (1988)

13
Weinreb, D.L.:
Signalling and handling conditions.
Technical report, Symbolics, Inc., Cambridge, MA (1983)


17
Klein, M., Rodriguez-Aguilar, J.A.:
Using role commitment violation analysis to identify exceptions in open multi-agent systems, ases working paper ases-wp-2000-04 (2000)

18
Klein, M., Dellarocas, C.:
Towards a systematic repository of knowledge about managing multi-agent system exceptions, ases working paper ases-wp-2000-01 (2000)


20
Klein, M., Dellarocas, C.:
Using domain-independent exception handling services to enable robust open multi-agent systems: The case of agent death.
Journal for Autonomous Agents and Multi-Agent Systems 7 (2003)

21
Tripathi, A., Miller, R.:
Exception handling in agent oriented systems.
In Romanovsky, A., Dony, C., Knudsen, J.L., Tripathi, A., eds.: Advances in Exception Handling Techniques. LNCS (Lecture Notes in Computer Science) 2022, Springer-Verlag (2000)

22
Romanovksy, A., Kienzle, J.:
Action-oriented exception handling in cooperative and competitive object-oriented systems.
In Romanovsky, A., Dony, C., Knudsen, J.L., Tripathi, A., eds.: Advances in Exception Handling Techniques. LNCS (Lecture Notes in Computer Science) 2022, Springer-Verlag (2001) Also available as Technical Report (EPFL-DI No 00/346).

23
Issarny, V.:
Concurrent exception handling.
In Romanovsky, A., Dony, C., Knudsen, J.L., Tripathi, A., eds.: Advances in Exception Handling Techniques. LNCS (Lecture Notes in Computer Science) 2022, Springer-Verlag (2001)

24
Lacourte, S.:
Exceptions in Guide, an object-oriented language for distributed applications.
In Springer-Verlag, ed.: ECOOP 91. Number 5-90 in LNCS, Grenoble (France) (1990) 268-287

25
FIPA: FIPA 97 Specification Part 2 : Agent Communication Language. (1997)

26
Souchon, F., Urtado, C., Vauttier, S., Dony, C.:
Exception handling in component-based systems: a first study.
In: Exception Handling in Object Oriented Systems: towards Emerging Application Areas and New Programming Paradigms Workshop (at ECOOP'03 international conference) proceedings. (2003)