Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Jean Marie Favre's Home Page (Jean Marie Favre). IDM MDA MDE MDD Metamodel Driven Reverse Engineering, Model Driven Visualization Megamodel Megamodelling Megamodeling Metaware
[go: Go Back, main page]



Jean-Marie Favre'   megal'Home Page 

Language Archeologist

Last update : Avril 3 2006 

InfoForStudents Research Teaching Slides Software
Contact Publications Students Case studies Personnal

Assistant Professor à l'Universite Grenoble 1, UFRIMA, Laboratoire LSR- IMAG Institute, ADELE Team

Megamodelling &
Metamodel-Driven (Reverse) Engineering

My bet for the next paradigm in software engineering is ...
... Language Engineering
After more than 20 years trying to understand what software is all about,
I bet on language engineering as the successor of object-oriented paradigm.
This is what I have been doing until now, though I didn't have a name for that.
This is what I will do in the next decade. I bet that this what most of us will do in the future.


Not convinced?

Please write you own bet, on a piece of paper with a timesstamp,
and let's just wait a few years....

22 February 2006

Read this new book
(Beyond MDA : Model Driven Engineering)
Ne manquez pas IDM 06
GaMMa2006 Don't miss GaMMa 2006
1st International Workshop on Global integrated Model MAnagement
Ne manquez pas IDM 06
WiSME05 Download papers from
4th Workshop in Software Model Engineering
 
with MoDELs/UML 2005

New episode in the series 
"From Ancient Egypt to Model Driven Engineering" 

With photographies 
from the Egypt Archive
 Courtesy of John Bodsworth  

Visit planetmde.org

 

 

Teaching

 
10 cours par an ~ 500 students 10 courses per year 4 grades  
"Ingénierie Dirigée par les Modèles"
"Evolution et Ré-ingénierie"
"Applications à Composant
 

 

"Model Driven Engineering"
"Software Evolution and Reengineering"  
"Component-based applications"
MASTER SL  
"Ingénierie Dirigée par les Modèles" 
Option IL, "Evolution et Ré-ingénierie
Option IL, 'Projet Ré-ingénierie et Integration"
70 students
16 students
16 students
"Model-Driven Engineering
"Software Evolution and Reengineering"
Reengineering and Integration Projects
MASTER GI EDT
"Ingénierie Dirigée par les Modèles" 15  students "Model Driven Engineering" MASTER MIAGE  
"Génie Logiciel" ~ 60 students "Software Engineering" RICM2 EDT
Option "Evolution des logiciels" ~ 15 students "Software Evolution" ENSIMAG  
"Expression Fonctionnelle" ~ 340 students "Functional Programming" L1 & L2  

UFRIMA  EDT salles de TD   salles de TP  video

Research

 

Meta-Model Driven everse Engineering 

to support the Evolution of Large-scale Industrial Software.

 

Meta-model Driven Reverse Engineering
and Meta-model Driven Architecture Reconstruction

 

 Research Interests 

 

Topics of interest includes

I worked on  Reverse Engineering (research since 1988 and teaching since 1996). And I still really enjoy working in this continuously evolving area! 

In the last few years I integrated this background with work on Software Architecture and Software Components,  in particular in the context of a tight collaboration beetween the LSR laboratory and Dassault Systèmes.

Dassault Systèmes is  the world leader in CAD/CAM and one of the largest software company in Europe. We learned a lot from industry!

My goal is to merge my background in everse Engineering 
with the Model Driven Engineering (MDE) approach. 

 

 Professional activities

 

Member of IEEE Computer

Networks of Excellence

National networks

Organization of workshops and conferences

Program committee memberships

Reviews

Collaborations with Industry

Dassault Systèmes France Telecom Obeo Onetree Technologies Oros

Responsabilities at the University of Grenoble

 

 Software 

 
GSEE : A Generic Software Exploration Environnement

GSEE is an metamodel-driven environment dedicated to the construction of reverse engineering and software exploration tools. This tool is based on the use of meta-models and support On-the-fly Meta-Model Reverse Engineering and Meta-Model Exploration. This tool is very generic and flexible. Actually it is not linked to software, we also use it to visualize web structures, but you can also use it to explore anything else... It is not even linked to reverse engineering. You can just use it to see any kind of entities!

 

 Conferences

I participated and/or published papers in the following nice conferences :

