SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
Yakindu SCT
Domain-Specific Statecharts
Alexander Nyßen,AxelTerfloth
itemis AG
YAKINDU Open Source
is a modular toolkit
for model-based development
(of embedded systems)
YAKINDU Modules
• independent and self-contained
• not bound to a specific methodology
• usable on their own
• open & extendable
• composable to (domain-specific)
language workbenches
➡ Reuse of
• modeling language
• tools
Eclipse PlatformSCT(Statecharts)
CoMo
CReMa
Damos(Blocks)
[nowEclipseDamos]
"Developing Embedded Systems with Damos"
Wednesday, 2:30
YAKINDU StatechartTools (SCT)
Editing
Validation
Simulation
Code Generation
YAKINDU Statechart
• Formalism similar to state machines as defined by
David Harel, but:
• self-contained with a well defined interface
• with a cycle-based execution semantics
• allows processing
concurrent events
• event-driven behavior can
be defined on top
• time control is delegated
to the environment
Yakindu SCT - Editing
Editor
SGraph
SText
Integrated
Graphical & Textual
Modeling
Yakindu SCT - Simulation
Editor
SGraph
SText
Easy adoptable
simulation
SExec Simulator
Yakindu SCT - Code Generation
• Yakindu comprises code generators for Java, C, C++
• All generators can be „customized“ by a generator model
• Custom generators based on Xpand & Xtend2/Java can be
easily integrated
Editor
SGraph
SText
Flexible
Code Generation
SExec Simulator
Code-
Generators
SGen
DEMO
Yakindu SCT - Extensibility
• Recap: different models are used around the Statechart formalism
• SGraph (EMF): specification of graphical structures
• SText (Xtext): textual specification of declarations & expressions
• SExec (EMF): sequentialized statechart execution
• SGen (Xtext): code generator parameterization
Built-In Extensibility
• Restriction of structural concepts (SGraph)
• Customization of declarations & expressions (SText)
• Adoption of the execution semantics (SExec)
• Adoption of existing or integration of custom code generators
• Integration of custom type system, augmentation by
application types
• Integration of additional validation constraints
The Statechart Application Gap
• How can statecharts be adopted to a specific domain?
• How can tools support this adoption?
State-based modeling
is useful
in many domains
Typically, statecharts
are independent
of any domain
Example: Domain Concepts - HMI
Domain Specific Statecharts
• Improving expressiveness and semantic integration by
adopting domain concepts:
• Refer to domain concepts within declarations (events,
variables) and expressions (feature-calls)
• Concepts from HMI domain: widget (button, label, etc.),
scene, popup, animation, button-click, intro, outro,...
Integration of HMI Concepts
DEMO
Generic
Domain-Specific
Domain-Specific Statechart Approach
specialization
HMI Meta Model
Structural Concepts
(SGraph)
grammar com.yakindu.hmi.sctmodel.HMIText with org.yakindu.sct.model.stext.SText
/* ---- root rules ----
These root rules are not relevant for the
into a single grammar.
*/
Root:
	 (roots+=DefRoot)*;
Declaration returns sct::Declaration:
	 EventDefinition | VariableDefinition | Clock | Operation
| LocalReaction | Entrypoint | Exitpoint | HMIDeclaration;
HMIDeclaration:
	 HmiScene | HmiPopup | HmiAnimation | HmiTransition;
HmiScene:
	 'scene' scene=[contract::Scene|QID];
HmiPopup:
	 'popup' popup=[contract::Popup|QID];
HmiAnimation:
	 'animation' animation=[contract::Animation|QID];
HMI Declarations
grammar org.yakindu.sct.model.stext.SText with org.eclipse.xtext.common.Terminals
/* ---- root rules ----
These root rules are not relevant for the grammar integration
into a single grammar.
*/
Root:
	 (roots+=DefRoot)*;
DefRoot:
	 StatechartRoot | StateRoot | TransitionRoot;
Scope returns sct::Scope:
	 (SimpleScope | StatechartScope);
	 // a SimpleScope is used for states and regions
SimpleScope returns sct::Scope:
	 {SimpleScope} (declarations+=Declaration)*;
	 // defines the poosible scopes for statecharts
