SlideShare a Scribd company logo
1 of 6
Download to read offline
A Pragmatic Study of
        Binary Class Relationships
  Recovering relevant UML-like class diagrams with Ptidej




                        Yann-Gaël Guéhéneuc
                          Hervé Albin-Amiot
                    guehene@iro.umontreal.ca, albin@emn.fr



École des Mines                   Object Technology             Université de Montréal,
de Nantes, France                 International, Inc., Canada   Canada
Objectives

      n Long term: Automated help to
       understand and to document object-
       oriented programs
        – Abstract implementation-level artefacts


      n Shortterm: Produce relevant UML-like
       class diagrams and (design) pattern
       representations from source code
2/6
Needs

      n Tobridge the discontinuity between
       source code and class diagrams
        – Precise definitions of class-diagram
          artefacts: Class/interface, relationships
        – Models to describe source code and class-
          diagram artefacts
        – Static and dynamic analyses tools to
          generate the models

3/6
Relationships in a nutshell

      n    A      B
                      Association
          – Says that instances of a class A send
            messages to instances of a class B
      n    A      B
                      Aggregation
          – Association in which the whole (A) declares
            a part (B) (a field in the whole)
      n    A      B
                      Composition
          – Aggregation in which the part (B) belongs
4/6         exclusively to the whole (A)
Tools

      n PDL1:  To describe source code, UML-like
        class diagrams, design patterns
      n Caffeine: To obtain and abstract dynamic
        information from program executions
      n Ptidej2: To serve as a front-end to other
        tools and to display class diagrams


5/6   1: Pattern (and Abstract-level) Description Language
      2: Pattern Trace Identification, Detection, and Enhancement in Java
Frame                                    Panel




                                                                  Association



                                          DrawingEditor                           DrawingView




                                              Tool                                   Drawing
                                                                                                            Association



                                                            Instanciation

                                                                                                                   Interface

                                             Handle                                   Figure




                                                                                  AbstractFigure



      Tools in action                                                                                            Agrégation


                        AttributeFigure   DecoratorFigure        PolyLineFigure                CompositeFigure


6/6
                                                                 Classe

More Related Content

Similar to ASE03 Poster.ppt

Object oriented methodology & unified modeling language
Object oriented methodology & unified modeling languageObject oriented methodology & unified modeling language
Object oriented methodology & unified modeling language
Ismail El Gayar
 
PHX Session #5 : Architecture Without Big Design Up Front (Garibay)
PHX Session #5 : Architecture Without Big Design Up Front (Garibay)PHX Session #5 : Architecture Without Big Design Up Front (Garibay)
PHX Session #5 : Architecture Without Big Design Up Front (Garibay)
Steve Lange
 
Design Patterns By Sisimon Soman
Design Patterns By Sisimon SomanDesign Patterns By Sisimon Soman
Design Patterns By Sisimon Soman
Sisimon Soman
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architecture
drewz lin
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architecture
Tot Bob
 
Teaching Case Teaching Software Componentization .docx
  Teaching Case  Teaching Software Componentization  .docx  Teaching Case  Teaching Software Componentization  .docx
Teaching Case Teaching Software Componentization .docx
joyjonna282
 
Batch 21(14,64,66)
Batch 21(14,64,66)Batch 21(14,64,66)
Batch 21(14,64,66)
swethadln
 
Circuit design presentation
Circuit design presentationCircuit design presentation
Circuit design presentation
Debopriyo Roy
 

Similar to ASE03 Poster.ppt (20)

Ix2515851588
Ix2515851588Ix2515851588
Ix2515851588
 
Ix2515851588
Ix2515851588Ix2515851588
Ix2515851588
 
Introduction to Rational Rose
Introduction to Rational RoseIntroduction to Rational Rose
Introduction to Rational Rose
 
Uml types
Uml typesUml types
Uml types
 
Object oriented methodology & unified modeling language
Object oriented methodology & unified modeling languageObject oriented methodology & unified modeling language
Object oriented methodology & unified modeling language
 
PHX Session #5 : Architecture Without Big Design Up Front (Garibay)
PHX Session #5 : Architecture Without Big Design Up Front (Garibay)PHX Session #5 : Architecture Without Big Design Up Front (Garibay)
PHX Session #5 : Architecture Without Big Design Up Front (Garibay)
 
Design Patterns By Sisimon Soman
Design Patterns By Sisimon SomanDesign Patterns By Sisimon Soman
Design Patterns By Sisimon Soman
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architecture
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architecture
 
