SlideShare a Scribd company logo
1 of 14
Download to read offline
Leveraging Software Product Lines
Engineering in the construction of
Domain-Specific Languages
David Méndez Acuña
Benoît Combemale
VaryMDE
DiverSE Coffe – 23th April 2015
Problem statement
UML state machines
diagrams
Rhapsody
Classical
statecharts
States and simple transitions (triggers,
conditions, etc.)
Example: A family of languages for Finite
State Machines
A	
   B	
  
event[condition]	
  
Academic example:
Crane, M., Dingel, J., UML vs. classical vs. Rhapsody
statecharts: not all models are created equal.
Software & Systems Modeling. Vol. 6 No. 4. Springer-
Verlag 2007.
Semantic and syntactic variation
points in languages for FSM
Example: A family of languages for Finite State Machines
Family of Languages
Feature A
Feature B Feature B
F. D F. D F. D F. D F. D F. D
Language Product Line
Software Languages are Software too!
Software Engineering Techniques … Software Product Lines Engineering
Méndez-Acuña’s
PhD
Jean-Marie Favre, Dragan Gasevic, Ralf Lmmel, and Ekaterina Pek. Empirical Language Analysis in Software
Linguistics. In Software Language Engineering. Springer. 2011
Steffen Zschaler, Pablo Sánchez, Joo Santos, Mauricio Alférez, Awais Rashid, Lidia Fuentes, Ana Moreira,
Joo Arajo, and Uir Kulesza. VML* A Family of Languages for Variability Management in Software
Product Lines. In Software Language Engineering. Springer. 2010.
Challenges
Language Units
Family of DSLs
Variability Models &
Configuration
Feature A
Feature B Feature B
F. D F. D F. D F. D F. D F. D
Multi-dimensional & staged
variability modeling
Configured
DSL
Language Units
Composition
Modular Languages
Design
Let’s get fun!
Tool DEMO
The citizen watch
Initial
displays
alarm 1
alarm 2
start	
  
T1	
  
a	
  
a	
  
T2	
  
David Harel. 1987. Statecharts:A visual formalism for complex systems. Sci. Comput. Program. 8, 3 (June 1987), 231-274.
Button
a
Display
The citizen watch
Initial
displays
alarm 1
alarm 2
start	
  
T1	
  
a	
  
a	
  
T2	
  
David Harel. 1987. Statecharts:A visual formalism for complex systems. Sci. Comput. Program. 8, 3 (June 1987), 231-274.
while(alarm1.active){
println(‘(1) beep’)
}
while(alarm1.active){
println(‘(2) beep’)
}
doActivity
doActivity
Core FSM: State Machine, States,
Transitions,Triggers
Imperative Language:
Program, Loop, Conditions, …
The citizen watch
Core FSM: State Machine,
States,Transitions,Triggers
Imperative Language:
Program, Loop, Conditions, …Required
Interface
Provided
Interface
aggregation
The citizen watch
Initial
displays
alarm 1
alarm 2
start	
  
T1	
  
a	
  
T2	
  
David Harel. 1987. Statecharts:A visual formalism for complex systems. Sci. Comput. Program. 8, 3 (June 1987), 231-274.
Core FSM: State Machine, States,
Transitions,Triggers CompositeStates:
CompositeState, …+
Initial
displays
alarm 1
alarm 2
start	
  
T1	
  
a	
  
a	
  
T2	
  
The citizen watch
Initial
displays
alarm 1
alarm 2
start	
  
T1	
  
a	
  
T2	
  
David Harel. 1987. Statecharts:A visual formalism for complex systems. Sci. Comput. Program. 8, 3 (June 1987), 231-274.
while(alarm1.active){
println(‘(1) beep’)
}
while(alarm1.active){
println(‘(2) beep’)
}
doActivity
doActivity
Core FSM: State Machine, States,
Transitions,Triggers CompositeStates:
CompositeState, …+
The citizen watch
Core FSM: State Machine,
States,Transitions,Triggers
Imperative Language:
Program, Loop, Conditions, …Required
Interface
Provided
Interface
CompositeStates:
CompositeState, …
Extension
Point
Extension
aggregation
extension
Melange
Some cool features coming…
From Variability Models to Software Languages
Engineering in the Large
Some cool features coming…
Program
+exec() : void
Statement
+eval() : void
Condition
+eval() : void
Loop
+eval() : void
VarDecl
+eval() : void
StatementListContainer
+exec() : void
Statement
+eval() : void
Method
+exec() : void
statements
0 .. *
statements0 .. *
Condition
+eval() : void
ForLoop
+eval() : void
LocalVariableStatement
+eval() : void
Statement
+eval() : void
Block
+eval() : void
IfStatement
+eval() : void
ForStatement
+eval() : void
VariableDeclaration
+eval() : void
statements
0 .. *Constraint
+eval(context : Map) : boolean
Provided Interface: Java Provided Interface: C#
Required Interface:
Finite State Machines
Binding
Java <-> FiniteStateMachines
Binding
C# <-> FiniteStateMachines
Structural heterogeneities
FORYOUR ATTENTION,
THANKYOU!
QUESTIONS, COMMENTS,
FEEDBACK?