DAGSTUHL Dagstuhl Seminars    
WCRE  International Working Conference on Reverse Engineering
IWPC International Conference on Program Comprehension  
CSMR European Conference on Software Maintenance and Reengineering  
ICSM International Conference on Software Maintenance 
ATEM International Workshop on Metamodels, Schemas and Grammars for Reverse Engineering
ECBSE European Conference on Component-Based Software Engineering

 

 Publications

J.M.Favre
J. Estublier

M. Blay

L'Ingénierie Dirigée par les Modèles : au-délà du MDA
("Model Driven Engineering : Beyond MDA")
Book, ISBN 2-7462-1213-7, Edition Hermes
February 2006
2006
J.M.Favre "Language Reverse Engineering - Separating concerns in legacy applications"
in preparation for the Dagstuhl Seminar 06302 on Aspects For Legacy Applications
J.M.Favre "Concepts fondamentaux de l'IDM - De l'Ancienne Egypte à l'Ingénierie des Langages"
tutorial à IDM06
2006
J.M.Favre
J. Musset
"Rétro-ingénierie dirigée par les métamodèles : Concepts, Outils, Méthodes"
IDM06
2006
I. Bull
M. Storey
J.M.Favre
M. Litoiu
"An Architecture to Support Model Driven Software Visualization"
International Conference on Program Comprehension, ICPC 2006, IEEE
Athens, June 14-16, 2006
2006
J. Bézivin
J.M.Favre
B. Rumpe
"First International Workshop on Global Integrated Model Management"
Proceedings of the International Conference on Software Engineering, ICSE 2006, IEEE
2006
"Mapping and Model Transformation"
CHI2006 Workshop on The Many Faces of Consistency in Cross-platform Design
2006
J.M.Favre
J. Bézivin
I. Bull
"Evolution, rétro-ingénierie et l'IDM : du code aux modèles"
("Evolution, Reverse Engineering and MDE : from code to models")
Book chapter, 32 pages, Edition Hermes
2006
J.M.Favre
J. Estublier

"Concepts de base de l'IDM : modèle, métamodèle, transformation, mégamodèle"
("MDE Concepts : Model, Metamodel, Transformation and Megamodel")
Book chapter, 18 pages, Edition Hermes
2006
J.S. Sottet
G. Calvary
J.M.Favre
J. Coutaz
A. Demeure
L. Balme
"Towards Model Driven Engineering of Plastic User Interfaces"
In proceedings of satellite Events at the MoDELS 2005 Conference, LNCS 3844, 10 pages
2006
K. Czarneski
J.M.Favre
M. Gogolla
T. Mens
"Essentials of the 4th UML/MoDELS Workshop in Software Model Engineering"
WiSME 2005 @ MODELS 2005
Montego Bay, Jamaica, October 3, 2005
LNCS 3844, 9 pages
2005
M. Gogolla
J.M.Favre
F; Büttner
"On Squeezing M0, M1, M2, and M3 into a Single Object Diagram"
Workshop on Tool Support for OCL and Related Formalisms - Needs and Trends
OCL 2005 @ MODELS 2005
Montego Bay, Jamaica, October 4, 2005
2005
I. Bull
J.M.Favre
"Visualization in the Context of Model Driven Engineering"
International Workshop on Model Driven Development of Advanced User Interfaces, MDDAUI 2005 @ MODELS 
Montego Bay, Jamaica, October 2, 2005
2005
J.S. Sottet
G. Calvary
J.M.Favre
"Towards Model Driven Engineering of Plastic User Interfaces"
Selected as "Best paper"
International Workshop on Model Driven Development of Advanced User Interfaces, MDDAUI 2005 @ MODELS 
Montego Bay, Jamaica, October 2, 2005
2005
S. Gérard
J.M.Favre
P.A. Muller
X. Blanc
"IDM05: Actes des premières journées sur l'Ingénierie Dirigée par les Modèles"
ISBN 2-7261-1284-6, 266 pages
Paris, Juin, 2005
2005
J.S. Sottet
G. Calvary
J.M.Favre
"Ingénierie de l'Interaction Homme-Machine Dirigée par les Modèles"
premières journées sur l'Ingénierie Dirigée par les Modèles, IDM05
Publié dans les actes de IDM05, ISBN 2-7261-1284-6, p67-82
Paris, 30 may-1 juin,  2005
2005
J.M.Favre "Megamodelling and Etymology -
A Story of Words: From MED to MDE via MODEL in five milleniums"