Teaching Case Teaching Software Componentization .docx
  Teaching Case  Teaching Software Componentization  .docx  Teaching Case  Teaching Software Componentization  .docx
Teaching Case Teaching Software Componentization .docx
 
Batch 21(14,64,66)
Batch 21(14,64,66)Batch 21(14,64,66)
Batch 21(14,64,66)
 
Distributed Graphical User Interfaces to Class Diagram: Reverse Engineering A...
Distributed Graphical User Interfaces to Class Diagram: Reverse Engineering A...Distributed Graphical User Interfaces to Class Diagram: Reverse Engineering A...
Distributed Graphical User Interfaces to Class Diagram: Reverse Engineering A...
 
Collaboration Diagram
Collaboration DiagramCollaboration Diagram
Collaboration Diagram
 
Ms Visio
Ms VisioMs Visio
Ms Visio
 
Circuit design presentation
Circuit design presentationCircuit design presentation
Circuit design presentation
 
A SYSTEM FOR VISUALIZATION OF BIG ATTRIBUTED HIERARCHICAL GRAPHS
A SYSTEM FOR VISUALIZATION OF BIG ATTRIBUTED HIERARCHICAL GRAPHSA SYSTEM FOR VISUALIZATION OF BIG ATTRIBUTED HIERARCHICAL GRAPHS
A SYSTEM FOR VISUALIZATION OF BIG ATTRIBUTED HIERARCHICAL GRAPHS
 
Gui in java
Gui in javaGui in java
Gui in java
 
Ase03.ppt
Ase03.pptAse03.ppt
Ase03.ppt
 
CMSC 350 FINAL PROJECT
CMSC 350 FINAL PROJECTCMSC 350 FINAL PROJECT
CMSC 350 FINAL PROJECT
 
JFree chart
JFree chartJFree chart
JFree chart
 

More from Ptidej Team

More from Ptidej Team (20)

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software Miniaturisation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel Briand
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel Abdellatif
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh Kermansaravi
 
Mouna Abidi
Mouna AbidiMouna Abidi
Mouna Abidi
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano Politowski
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisis
 
MIPA
MIPAMIPA
MIPA
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.ppt
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
 
Medicine15.ppt
Medicine15.pptMedicine15.ppt
Medicine15.ppt
 
Qrs17b.ppt
Qrs17b.pptQrs17b.ppt
Qrs17b.ppt
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
 
Msr17a.ppt
Msr17a.pptMsr17a.ppt
Msr17a.ppt
 
Icsoc15.ppt
Icsoc15.pptIcsoc15.ppt
Icsoc15.ppt
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

ASE03 Poster.ppt

  • 1. A Pragmatic Study of Binary Class Relationships Recovering relevant UML-like class diagrams with Ptidej Yann-Gaël Guéhéneuc Hervé Albin-Amiot guehene@iro.umontreal.ca, albin@emn.fr École des Mines Object Technology Université de Montréal, de Nantes, France International, Inc., Canada Canada
  • 2. Objectives n Long term: Automated help to understand and to document object- oriented programs – Abstract implementation-level artefacts n Shortterm: Produce relevant UML-like class diagrams and (design) pattern representations from source code 2/6
  • 3. Needs n Tobridge the discontinuity between source code and class diagrams – Precise definitions of class-diagram artefacts: Class/interface, relationships – Models to describe source code and class- diagram artefacts – Static and dynamic analyses tools to generate the models 3/6
  • 4. Relationships in a nutshell n A B Association – Says that instances of a class A send messages to instances of a class B n A B Aggregation – Association in which the whole (A) declares a part (B) (a field in the whole) n A B Composition – Aggregation in which the part (B) belongs 4/6 exclusively to the whole (A)
  • 5. Tools n PDL1: To describe source code, UML-like class diagrams, design patterns n Caffeine: To obtain and abstract dynamic information from program executions n Ptidej2: To serve as a front-end to other tools and to display class diagrams 5/6 1: Pattern (and Abstract-level) Description Language 2: Pattern Trace Identification, Detection, and Enhancement in Java
  • 6. Frame Panel Association DrawingEditor DrawingView Tool Drawing Association Instanciation Interface Handle Figure AbstractFigure Tools in action Agrégation AttributeFigure DecoratorFigure PolyLineFigure CompositeFigure 6/6 Classe