SlideShare a Scribd company logo
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?

More Related Content

Viewers also liked

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
Natural Resources Institute Finland (Luke) / Luonnonvarakeskus (Luke)
 
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
Natural Resources Institute Finland (Luke) / Luonnonvarakeskus (Luke)
 
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)
United States Bowling Congress
 
Prativa biswas
Prativa biswasPrativa biswas
Prativa biswas
Prativa Biswas
 
9/11 incident
9/11 incident9/11 incident
9/11 incident
Aahil Anas
 
Alkalizirajte ili umrite
Alkalizirajte ili umriteAlkalizirajte ili umrite
Alkalizirajte ili umrite
seki2012
 
Mokslo ir technalogijų pažanga
Mokslo ir technalogijų pažangaMokslo ir technalogijų pažanga
Mokslo ir technalogijų pažangaeurovarke
 

Viewers also liked (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
 

Similar to 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 statecharts
itemis 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 Overview
WSO2
 
Constructing DSMLs
Constructing DSMLsConstructing DSMLs
Constructing DSMLs
miso_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 QGen
AdaCore
 
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-phpapp02
Atv 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-op
lbergmans
 
Java1 in mumbai
Java1 in mumbaiJava1 in mumbai
Java1 in mumbai
vibrantuser
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWare
Michael 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
 
MDE in Practice
MDE in PracticeMDE in Practice
MDE in Practice
Abdalmassih Yakeen
 
Code Generation with MDA and xUML
Code Generation with MDA and xUMLCode Generation with MDA and xUML
Code Generation with MDA and xUML
Chris Raistrick
 
MODEL-DRIVEN ENGINEERING (MDE) in Practice
MODEL-DRIVEN ENGINEERING (MDE) in PracticeMODEL-DRIVEN ENGINEERING (MDE) in Practice
MODEL-DRIVEN ENGINEERING (MDE) in Practice
Hussein Alshkhir
 

Similar to 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
 

More from 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 Perspective
Alexander 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 Framework
Alexander Nyßen
 
GEF(4) Dot Oh Dot Oh
GEF(4) Dot Oh Dot OhGEF(4) Dot Oh Dot Oh
GEF(4) Dot Oh Dot Oh
Alexander Nyßen
 
GEF4 - Sightseeing Mars
GEF4 - Sightseeing MarsGEF4 - Sightseeing Mars
GEF4 - Sightseeing Mars
Alexander 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 Future
Alexander Nyßen
 
GEF4 - Our Mission to Mars
GEF4 - Our Mission to MarsGEF4 - Our Mission to Mars
GEF4 - Our Mission to Mars
Alexander Nyßen
 
GEF4 - Share and Enjoy!
GEF4 - Share and Enjoy!GEF4 - Share and Enjoy!
GEF4 - Share and Enjoy!
Alexander Nyßen
 
TMF meets GMF
TMF meets GMFTMF meets GMF
TMF meets GMF
Alexander Nyßen
 

More from 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
 

Recently uploaded

Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
ShamsuddeenMuhammadA
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
abdulrafaychaudhry
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 

Recently uploaded (20)

Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 

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/