StatechartScope returns sct::Scope:
	 InterfaceScope | InternalScope;
InterfaceScope returns sct::Scope:
Declarations &
Expressions
(SText)
references
extends
extends
Domain Specific
Statechart
Yakindu SCT
• Open Source / EPL
• Hosted at EclipseLabs
• Eclipse-Proposal planned
• Interested parties welcome!
• Important Links:
• Project Site: http://yakindu.org
• Eclipse Labs Site: http://code.google.com/a/eclipselabs.org/p/yakindu/
• Update Site: http://updates.yakindu.com/juno/milestones/
ThankYou! Questions?

Weitere ähnliche Inhalte

Andere mochten auch (11)

Ravinteiden kierrätyksen kärkihankkeen vuosi 2016 kuvina
Ravinteiden kierrätyksen kärkihankkeen vuosi 2016 kuvinaRavinteiden kierrätyksen kärkihankkeen vuosi 2016 kuvina
Ravinteiden kierrätyksen kärkihankkeen vuosi 2016 kuvina
 
14PtsdCrp
14PtsdCrp14PtsdCrp
14PtsdCrp
 
Eläinlääkäripalvelujen saatavuus ja kustannukset, Luonnonvarakeskus
Eläinlääkäripalvelujen saatavuus ja kustannukset, LuonnonvarakeskusEläinlääkäripalvelujen saatavuus ja kustannukset, Luonnonvarakeskus
Eläinlääkäripalvelujen saatavuus ja kustannukset, Luonnonvarakeskus
 
Tournaments Provide Tradition and Opportunity (A Future for the Sport)
Tournaments Provide Tradition and Opportunity (A Future for the Sport)Tournaments Provide Tradition and Opportunity (A Future for the Sport)
Tournaments Provide Tradition and Opportunity (A Future for the Sport)
 
Prativa biswas
Prativa biswasPrativa biswas
Prativa biswas
 
9/11 incident
9/11 incident9/11 incident
9/11 incident
 
Alkalizirajte ili umrite
Alkalizirajte ili umriteAlkalizirajte ili umrite
Alkalizirajte ili umrite
 
Issue 27
Issue 27Issue 27
Issue 27
 
Issue 26
Issue 26Issue 26
Issue 26
 
Rhino Freedom
Rhino Freedom Rhino Freedom
Rhino Freedom
 
Mokslo ir technalogijų pažanga
Mokslo ir technalogijų pažangaMokslo ir technalogijų pažanga
Mokslo ir technalogijų pažanga
 

Ähnlich wie YAKINDU SCT - Domain-Specific Statecharts

Domain specific modelling (DSM)
Domain specific modelling (DSM)Domain specific modelling (DSM)
Domain specific modelling (DSM)PG Scholar
 
Yakindu Statechart - Domain specific statecharts
Yakindu Statechart - Domain specific statechartsYakindu Statechart - Domain specific statecharts
Yakindu Statechart - Domain specific statechartsitemis AG
 
Model Driven Architecture and eXecutable UML
Model Driven Architecture and eXecutable UMLModel Driven Architecture and eXecutable UML
Model Driven Architecture and eXecutable UMLelliando dias
 
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)Benoit Combemale
 
New Open Source project at HGI for SmartHome Device Abstraction Templates - A...
New Open Source project at HGI for SmartHome Device Abstraction Templates - A...New Open Source project at HGI for SmartHome Device Abstraction Templates - A...
New Open Source project at HGI for SmartHome Device Abstraction Templates - A...mfrancis
 
The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]Ivano Malavolta
 
WSO2 Complex Event Processor - Product Overview
WSO2 Complex Event Processor - Product OverviewWSO2 Complex Event Processor - Product Overview
WSO2 Complex Event Processor - Product OverviewWSO2
 
Constructing DSMLs
Constructing DSMLsConstructing DSMLs
Constructing DSMLsmiso_uam
 
Tech Days 2015: Model Based Development with QGen
Tech Days 2015: Model Based Development with QGenTech Days 2015: Model Based Development with QGen
Tech Days 2015: Model Based Development with QGenAdaCore
 
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)Codit
 
Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02Atv Reddy
 
Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02Atv Reddy
 