Dagstuhl Seminar 05161 on "Transformation Techniques in Software Engineering"
Dagsthul, Germany, 2005
Appeared in DROPS 04101, Published by IBFI




2005


J.M.Favre "Languages evolve too - Changing the Software Time Scale"
8th International Worshop on Principles of Software Evolution, IWPSE 2005, IEEE
Lisbon, September, 5-6 2005
2005
J.M.Favre "Metaware evolution - Languages evolve too!"
talk at  to the International Workshop on CHAllenges on Software Evolution, CHASE 2005
Bern, Switzerland, April 12th-13th, 2005
2005

 

J.M.Favre
A. Winter
M. Godfrey
"Proceedings of the Second International Workshop on Metamodels, Schemas and Grammars for Reverse Engineering"
Electronic Notes in Teoretical Computer Science, Vol. 137, #3, ELSEVIER, 2005
2005
S. Gérard
J.M.Favre
M. Blay
"Reflexions sur les travaux de l'AS CNRS MDA"
Journées Neptune 2005
revue Génie Logiciel
Paris, May 31th, 2005
2005
T. Girba
J.M.Favre
S. Ducasse
"Using Meta-Model Transformation to Model Software Evolution"
ATEM2004, Workshop with WCRE 2004)
Delft, The Netherlands, November 8th-12, 2004
ELSVIER Electronic Notes in Theoretical Computer Science, Vol. 137, #3 , 2005, 
pp. 57-64

2005
J.M.Favre "Model Driven Engineering, Transformations and Restructuring"
Invited talk at FFSE Symposium on Software Restructuring
Gent, Belgium, January 6, 2004
2005
J.M.Favre "CacOphoNy: Metamodel-Driven Architecture Reconstruction"
Working Conference on Reverse Engineering (WCRE 2004)
Delft, The Netherlands, November 8th-12, 2004
Proceedings of WCRE 2004, IEEE

2004
J.M.Favre
J. Estublier
"Concepts et relations de base pour l'Ingénierie Dirigée par les Modèles"
Chapitre du rapport de l'Action Spécifique CNRS sur le MDA
Décembre 2004
2004
J.Bézivin
M. Blay
M. Bouzeghoub
J. Estublier
J.M.Favre
"Rapport de Synthèse de l'Action CNRS sur le MDA (Model Driven Architecture)"
Chapitre principal du rapport de l'Action Spécifique CNRS sur le MDA
Décembre 2004
2004
J.M.Favre
A. Winter
M. Godfrey
"Second International Workshop on Metamodels, Schemas and Grammars for Reverse Engineering"
Delft, The Netherlands, November 8th-12, 2004, 
Proceedings of the Working Conference on Reverse Engineering (WCRE 2004) IEEE

2004
T. Girba
S. Ducasse
J.M.Favre
"Modeling Software Evolution by Treating History as a an Entity"
Workshop on Software Evolution through Transformation, SETRA 2004, with ICGT2004
Rome, Italy, October 2, 2004
Electronic Notes in Theoritical Computer Science, Volume 127, Issue 3, ENTCS ELSVIER
2004
J.M.Favre
T. NGuyen
"Towards a Megamodel to Model Software Evolution Through Software Transformation"
Workshop on Software Evolution through Transformation, SETRA 2004
Rome, Italy, October 2, 2004
Electronic Notes in Theoritical Computer Science,  Volume 127, Issue 3, ENTCS ELSVIER
2004
J.M.Favre
M. Godfrey
A. Winter
"Proceedings of the First International Workshop on Meta-Models and Schemas for Reverse Engineering"
Electronic Notes in Theoritical Computer Science,  Volume 94, ENTCS, ELSEVIER


2004
J.M.Favre "Towards a Basic Theory to Model Model Driven Engineering"
Workshop on Software Model Engineering, WISME 2004, joint event with UML2004
Lisboa, Portugal, October 11, 2004
2004
J.M.Favre "Foundations of the Metamodel (Driven) (Reverse) Engineering 
- Episode III, Stories of the Plateau of Ghiza and of the Rosetta Stone"
In preparation

