SlideShare a Scribd company logo
1 of 7
Download to read offline
Design patterns
        &
 Meta-model

 Pattern identification
 and code generation
Us
     n   Hervé Albin-Amiot
         – 3rd year PhD student
         – Partly funded by Soft-Maint S.A. (France)

     n   Yann-Gaël Guéhéneuc
         – 2nd year PhD student
         – Partly funded by Object Technology
           International, Inc. (Canada)

     n   PhDs hosted by the
         École des Mines de Nantes
Goals

n Formalize design patterns
n Describe design patterns
  – First-class entities
     • They know how to generate their source code
     • They know how to identify their occurrences
  – Manipulatable entities
     • We can reason about them
     • We can adapt them to specific contexts
A solution: A meta-model
ic
                                A Bas se
                                     U
                                Informal descriptions
                                from [GoF]



Translates into a                 Legend
design pattern model
                              Instance of Pattern
                              Instance of PInterface
                              Instance of PClass
                              Instance of PAssoc
                              Instance of PDelegation
                       name() Instance of PMethod
Goals fulfillment

nA   design pattern model is an object:
  – It has a structure composed by the set of
    the design pattern constituents
  – It answers to messages
      • Message build() generates code
      • Message compare() matches an instance of a
        design pattern model with some source code
      • Specific message addLeaf() for Composite
        design pattern model, …
Future

n To   have two separate meta-models:
  – One specific for design patterns
  – One specific for source code
n To apply patterns to existing code with
  source-to-source transformation
n To define an operational semantics for
  association, aggregation, … links
n To manage dynamic information

More Related Content

Viewers also liked

How to more followers on pinterest
How to more followers on pinterestHow to more followers on pinterest
How to more followers on pinterest
simon220
 
Increase my pinterest followers
Increase my pinterest followersIncrease my pinterest followers
Increase my pinterest followers
simon220
 
Increasing your pinterest followers
Increasing your pinterest followersIncreasing your pinterest followers
Increasing your pinterest followers
simon220
 
Increasing pinterest followers
Increasing pinterest followersIncreasing pinterest followers
Increasing pinterest followers
simon220
 
Increasing followers on pinterest
Increasing followers on pinterestIncreasing followers on pinterest
Increasing followers on pinterest
simon220
 
Increase number of followers on pinterest
Increase number of followers on pinterestIncrease number of followers on pinterest
Increase number of followers on pinterest
simon220
 

Viewers also liked (14)

Market research
Market researchMarket research
Market research
 
130705 zephyrin soh - how developers spend their effort during maintenance ...
130705   zephyrin soh - how developers spend their effort during maintenance ...130705   zephyrin soh - how developers spend their effort during maintenance ...
130705 zephyrin soh - how developers spend their effort during maintenance ...
 
How to more followers on pinterest
How to more followers on pinterestHow to more followers on pinterest
How to more followers on pinterest
 
ICSOC12.ppt
ICSOC12.pptICSOC12.ppt
ICSOC12.ppt
 
Semana 1
Semana 1Semana 1
Semana 1
 
Systemic Risk Tomography: Project Overview - Roberto Savona. december, 15 2014
Systemic Risk Tomography: Project Overview - Roberto Savona. december, 15 2014Systemic Risk Tomography: Project Overview - Roberto Savona. december, 15 2014
Systemic Risk Tomography: Project Overview - Roberto Savona. december, 15 2014
 
Džona C. Maksvela grāmatas The Five Levels of Leadership apskats
Džona C. Maksvela grāmatas The Five Levels of Leadership apskatsDžona C. Maksvela grāmatas The Five Levels of Leadership apskats
Džona C. Maksvela grāmatas The Five Levels of Leadership apskats
 
Increase my pinterest followers
Increase my pinterest followersIncrease my pinterest followers
Increase my pinterest followers
 
Presentasi Bisnis ABENetwork
Presentasi Bisnis ABENetworkPresentasi Bisnis ABENetwork
Presentasi Bisnis ABENetwork
 
CSMR13d.ppt
CSMR13d.pptCSMR13d.ppt
CSMR13d.ppt
 
Increasing your pinterest followers
Increasing your pinterest followersIncreasing your pinterest followers
Increasing your pinterest followers
 
Increasing pinterest followers
Increasing pinterest followersIncreasing pinterest followers
Increasing pinterest followers
 
Increasing followers on pinterest
Increasing followers on pinterestIncreasing followers on pinterest
Increasing followers on pinterest
 
Increase number of followers on pinterest
Increase number of followers on pinterestIncrease number of followers on pinterest
Increase number of followers on pinterest
 

Similar to ECOOP01 AOOSDM.ppt

ECOOP01 PhDOOS.ppt
ECOOP01 PhDOOS.pptECOOP01 PhDOOS.ppt
ECOOP01 PhDOOS.ppt
Ptidej Team
 