More Related Content

Similar to Tool demo composition of executable languages

lec00-Introduction.pdf
lec00-Introduction.pdflec00-Introduction.pdf
lec00-Introduction.pdfwigewej294
 
Variability Management in Domain Specific Languages
Variability Management in Domain Specific LanguagesVariability Management in Domain Specific Languages
Variability Management in Domain Specific LanguagesDavid Méndez-Acuña
 
Can programming be liberated from the von neumman style
Can programming be liberated from the von neumman styleCan programming be liberated from the von neumman style
Can programming be liberated from the von neumman styleshady_10
 
Lecture1 compilers
Lecture1 compilersLecture1 compilers
Lecture1 compilersAftab Ahmad
 
Backus turingaward lecture
Backus turingaward lectureBackus turingaward lecture
Backus turingaward lectureKulOusemnes
 
Can Programming Be Liberated from the von Neumann Style? by John Backus
Can Programming Be Liberated from the von Neumann Style? by John BackusCan Programming Be Liberated from the von Neumann Style? by John Backus
Can Programming Be Liberated from the von Neumann Style? by John Backusmustafa sarac
 
A DSL to feedback formal verification results
A DSL to feedback formal verification resultsA DSL to feedback formal verification results
A DSL to feedback formal verification resultsMarc Pantel
 
Computer program, computer languages, computer software
Computer program, computer languages, computer softwareComputer program, computer languages, computer software
Computer program, computer languages, computer softwareSweta Kumari Barnwal
 
Coping with Semantic Variation Points in Domain-Specific Modeling Languages
Coping with Semantic Variation Points in Domain-Specific Modeling LanguagesCoping with Semantic Variation Points in Domain-Specific Modeling Languages
Coping with Semantic Variation Points in Domain-Specific Modeling LanguagesMarc Pantel
 
International journal of compiling
International journal of compilingInternational journal of compiling
International journal of compilingAndivann
 
Compoutational Physics
Compoutational PhysicsCompoutational Physics
Compoutational PhysicsSaad Shaukat
 
Introduction to automata
Introduction to automataIntroduction to automata
Introduction to automataShubham Bansal
 
Chapter1 Introduction of compiler
Chapter1 Introduction of compiler Chapter1 Introduction of compiler
Chapter1 Introduction of compiler Danish Alam
 

Similar to Tool demo composition of executable languages (20)

lec00-Introduction.pdf
lec00-Introduction.pdflec00-Introduction.pdf
lec00-Introduction.pdf
 
Variability Management in Domain Specific Languages
Variability Management in Domain Specific LanguagesVariability Management in Domain Specific Languages
Variability Management in Domain Specific Languages
 
Introduction to F#
Introduction to F#Introduction to F#
Introduction to F#
 
Can programming be liberated from the von neumman style
Can programming be liberated from the von neumman styleCan programming be liberated from the von neumman style
Can programming be liberated from the von neumman style
 
Lecture1 compilers
Lecture1 compilersLecture1 compilers
Lecture1 compilers
 
Backus turingaward lecture
Backus turingaward lectureBackus turingaward lecture
Backus turingaward lecture
 
Can Programming Be Liberated from the von Neumann Style? by John Backus
Can Programming Be Liberated from the von Neumann Style? by John BackusCan Programming Be Liberated from the von Neumann Style? by John Backus
Can Programming Be Liberated from the von Neumann Style? by John Backus
 
A DSL to feedback formal verification results
A DSL to feedback formal verification resultsA DSL to feedback formal verification results
A DSL to feedback formal verification results
 
Computer program, computer languages, computer software
Computer program, computer languages, computer softwareComputer program, computer languages, computer software
Computer program, computer languages, computer software
 
Coping with Semantic Variation Points in Domain-Specific Modeling Languages
Coping with Semantic Variation Points in Domain-Specific Modeling LanguagesCoping with Semantic Variation Points in Domain-Specific Modeling Languages
Coping with Semantic Variation Points in Domain-Specific Modeling Languages
 
International journal of compiling
International journal of compilingInternational journal of compiling
International journal of compiling
 
International journal of compiling
International journal of compilingInternational journal of compiling
International journal of compiling
 
r merged.pdf
r merged.pdfr merged.pdf
r merged.pdf
 
Pascal programming language
Pascal programming languagePascal programming language
Pascal programming language
 
Compoutational Physics
Compoutational PhysicsCompoutational Physics
Compoutational Physics
 
Introduction to automata
Introduction to automataIntroduction to automata
Introduction to automata
 
6272 cnote
6272 cnote6272 cnote
6272 cnote
 