Software development effort reduction with Co-op
Software development effort reduction with Co-opSoftware development effort reduction with Co-op
Software development effort reduction with Co-oplbergmans
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWareMichael Vorburger
 
Overview of QP Frameworks and QM Modeling Tools (Notes)
Overview of QP Frameworks and QM Modeling Tools (Notes)Overview of QP Frameworks and QM Modeling Tools (Notes)
Overview of QP Frameworks and QM Modeling Tools (Notes)Quantum Leaps, LLC
 
Code Generation with MDA and xUML
Code Generation with MDA and xUMLCode Generation with MDA and xUML
Code Generation with MDA and xUMLChris Raistrick
 
MODEL-DRIVEN ENGINEERING (MDE) in Practice
MODEL-DRIVEN ENGINEERING (MDE) in PracticeMODEL-DRIVEN ENGINEERING (MDE) in Practice
MODEL-DRIVEN ENGINEERING (MDE) in PracticeHussein Alshkhir
 

Ähnlich wie YAKINDU SCT - Domain-Specific Statecharts (20)

Domain specific modelling (DSM)
Domain specific modelling (DSM)Domain specific modelling (DSM)
Domain specific modelling (DSM)
 
Yakindu Statechart - Domain specific statecharts
Yakindu Statechart - Domain specific statechartsYakindu Statechart - Domain specific statecharts
Yakindu Statechart - Domain specific statecharts
 
Model Driven Architecture and eXecutable UML
Model Driven Architecture and eXecutable UMLModel Driven Architecture and eXecutable UML
Model Driven Architecture and eXecutable UML
 
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
 
New Open Source project at HGI for SmartHome Device Abstraction Templates - A...
New Open Source project at HGI for SmartHome Device Abstraction Templates - A...New Open Source project at HGI for SmartHome Device Abstraction Templates - A...
New Open Source project at HGI for SmartHome Device Abstraction Templates - A...
 
The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]
 
WSO2 Complex Event Processor - Product Overview
WSO2 Complex Event Processor - Product OverviewWSO2 Complex Event Processor - Product Overview
WSO2 Complex Event Processor - Product Overview
 
Constructing DSMLs
Constructing DSMLsConstructing DSMLs
Constructing DSMLs
 
Tech Days 2015: Model Based Development with QGen
Tech Days 2015: Model Based Development with QGenTech Days 2015: Model Based Development with QGen
Tech Days 2015: Model Based Development with QGen
 
Embedded
EmbeddedEmbedded
Embedded
 
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
 
Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02
 
Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02
 
Software development effort reduction with Co-op
Software development effort reduction with Co-opSoftware development effort reduction with Co-op
Software development effort reduction with Co-op
 
Java1 in mumbai
Java1 in mumbaiJava1 in mumbai
Java1 in mumbai
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWare
 
Overview of QP Frameworks and QM Modeling Tools (Notes)
Overview of QP Frameworks and QM Modeling Tools (Notes)Overview of QP Frameworks and QM Modeling Tools (Notes)
Overview of QP Frameworks and QM Modeling Tools (Notes)
 
MDE in Practice
MDE in PracticeMDE in Practice
MDE in Practice
 
Code Generation with MDA and xUML
Code Generation with MDA and xUMLCode Generation with MDA and xUML
Code Generation with MDA and xUML
 
MODEL-DRIVEN ENGINEERING (MDE) in Practice
MODEL-DRIVEN ENGINEERING (MDE) in PracticeMODEL-DRIVEN ENGINEERING (MDE) in Practice
MODEL-DRIVEN ENGINEERING (MDE) in Practice
 

Mehr von Alexander Nyßen

GEF 5.0.0 - From a User's Perspective
GEF 5.0.0 - From a User's PerspectiveGEF 5.0.0 - From a User's Perspective
GEF 5.0.0 - From a User's PerspectiveAlexander Nyßen
 
The Next Generation Eclipse Graphical Editing Framework
The Next Generation Eclipse Graphical Editing FrameworkThe Next Generation Eclipse Graphical Editing Framework
The Next Generation Eclipse Graphical Editing FrameworkAlexander Nyßen
 