Design patterns intro
Design patterns introDesign patterns intro
Design patterns intro
Jean Pаoli
 
Spy On Your Models, Standard talk at EclipseCon 2011
Spy On Your Models, Standard talk at EclipseCon 2011Spy On Your Models, Standard talk at EclipseCon 2011
Spy On Your Models, Standard talk at EclipseCon 2011
Hugo Bruneliere
 
IJCAI01 MSPC.ppt
IJCAI01 MSPC.pptIJCAI01 MSPC.ppt
IJCAI01 MSPC.ppt
Ptidej Team
 

Similar to ECOOP01 AOOSDM.ppt (20)

ASE01.ppt
ASE01.pptASE01.ppt
ASE01.ppt
 
Event-driven Model Transformations in Domain-specific Modeling Languages
Event-driven Model Transformations in Domain-specific Modeling LanguagesEvent-driven Model Transformations in Domain-specific Modeling Languages
Event-driven Model Transformations in Domain-specific Modeling Languages
 
ECOOP01 PhDOOS.ppt
ECOOP01 PhDOOS.pptECOOP01 PhDOOS.ppt
ECOOP01 PhDOOS.ppt
 
Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?
 
5
55
5
 
Future Trends on Software and Systems Modeling
Future Trends on Software and Systems ModelingFuture Trends on Software and Systems Modeling
Future Trends on Software and Systems Modeling
 
010821+presentation+oti.ppt
010821+presentation+oti.ppt010821+presentation+oti.ppt
010821+presentation+oti.ppt
 
C# Summer course - Lecture 1
C# Summer course - Lecture 1C# Summer course - Lecture 1
C# Summer course - Lecture 1
 
Final Jspring2009 Mda Slimmer Ontwikkelen Van Java Ee Applicaties
Final Jspring2009 Mda Slimmer Ontwikkelen Van Java Ee ApplicatiesFinal Jspring2009 Mda Slimmer Ontwikkelen Van Java Ee Applicaties
Final Jspring2009 Mda Slimmer Ontwikkelen Van Java Ee Applicaties
 
Introduction to MDE
Introduction to MDEIntroduction to MDE
Introduction to MDE
 
Design patterns intro
Design patterns introDesign patterns intro
Design patterns intro
 
ALT
ALTALT
ALT
 
Developing Ontologies for Collaborative Engineering in Mechatronics
Developing Ontologies for Collaborative Engineering in MechatronicsDeveloping Ontologies for Collaborative Engineering in Mechatronics
Developing Ontologies for Collaborative Engineering in Mechatronics
 
Spy On Your Models, Standard talk at EclipseCon 2011
Spy On Your Models, Standard talk at EclipseCon 2011Spy On Your Models, Standard talk at EclipseCon 2011
Spy On Your Models, Standard talk at EclipseCon 2011
 
Aspect-Oriented Programming for PHP
Aspect-Oriented Programming for PHPAspect-Oriented Programming for PHP
Aspect-Oriented Programming for PHP
 
Intelligent Code Generation for Model Driven Web Development
Intelligent Code Generation for Model Driven Web DevelopmentIntelligent Code Generation for Model Driven Web Development
Intelligent Code Generation for Model Driven Web Development
 
The Object Model
The Object Model  The Object Model
The Object Model
 
Educating in MDE
Educating in MDE Educating in MDE
Educating in MDE
 
IJCAI01 MSPC.ppt
IJCAI01 MSPC.pptIJCAI01 MSPC.ppt
IJCAI01 MSPC.ppt
 
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worldsmbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
 

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

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

ECOOP01 AOOSDM.ppt

  • 1. Design patterns & Meta-model Pattern identification and code generation
  • 2. Us n Hervé Albin-Amiot – 3rd year PhD student – Partly funded by Soft-Maint S.A. (France) n Yann-Gaël Guéhéneuc – 2nd year PhD student – Partly funded by Object Technology International, Inc. (Canada) n PhDs hosted by the École des Mines de Nantes
  • 3. Goals n Formalize design patterns n Describe design patterns – First-class entities • They know how to generate their source code • They know how to identify their occurrences – Manipulatable entities • We can reason about them • We can adapt them to specific contexts
  • 4. A solution: A meta-model
  • 5. ic A Bas se U Informal descriptions from [GoF] Translates into a Legend design pattern model Instance of Pattern Instance of PInterface Instance of PClass Instance of PAssoc Instance of PDelegation name() Instance of PMethod
  • 6. Goals fulfillment nA design pattern model is an object: – It has a structure composed by the set of the design pattern constituents – It answers to messages • Message build() generates code • Message compare() matches an instance of a design pattern model with some source code • Specific message addLeaf() for Composite design pattern model, …
  • 7. Future n To have two separate meta-models: – One specific for design patterns – One specific for source code n To apply patterns to existing code with source-to-source transformation n To define an operational semantics for association, aggregation, … links n To manage dynamic information