J.M.Favre "Foundations of the Meta-pyramids: Languages and Metamodels 
-
Episode II, Story of Thotus the Baboon
"
Dagstuhl Seminar 04101 on "Language Engineering for Model-Driven Software Development"
Dagsthul, Germany, February 29-March 5, 2004
Appeared in DROPS 04101, Published by IBFI

2004

 

J.M.Favre "Foundations of Model (Driven) (Reverse) Engineering: Models  
-
Episode I, Stories of the Fidus Papyrus and of the Solarus
"
Dagstuhl Seminar 04101 on "Language Engineering for Model-Driven Software Development"
Dagsthul, Germany, February 29-March 5, 2004
Appeared in DROPS 04101, Published by IBFI

2004

J.M.Favre "Metamodel (Driven) (Reverse) Engineering 
- Stories of the Dagktis Stone and of the Rosetta Stone
"

Presentation at Dagstuhl Seminar 04101 on "Language Engineering for Model-Driven Software Development"
2004

J.M.Favre
M. Godfrey
A. Winter
"First International Workshop on Meta-Models and Schemas for Reverse Engineering: ATEM2003"
ATEM2003
Victoria, Canada, November 13, 16, 2003
Proceedings of the WCRE 2003, IEEE


2003
J.M.Favre
J. Estublier
R. Sanlaville
"Exploring the Many Architectures of a Very Large Component-based Software"
VISSOFT 2003, associated with ICSM 2003
Amsterdam, The Netherlands, September 2003
2003
J.M.Favre "Meta-Models and Models Co-Exploration with GSEE"
VISSOFT 2003, associated with ICSM 2003
Amsterdam, The Netherlands, September 2003
2003
J.M.Favre "Meta-models and Models Co-Evolution in the 3D Software Space"
ELISA 2003, associated with ICSM 2003
Amsterdam, The Netherlands, September 2003
2003
J.M.Favre "CPP denotational semantics"
SCAM 2003, associated with ICSM 2003
Amsterdam, The Netherlands, September 2003
2003
J.M.Favre "Using Meta-Models to Understand the Evolution of Large Scale Software"
presentation at the First RELEASE Technical Meeting, March, 7-8, 2003 
2003
J.M.Favre "Architecture Reconstruction using Meta-Models"
position paper, Dagstuhl Seminar 03061 on "Software Architecture: Recovery and Modelling"
Dagsthul, Germany, February 2_7, 2003
2003
J.M.Favre
J. Estublier
R. Sanlaville
"Tool adoption Issues in a Very Large Software Company"
3rd International Workshop on Adoption Centric Software Engineering, ACSE 2003
2003
A. van Deursen
J.M.Favre
R. Koschke
J. Rilling
"Experiences in Teaching  Software Evolution and Program Comprehension"
Working session at the International Workshop on Program Comprehension, IWPC 2003
2003
J.M.Favre
R. Sanlaville
"Continuous Discovery of Software Architecture in a Large Evolving Software Company"
Workshop on Software Architecture Reconstruction
at the Working Conference on Reverse Engineering, WCRE'2002 
2002
H. Cervantes
J.M.Favre
"Comparing JavaBeans and OSGi. Towards an integration of two complementary component models"
European Conference on Component-based Software Engineering, IEEE
Dortmund, Germany, September, 2002 
2002
J.M.Favre 
H. Cervantes
"Visualization of Component-based Software"
1st International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT), IEEE
colloctated with IWPC' 2002
2002
J.M.Favre
J. Estublier
"Industrial Component Models: Concepts and Comparison"
Tutorial at the European Joint Conferences on Theory and Practice of Software, ETAPS'2002 
2002
H. Cervantes
J.M.Favre
F. Duclos
"Describing Hierarchical Compositions of Java Beans with the Beanome Language
Workshop on Software Composition (SC'2002), ETAPS, Grenoble, 2002, Electronic Notes in Teoritical Computer Science, ENTCS, Vol 65, N. 4, 2002
2002
J. Estublier
J.M.Favre
"Component Models and Component Technology"
Book chapter in Builiding Reliable Component-Based Systems, I. Crnkovic, M. Larsson editors, Archtech House publishers, ISBN 1-58053-327-2, 2002, pp. 57-86 
2002
J. Estublier
J.M.Favre
R. Sanlaville
"An Industrial Experience with Dassault Systèmes' Component Model"
Book chapter in Builiding Reliable Component-Based Systems, I. Crnkovic, M. Larsson editors, Archtech House publishers, ISBN 1-58053-327-2,  2002, pp. 375-386
2002
J.M.Favre   "A New Approach to Software Exploration: Back-packing with GSEE"
European Conference on Software Maintenance and Reengineering (CSMR'2002),
Budapest, Hungry, March 2002
2002
J.M.Favre  "GSEE: a Generic Software Exploration Environment"
9th International Workshop on Program Comprehension (IWPC'2001),  
Toronto, Canada, May 2001, pp. 233-244
2001
J.M.Favre "A Flexible Approach to Visualize Large Software Products"
ICSE Workshop on Software Visualization,  
Toronto, Canada, May 2001
2001
J.M.Favre
F. Duclos
, J. Estublier
R. Sanlaville, J.J. Auffret
"Reverse Engineering a Large Component-based Software Product"
European Conf. on Software Maintenance and Reengineering, (CSMR'2001),  pp. 95-104,
Lisboa, Portugal,  March 2001
2001
R. Sanlaville
J.M.Favre
Y. Ledru
"Helping Various Stakeholders to Understand a Very Large Software Product"
European Conference on Component-Based Software Engineering
September 2001
2001
S. Jamal
J.M.Favre
"Outils pour l'analyse de l'évolution des logiciels"
International Conference on System and  Software Engineering and its Application (ICSSEA'2001)
(in french), Paris, décembre 2001
2001
J.M.Favre
H. Cervantes
, F. Duclos
R. Sanlaville, J. Estublier
"Issues in Reengineering the Architecture of Evolving Component-Based Software"
SWARM forum (Software Architecture Recovery and Modeling) 
at the Working Conference on Reverse Engineering (WCRE'2001)

Stuttgart, Germany, October 2001
2001
S.T. Nguyen
  J.M.Favre
  Y. Ledru
  J. Estublier
"Exploring Large Software Products"
ICSSEA, Paris, (In french)
Decembre 2000
2000
J. Estublier
J.M.Favre
P. Morat
"Toward SCM / PDM integration"
International Workshop on Software Configuration Management, (SCM8), Brussels, July
In LNCS 1439, Springer Verlag, 1998
1998
J.M. Favre TUTORIAL "Outils pour la maintenance et la retro-ingenierie des logiciels : l'etat de l'art"
Software Logistics'97 (LOGISTICS'97), Paris (France), June 1997
Slides (postscript)
1997
J.M. Favre "Panorama et Classification des outils de retro-ingenierie des logiciels"
Software Logistics'97 (LOGISTICS'97)
Paris (France), June 1997
1997
J.M. Favre "Visualisation globale du logiciel et gestion de configuration"
Software Conf'97 (CONF'97), Paris (France), June 1997
Slides (postscript)
1997
J.M. Favre  "Understanding-In-The-Large"
International Workshop on Program Comprehension (IWPC'97)
Deadborn (Michigan), May 1997
1997
J.M. Favre "A Rigorous Approach to Support the Maintenance of Large Portable Software"
European Conference on Software Maintenance and Reengineering (CSMR'97)
Berlin (Germany), March 1997
1997
J.M. Favre "Preprocessors from an abstract point of view"
International Conference on Software Maintenance (ICSM'96)
International Working Conference on Reverse Engineering (WCRE'96)
Monterey (California), November, 1996

1996
J.M. Favre "Using Mathematical abstractions to support reverse engineering of software variant representations"
4th International Symposium on Applied Corporate Computing (ISACC'96)
Monterrey (Mexico), November, 1996
1996
J.M. Favre "Reverse Engineering and Configuration Management: Concepts and Perspectives"
Software Conf'96, Paris (France), 11-12 June, 6 pages, 1996
Slides
1996
J.M. Favre "Maintenance et re-ingenierie globale en presence de preprocesseurs"
8th International Conference On Software Engineering & its Applications,
Paris (France), November, 1995
1995
J.M. Favre "Une approche pour la maintenance et la reingenierie globale des logiciels"
PhD dissertation,
Universite Grenoble I, Institut IMAG, Grenoble (France), September 1995
1995
J.M. Favre "The CPP Paradox"
9th European Workshop on Software Maintenance,
Durham (England), 25-27 September, 1995
Slides
1995
J.M. Favre "Support For Reengineering-in-The-Large"
Doctoral Consortium of CAiSE'94
Workshop of the 6th International Conference of Computer Aided Information System Engineering, Utrecht (Netherlands 6-10 june, 1994),
Memoranda Informatica 94-24, Univeristy of Twente, 1994.
1994
J.M. Favre "Reengineering-in-The-Large vs Reengineering-in-The-Small"
1st SEI Workshop on Reengineering,
Pittsburgh, 3-5 may 1994, Software Engineering Institute, Carnegie Mellon University, 1994.
1994
J.M. Favre "Vers une representation multi-langages et multi-versions des programmes"
6th International Conference On Software Engineering & its Applications,
Paris (France), pp. 459-468, 1993.
1993
J.M. Favre "Olga : Un Noyau Multi-langages et multi-versions des programmes"
2th International Conference On Software Engineering & its Applications,
Paris (France), pp. 717-730, 1989
1989
J. Estublier
J.M. Favre
"Structuring Large Versioned Software Products"
13th International Computer Software and Applications Conference,
Orlando (Florida),  pp. 404-411, September 1989
1989
J.M. Favre "Représentation multi-langages des programmes pour la programmation globale"
Rapport de DEA, Laboratoire de Génie Informatique, Institut National Polytechnique de Grenoble,
Grenoble (France), June 1988
1988

 

Students

 

 Students

 
Jean-Sébastien Sottet Transformations and Model Driven Engineering to Plastic User Interface Design
Transformations et Ingénierie Dirigée par les Modèles pour la Pasticité des Interfaces Homme Machine
PHD
Eugenio Scalise Metamodel Driven Evolution and Reverse Engineering PHD
Thi Thu Minh NGuyen Software Engineering through Traceable Model Transformation: from business analysis to implementation models PHD
Jean-Sébastien Sottet Model Driven Engineering for Plastic User Interface
Ingénierie Dirigée par les Modèles pour les Interfaces Plastic
DEA 2005
NGuyen Tam Transformation languages in multiples technological spaces for Model-Driven Engineering
Langages de transformation multi-espaces technologiques pour l'Ingénierie Dirigée par les Modèles
DEA 2004
Si-Triet NGuyen Modeling Roles in Product Line Architectures PHD
Humberto Cervantes Towards a service-oriented component model to support dyntamic availability
Vers un modèle à composants orienté-services pour supporter la disponibilité dynamique
PHD 2004
Alexandre Colin XML and Java Bean Generation
Le langage XML et la génération de Java Beans
Probatoire CNAM 2004
Jean-Olivier Gerphagnon Bridges beetween Technological Spaces: From UML to XML and back again
Correspondances entre espaces technologiques : le cas UML vers XML et vice versa
Probatoire CNAM 2004
Yves Girard From Java to UML via XML, GXL and XMI
De Java vers UML via XML, GXL et XMI
TER 2003
Laurence Estrabaut
Alexandre Roux
Florence Whimet
A Component Framework for Software Exploration
Un framework à composant pour l'exploration des logiciels
DESS GI 2002
Sonia Jamal A Framework to support the Analysis of Software Evolution
Un framework pour l'analyse de l'évolution des logiciels
"
DEA 00-01
Nathalie Peron Analysis of Software Evolution
Analyse de l'évolution des logiciels
CNAM 2001
Mohamed Cissé Dynamic analysis of software and visualisation of program traces
Analyse dynamique et visualisation de trace de programmes
TER 2001
Humberto Cervantes Dependence Analysis and Slicing-in-the-large
Analyse de dépendance et découpe dans un logiciel de grande taille
DEA 2000
Sonia Jamal Graph Visualization of CATIA Software Structures
Visualisation de la structure du logiciel CATIA sous-forme de graphes
DESS CCI 99-00
Si-Triet NGuyen Software Exploration Environments for Large Scale Software Products
Environnements d'Exploration de Grands Logiciels
DEA 99-00
Rosana Angles Outils pour la definition 
Outils pour l'exploration et la définition de l'architecture des logiciels
co-directed with
Rémy Sanlaville
ENSIMAG 99-00
Antonio Morales Query-languages for Software Understanding
Langages de requêtes pour la compréhension des logiciels
CNAM 1997
Johan Cardon Exploring large Software Products and their Evolution
Exploration des logiciels de grande taille et de leur évolution
CNAM 2000
Antonio Morales Design and Implementation of a Reverse Engineering Toolset to Support the Analysis of Product Families CNAM 98-99
Vania Marangozova Linking the Software Architecture with Source Code
Liaison entre architecture logicielle et code souce
DEA 97-98
José Luis Zechinelli Martin Towards a Query-Language for Software Configuration Management
Vers un langage de requêtes pour la gestion de configurations logicielles
DEA 96-97
Rémi Coulom
Yann Dolisi
Visualizing Large Scale Software Products
Visualisation graphique des logiciels de grande taille
ENSIMAG 96-97
 

 

More on Teaching

I've been teaching in different countries

France Venezuela Colombia

I've been teaching different topics

I've been teaching at different levels

 

 Courses

 

2002-2003
2001-2002
2000-2001

to busy to write it

1999-2000

to busy to write it

1998-1999

to busy to write it

1997-1998
1996-1997
  • Software Evolution, Maintenance and Reverse Engineering, Universidad Los Andes (Bogotà, Colombia)
  • Software Testing, CUEF, Grenoble
1994-1995
  • Compilation, Maitrise d'informatique,
  • Functional Language, Lambda-calculus, Maitrise d'informatique
  • Algorithms and Data Structures, Licence d'informatique
1991-1993
  • Software Engineering and Reverse Engineering, Universidad Central De Venezuela, Caracas, Venezuela
  • Human-Computer Interaction, Universidad Central De Venezuela, Caracas, Venezuela

 

Slides

Ce site fait partie de :

5 precedents precedent Home suivant 5 suivants

J'essaie de maintenir plus de 1200 transparents concernant différents thèmes et en différentes langues (la plupart en français, certains en mauvais anglais et quelques uns en espagnol). Ceci est extrêmement difficile en particulier cas certains transparents sont utilisés dans différents cours. Finalement certains transparents ne sont pas à jour et certains cours sont basés sur des versions beaucoup plus récentes.

Si certains liens ne fonctionnent pas essayer via un
accés direct et complet..

For teaching purposes I have to maintain about 1200 slides dealing with different topics and in different languages (most in french, some in broken english and few in spanish). This is extremely difficult especially since these slides are used in different courses. Finally some slides here are not update and some lectures are based on much more advanced matérial.

If some link is broken or is not up to date you can try using the
full raw-access
.

Using the link on the title you will have access to all versions and variants. Using the last column you may have access to the last version and one variant.

 
GenieLogiciel Software Engineering pdf
SoftwareEngineeringEvolution Software Engineering pdf
AnalyzeDesBesoins Requirements Engineering pdf
ApprocheOrienteeObjet OO, UML   pdf
IDMVisionGlobale MDEOverview
UMLVisionGlobale UMLOverview  
UMLDiagrammesDeCasDUtilisation UMLUseCasesDiagram
UMLDiagrammesDeClasses UMLClassDiagrams 
UMLDiagrammesDInteractions UML    
UMLOCL UMLOCL  
DeUMLVersUneImplementation UML  
UMLEtJava UML And Java
UMLEtRelationnel UML And Relational DBMS
ZNotation Z, Formal Specification pdf
ZToOcaml Z, Formal Specification, Functional Language, Ocaml pdf
LexicalAnalysisUsingZ Z, Software Analysis  pdf
SyntacticAnalysisUsingZ Z, Software Analysis pdf
SoftwareAnalysisUsingZ Z, Software Analysis, Control Flow Graph pdf
SoftwareMaintenance Software Maintenance pdf
ProgrammingInTheLarge Software Engineering pdf
SupportForSoftwareMaintenance Software Maintenance pdf
SoftwareReengineering Reverse Engineering  pdf
IntroductionToSoftwareAnalysis Reverse Engineering, Software Analysis  pdf
Restructuring Reverse Engineering, Software Analysis  pdf
Slicing Reverse Engineering, Software Analysis  pdf
Refactoring
ObjectOrientedReverseEngineering
ReverseEnginneringAndUML  
SoftwareQueryLanguages  
SoftwareVisualization
JUnitFramework
JavaCollectionFramework

 

 

Case studies

 

Ce site fait partie de :

5 precedents precedent Home suivant 5 suivants
J'utilise différents exemples simples comme cas d'étude. Ces cas d'étude sont souvent présentés avant les cours et avant de présenter les concepts, en particulier dans les cours de rétro-ingénierie.

Si un lien ne fonctionne pas, vous pouvez essayer un
Accés direct et complet

I use various sample example as case studies to illustrate the concepts presented in courses. I practice reverse teaching, that is starting from a case study before presenting concepts, especially in courses about reverse engineering.

If some link is broken or is not up to date you can try using the
full raw-access

.

Conférences Requirement Engineering, UML, Use case diagrams, Class diagrams, Sequence diagrams, State diagrams 
Try to solve an actual problem that is currently a very hot topic for many researchers all around the planet. This case study led to more than 20 software products and is leading to the apparition of various startups!
Study the market by recovering requirements and domain concepts from existing software products. Extend the requirements and provide a full description of this problem using UML. 

 

CyberPlanning 
solutions provided
UML, Metamodel Try to model a planning system. The goal is to design a tool supporting many different kinds of models and diagrams, Gandtt diagrams, task models, ressource allocation models, etc. 
TFR2000 Requirement Engineering, UML, Use case diagrams
Elaborate and review the requirements for a brand new phone-fax-answering-machine including no printing/scanning device!
The goal is to derive a first version of a use case diagram  from a one- page document. In the second step, you will have to review actual diagrams elaborated by students during an exam. Both read and write UML diagrams.

 

CyberKebab UML, Use case diagrams, Class diagrams

Elaborate the requirements for the distribution of Kebabs on the net.
The goal is to derive a simple use case and class diagrams from a one-page document. This topic was used for an exam..

CyberHotel
some solutions provided
UML
Class Diagrams
Specification
OCL 
Java
Exercices
+Some solutions (for CyberHotel-Express)

 

Emploi
solutions provided
UML
Class Diagrams
OCL
Java
Various exercices about the concept of employment
CyberVideo
solutions provided
UML
Use cases
Class Diagrams 
OCL
Exercices
+Solutions
CyberMetro
solutions provided
UML  Try to model the city transportation network.
Currently only a version concerning the tram in Grenoble (TAG) is available. If you want, you can try to model the information available from the SEMITAG web site (Transport en Commun de l'Agglomération Grenobloise). A basic solution is provided (other solutions are possible).
Example of solution.
BytecodeRP Reverse Engineering, Control Flow Graph, Restucturation, Assembler, Bytecode, Java, Decompilation, Renaming, Redocumentation

 

Try to discover what the RP program do! Recover a java program from this piece of bytecode! 
A piece of bytecode is given without further explanation. A student discovered the meaning of this program in about 10 minutes. How long will it take to you? The goal is (1) to recover expressions from bytecode, (2)  to draw the control flow graph (3) to recognize high level statements (4) to perform a renaming and (5) to rewrite the program as a java program, (6) to redocument it, (7) to generate a Z specification of this program. All this take could take between 1h30 or 3h depending on the goals. No previous knowledge of bytecode is necessary.

 

SlicingCW Reverse Engineering, Slicing, Program Dependency Graph, Program Reduction

 

Try to discover what the CW program do! Try to find a bug and reuse some part of the program by extracting a slice of it!
A C piece of code is given without further explanation. There are some bugs. The goal is to discover the meaning of the program, to correct some bug and to compute various slices both in a reuse and maintenance context. The concept of program dependency graph is introduce and compare with control flow graph. Bad smells and nice structures are identified from this graph. Slices are computed.

 

ParametreG Reverse Engineering, Control and data flow analysis

 

Try to discover what the G program do! Recover the notion of parameters, local variables, etc.

 

Modula2TL

Reverse Engineering, Architecture Recovery, Remodularization, Module Dependency Graph, Bad Smells, Abstract data type identification.

 

Try to discover what this Modula 2 program do! Reconstruct, evaluate its architecture and discover some architectural bad smells.

 

 

Background

 

 

Acknowledgment

All I know is the result of the interactions with my colleagues, former teachers, past and current students...

As a result I don't know vert much ;-) but thanks to all anyway !!! Especially since we had and have a lot of fun ... 

 

 

Contact

Snail Mail  
Laboratoire LSR
, Batiment C
220 Rue de la chimie Domaine Universitaire
BP53X, 38041 Grenoble Cedex 9 (FRANCE)

Phone: (+33) 4 76 63 55 71
Fax: (+33) 4 76 63 55 50
EMail: Jean-Marie.Favre@imag.fr