Erweiterung der Entwurfsmethodik CONSENS um absichernde Maßnahmen zur Risikom...
Erweiterung der Entwurfsmethodik CONSENS um absichernde Maßnahmen zur Risikom...Erweiterung der Entwurfsmethodik CONSENS um absichernde Maßnahmen zur Risikom...
Erweiterung der Entwurfsmethodik CONSENS um absichernde Maßnahmen zur Risikom...Alexander Nyßen
 
Model-based Automotive Software Development using Autosar, UML, and Domain-Sp...
Model-based Automotive Software Development using Autosar, UML, and Domain-Sp...Model-based Automotive Software Development using Autosar, UML, and Domain-Sp...
Model-based Automotive Software Development using Autosar, UML, and Domain-Sp...Alexander Nyßen
 
GEF4 - There's really something going on!
GEF4 - There's really something going on!GEF4 - There's really something going on!
GEF4 - There's really something going on!Alexander Nyßen
 
GEF4 - Continue to Share and Enjoy!
GEF4 - Continue to Share and Enjoy!GEF4 - Continue to Share and Enjoy!
GEF4 - Continue to Share and Enjoy!Alexander Nyßen
 
GEF - Past, Present, and Future
GEF - Past, Present, and FutureGEF - Past, Present, and Future
GEF - Past, Present, and FutureAlexander Nyßen
 
GEF4 - Our Mission to Mars
GEF4 - Our Mission to MarsGEF4 - Our Mission to Mars
GEF4 - Our Mission to MarsAlexander Nyßen
 

Mehr von Alexander Nyßen (12)

GEF 5.0.0 - From a User's Perspective
GEF 5.0.0 - From a User's PerspectiveGEF 5.0.0 - From a User's Perspective
GEF 5.0.0 - From a User's Perspective
 
The Next Generation Eclipse Graphical Editing Framework
The Next Generation Eclipse Graphical Editing FrameworkThe Next Generation Eclipse Graphical Editing Framework
The Next Generation Eclipse Graphical Editing Framework
 
GEF(4) Dot Oh Dot Oh
GEF(4) Dot Oh Dot OhGEF(4) Dot Oh Dot Oh
GEF(4) Dot Oh Dot Oh
 
GEF4 - Sightseeing Mars
GEF4 - Sightseeing MarsGEF4 - Sightseeing Mars
GEF4 - Sightseeing Mars
 
Erweiterung der Entwurfsmethodik CONSENS um absichernde Maßnahmen zur Risikom...
Erweiterung der Entwurfsmethodik CONSENS um absichernde Maßnahmen zur Risikom...Erweiterung der Entwurfsmethodik CONSENS um absichernde Maßnahmen zur Risikom...
Erweiterung der Entwurfsmethodik CONSENS um absichernde Maßnahmen zur Risikom...
 
Model-based Automotive Software Development using Autosar, UML, and Domain-Sp...
Model-based Automotive Software Development using Autosar, UML, and Domain-Sp...Model-based Automotive Software Development using Autosar, UML, and Domain-Sp...
Model-based Automotive Software Development using Autosar, UML, and Domain-Sp...
 
GEF4 - There's really something going on!
GEF4 - There's really something going on!GEF4 - There's really something going on!
GEF4 - There's really something going on!
 
GEF4 - Continue to Share and Enjoy!
GEF4 - Continue to Share and Enjoy!GEF4 - Continue to Share and Enjoy!
GEF4 - Continue to Share and Enjoy!
 
GEF - Past, Present, and Future
GEF - Past, Present, and FutureGEF - Past, Present, and Future
GEF - Past, Present, and Future
 
GEF4 - Our Mission to Mars
GEF4 - Our Mission to MarsGEF4 - Our Mission to Mars
GEF4 - Our Mission to Mars
 
GEF4 - Share and Enjoy!
GEF4 - Share and Enjoy!GEF4 - Share and Enjoy!
GEF4 - Share and Enjoy!
 
TMF meets GMF
TMF meets GMFTMF meets GMF
TMF meets GMF
 

Kürzlich hochgeladen

Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
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
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 

Kürzlich hochgeladen (20)

Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
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...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 