C progrmming
C progrmmingC progrmming
C progrmming
 
Chapter1 Introduction of compiler
Chapter1 Introduction of compiler Chapter1 Introduction of compiler
Chapter1 Introduction of compiler
 
Chap01 scr
Chap01 scrChap01 scr
Chap01 scr
 

Recently uploaded

CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 

Recently uploaded (20)

CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 

Tool demo composition of executable languages

  • 1. Leveraging Software Product Lines Engineering in the construction of Domain-Specific Languages David Méndez Acuña Benoît Combemale VaryMDE DiverSE Coffe – 23th April 2015
  • 2. Problem statement UML state machines diagrams Rhapsody Classical statecharts States and simple transitions (triggers, conditions, etc.) Example: A family of languages for Finite State Machines A   B   event[condition]   Academic example: Crane, M., Dingel, J., UML vs. classical vs. Rhapsody statecharts: not all models are created equal. Software & Systems Modeling. Vol. 6 No. 4. Springer- Verlag 2007. Semantic and syntactic variation points in languages for FSM
  • 3. Example: A family of languages for Finite State Machines Family of Languages Feature A Feature B Feature B F. D F. D F. D F. D F. D F. D Language Product Line Software Languages are Software too! Software Engineering Techniques … Software Product Lines Engineering Méndez-Acuña’s PhD Jean-Marie Favre, Dragan Gasevic, Ralf Lmmel, and Ekaterina Pek. Empirical Language Analysis in Software Linguistics. In Software Language Engineering. Springer. 2011 Steffen Zschaler, Pablo Sánchez, Joo Santos, Mauricio Alférez, Awais Rashid, Lidia Fuentes, Ana Moreira, Joo Arajo, and Uir Kulesza. VML* A Family of Languages for Variability Management in Software Product Lines. In Software Language Engineering. Springer. 2010.
  • 4. Challenges Language Units Family of DSLs Variability Models & Configuration Feature A Feature B Feature B F. D F. D F. D F. D F. D F. D Multi-dimensional & staged variability modeling Configured DSL Language Units Composition Modular Languages Design
  • 6. The citizen watch Initial displays alarm 1 alarm 2 start   T1   a   a   T2   David Harel. 1987. Statecharts:A visual formalism for complex systems. Sci. Comput. Program. 8, 3 (June 1987), 231-274. Button a Display
  • 7. The citizen watch Initial displays alarm 1 alarm 2 start   T1   a   a   T2   David Harel. 1987. Statecharts:A visual formalism for complex systems. Sci. Comput. Program. 8, 3 (June 1987), 231-274. while(alarm1.active){ println(‘(1) beep’) } while(alarm1.active){ println(‘(2) beep’) } doActivity doActivity Core FSM: State Machine, States, Transitions,Triggers Imperative Language: Program, Loop, Conditions, …
  • 8. The citizen watch Core FSM: State Machine, States,Transitions,Triggers Imperative Language: Program, Loop, Conditions, …Required Interface Provided Interface aggregation
  • 9. The citizen watch Initial displays alarm 1 alarm 2 start   T1   a   T2   David Harel. 1987. Statecharts:A visual formalism for complex systems. Sci. Comput. Program. 8, 3 (June 1987), 231-274. Core FSM: State Machine, States, Transitions,Triggers CompositeStates: CompositeState, …+ Initial displays alarm 1 alarm 2 start   T1   a   a   T2  
  • 10. The citizen watch Initial displays alarm 1 alarm 2 start   T1   a   T2   David Harel. 1987. Statecharts:A visual formalism for complex systems. Sci. Comput. Program. 8, 3 (June 1987), 231-274. while(alarm1.active){ println(‘(1) beep’) } while(alarm1.active){ println(‘(2) beep’) } doActivity doActivity Core FSM: State Machine, States, Transitions,Triggers CompositeStates: CompositeState, …+
  • 11. The citizen watch Core FSM: State Machine, States,Transitions,Triggers Imperative Language: Program, Loop, Conditions, …Required Interface Provided Interface CompositeStates: CompositeState, … Extension Point Extension aggregation extension
  • 12. Melange Some cool features coming… From Variability Models to Software Languages Engineering in the Large
  • 13. Some cool features coming… Program +exec() : void Statement +eval() : void Condition +eval() : void Loop +eval() : void VarDecl +eval() : void StatementListContainer +exec() : void Statement +eval() : void Method +exec() : void statements 0 .. * statements0 .. * Condition +eval() : void ForLoop +eval() : void LocalVariableStatement +eval() : void Statement +eval() : void Block +eval() : void IfStatement +eval() : void ForStatement +eval() : void VariableDeclaration +eval() : void statements 0 .. *Constraint +eval(context : Map) : boolean Provided Interface: Java Provided Interface: C# Required Interface: Finite State Machines Binding Java <-> FiniteStateMachines Binding C# <-> FiniteStateMachines Structural heterogeneities