YAKINDU SCT - Domain-Specific Statecharts

  • 1. Yakindu SCT Domain-Specific Statecharts Alexander Nyßen,AxelTerfloth itemis AG
  • 2. YAKINDU Open Source is a modular toolkit for model-based development (of embedded systems)
  • 3. YAKINDU Modules • independent and self-contained • not bound to a specific methodology • usable on their own • open & extendable • composable to (domain-specific) language workbenches ➡ Reuse of • modeling language • tools Eclipse PlatformSCT(Statecharts) CoMo CReMa Damos(Blocks) [nowEclipseDamos] "Developing Embedded Systems with Damos" Wednesday, 2:30
  • 5. YAKINDU Statechart • Formalism similar to state machines as defined by David Harel, but: • self-contained with a well defined interface • with a cycle-based execution semantics • allows processing concurrent events • event-driven behavior can be defined on top • time control is delegated to the environment
  • 6. Yakindu SCT - Editing Editor SGraph SText Integrated Graphical & Textual Modeling
  • 7. Yakindu SCT - Simulation Editor SGraph SText Easy adoptable simulation SExec Simulator
  • 8. Yakindu SCT - Code Generation • Yakindu comprises code generators for Java, C, C++ • All generators can be „customized“ by a generator model • Custom generators based on Xpand & Xtend2/Java can be easily integrated Editor SGraph SText Flexible Code Generation SExec Simulator Code- Generators SGen
  • 10. Yakindu SCT - Extensibility • Recap: different models are used around the Statechart formalism • SGraph (EMF): specification of graphical structures • SText (Xtext): textual specification of declarations & expressions • SExec (EMF): sequentialized statechart execution • SGen (Xtext): code generator parameterization
  • 11. Built-In Extensibility • Restriction of structural concepts (SGraph) • Customization of declarations & expressions (SText) • Adoption of the execution semantics (SExec) • Adoption of existing or integration of custom code generators • Integration of custom type system, augmentation by application types • Integration of additional validation constraints
  • 12. The Statechart Application Gap • How can statecharts be adopted to a specific domain? • How can tools support this adoption? State-based modeling is useful in many domains Typically, statecharts are independent of any domain
  • 14. Domain Specific Statecharts • Improving expressiveness and semantic integration by adopting domain concepts: • Refer to domain concepts within declarations (events, variables) and expressions (feature-calls) • Concepts from HMI domain: widget (button, label, etc.), scene, popup, animation, button-click, intro, outro,...
  • 15. Integration of HMI Concepts
  • 16. DEMO
  • 17. Generic Domain-Specific Domain-Specific Statechart Approach specialization HMI Meta Model Structural Concepts (SGraph) grammar com.yakindu.hmi.sctmodel.HMIText with org.yakindu.sct.model.stext.SText /* ---- root rules ---- These root rules are not relevant for the into a single grammar. */ Root: (roots+=DefRoot)*; Declaration returns sct::Declaration: EventDefinition | VariableDefinition | Clock | Operation | LocalReaction | Entrypoint | Exitpoint | HMIDeclaration; HMIDeclaration: HmiScene | HmiPopup | HmiAnimation | HmiTransition; HmiScene: 'scene' scene=[contract::Scene|QID]; HmiPopup: 'popup' popup=[contract::Popup|QID]; HmiAnimation: 'animation' animation=[contract::Animation|QID]; HMI Declarations grammar org.yakindu.sct.model.stext.SText with org.eclipse.xtext.common.Terminals /* ---- root rules ---- These root rules are not relevant for the grammar integration into a single grammar. */ Root: (roots+=DefRoot)*; DefRoot: StatechartRoot | StateRoot | TransitionRoot; Scope returns sct::Scope: (SimpleScope | StatechartScope); // a SimpleScope is used for states and regions SimpleScope returns sct::Scope: {SimpleScope} (declarations+=Declaration)*; // defines the poosible scopes for statecharts StatechartScope returns sct::Scope: InterfaceScope | InternalScope; InterfaceScope returns sct::Scope: Declarations & Expressions (SText) references extends extends Domain Specific Statechart
  • 18. Yakindu SCT • Open Source / EPL • Hosted at EclipseLabs • Eclipse-Proposal planned • Interested parties welcome! • Important Links: • Project Site: http://yakindu.org • Eclipse Labs Site: http://code.google.com/a/eclipselabs.org/p/yakindu/ • Update Site: http://updates.yakindu.com/juno/milestones/