Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas...
Transcript of Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas...
![Page 1: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/1.jpg)
Towards Formalizing Domain-specific Modeling Languages
Kai ChenJanos SztipanovitsSandeep Neema
![Page 2: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/2.jpg)
Outline
! DSML overview! Framework for DSML design
– Syntax definition– Semantic domain specification– Semantic mapping specification
! MoC & semantic anchoring! Case study! Conclusion! Future Plans
![Page 3: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/3.jpg)
Domain-specific Modeling Language
! What is a domain? – For MIC, a domain is defined by interaction patterns
among physical and computational components of a family of computer-based systems.
! What is a DSML?– A DSML is a modeling language that is tailored to
particular constraints and assumptions of an application domain .
– The domain concepts are represented by language primitives, so the system can be modeled as it exists.
![Page 4: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/4.jpg)
Current Challenges for DSML
! These is no formalized design process for the DSML.– Comparing with other popular programming languages, a
DSML experiences less research and tests. The ad-hoc design process for the DSML makes it even more dangerous.
! The semantics definition for the DSML is weak.– Currently, the semantics of a DSML is often implicitly defined
by its model interpreter, and additional documents written in a natural language are used to explain it.
! The “domain-specific” limits the reusability of the DSML.
– A small change in the domain features may destroy the chance to reuse a whole predefined DSML.
![Page 5: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/5.jpg)
Formal DSML Definition
ConcreteSyntax
C
AbstractSyntax
A
Semantic domain
SemanticMapping
SyntacticMapping
Determine meaning and behaviors of language constructs
Notation for representing modeling constructs
DSML = < C, A, MC , S, MS >
MC
MSModeling constructsRelationshipsIntegrity constraints
![Page 6: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/6.jpg)
Outline
! DSML overview! Framework for DSML design
– Syntax definition– Semantic domain specification– Semantic mapping specification
! MoC & semantic anchoring! Case study! Conclusion! Future Plans
![Page 7: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/7.jpg)
Syntax Definition
! Abstract syntax– Modeling concepts, their relationships, and integrity
constraints.
! Concrete syntax– Notations (graphical, textual or mixed) to express elements in
the abstract syntax.
! Syntactic mapping– Relate syntactic notations to elements in the concrete syntax.
![Page 8: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/8.jpg)
Metamodel
! Metamodel can provide all information needed to define the syntax of a DSML.
! MOF or UML class diagrams – Define modeling concepts and their relationships.
! OCL constraints– Define well-formedness rules.
! Visualization specification– Specify how domain models are to be visualized in a
visual modeling environment.
![Page 9: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/9.jpg)
Outline
! DSML overview! Framework for DSML design
– Syntax definition– Semantic domain specification– Semantic mapping specification
! MoC & semantic anchoring! Case study! Conclusion! Future Plans
![Page 10: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/10.jpg)
Concepts
! Semantics of a domain model– The meaning or behaviors of a domain model.
! Semantics of a DSML– Determines meaning or behaviors of all its legal modeling
constructs. Includes a semantic domain and a semantic mapping.
! Semantic domain– A domain that provides a set of expressions that have well-
defined meaning or behaviors.
! Semantic mapping– Relates the abstract syntax to the elements in the semantic
domain.
![Page 11: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/11.jpg)
Structural vs. Behavioral Semantics
! Structural semantics– Describe mathematical structures of a domain
model.! Behavioral semantics
– Determines behaviors of a domain model.
![Page 12: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/12.jpg)
Semantic Domain Specification
! To specify the semantic domain of a DSML, there should be an existing semantic domain that provides expression with well-defined semantics.
! This existing semantic domain is called the fundamental semantic domain (FSD) for the DSML.
![Page 13: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/13.jpg)
Requirements for FSD candidates
! Be mathematically precise.! Be sufficient rich and flexible enough to cover a wide
variety of application domains.! Be scalable to support appropriate abstraction
mechanisms.! Have good intelligibility to avoid formalization overhead
as far as possible.! It is better for the semantic domain to be executable
with readily supporting tools.
![Page 14: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/14.jpg)
Why ASM?
! Precision– ASM have a solid mathematical foundations.
! Generality– Successful application in a wide variety of domains: sequential,
parallel, and distributed systems; abstract-time and real-time systems; finite-state and infinite-state domains.
! Scalability– Describe a system at several different layers of abstraction.
![Page 15: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/15.jpg)
Why ASM? (cont’d)
! Understandability– Easy to read and write.
! Executability– A specification methodology which is executable allows one to
test for errors in the specification.
! Success in semantics definition– Successful experiences in the semantics definition for
languages, such as C, C++, COBOL, Java, Oberon, Prolog, SDL and VHDL.
![Page 16: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/16.jpg)
Outline
! DSML overview! Framework for DSML design
– Syntax definition– Semantic domain specification– Semantic mapping specification
! MoC & semantic anchoring! Case study! Conclusion! Future Plans
![Page 17: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/17.jpg)
Semantic Mapping
! The syntactic notations provided by the FSD are independent of the syntax defined by the DSML itself.
! A semantic mapping, , is a bridge connecting the syntax of a DSML with its semantic domain.
SAM S →:
![Page 18: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/18.jpg)
Metamodel for a Set of AsmL Abstract Data Structures
! AsmLspecifications include two parts: data structures and execution algorithm specifications.
! It is much easier to model only the AsmL data structures instead of the whole syntax of the AsmL.
![Page 19: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/19.jpg)
Tool : GReAT
! The semantic mapping specification consists of a sequence of mapping rules specified in the GReAT language.
! Source metamodel– Metamodel for a DSML.
! Destination metamodel– Metamodel for a set of AsmL abstract data structure.
![Page 20: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/20.jpg)
DSML Design Framework
! Step 1 – Define the DSML metamodel <A, C, Mc> (GME).
! Step 2 – Specify the DSML semantic domain S using AsmL (AsmL
tools).
! Step 3 – Specify the DSML semantic mapping Ms, relating the
metamodel with elements in the semantic domain using the GReAT language (GReAT).
![Page 21: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/21.jpg)
Outline
! DSML overview! Framework for DSML design
– Syntax definition– Semantic domain specification– Semantic mapping specification
! MoC & semantic anchoring! Case study! Conclusion! Future Plans
![Page 22: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/22.jpg)
Models of Computation
! In the embedded software industry, there is a set of standard, well-known semantic domains, which describe canonical interaction patterns among physical and computational components.
! Models of computation (MoCs) is a set of well-defined DSMLs that capture these standard, well-known semantic domains.
![Page 23: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/23.jpg)
Semantic Anchoring
! Intention– Simplify the DSML design process
! MoCs can be used as reusable semantic units, with which the semantics of higher-order DSMLs are able to be specified through semantic anchoring to these semantic units.
![Page 24: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/24.jpg)
Semantic Domain Architecture
Higher-order DSML
FSD(ASM)
FSM
DE
SDFC
T
DT
…
DSMLSemantic unites: MoCs
![Page 25: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/25.jpg)
DSML Design Framework with Semantic Anchoring
! Step 1 – Define the DSML metamodel <A, C, Mc> (GME).
! Step 2 – Select a proper MoC as a
semantic unit (MoC library).! Step 3
– Specify the semantic anchoring (GReAT).
– Now, DSML .
>=< SiiCiiii MSMCAL ,,,,
iA AAM →=
>=< SiAiC MMSMCAL ",,,,
![Page 26: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/26.jpg)
Outline
! DSML overview! Framework for DSML design
– Syntax definition– Semantic domain specification– Semantic mapping specification
! MoC & semantic anchoring! Case study! Conclusion! Future Plans
![Page 27: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/27.jpg)
Finite-state Machine Domain in Ptolemy II
! A Statecharts variant.! Define a DSML called finite-state machine
modeling language (FML) to capture the FSM domain in Ptolemy II.
![Page 28: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/28.jpg)
Metamodel for FML
![Page 29: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/29.jpg)
Semantic Domain Specification
! Represent FML in AsmL data structure.! Specify execution algorithm in a step-for-step
manner.
![Page 30: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/30.jpg)
AsmL data Structure
! Event & FSM class
interfaceinterfaceinterfaceinterface Eventstructurestructurestructurestructure ModelEvent implementsimplementsimplementsimplements Eventstructurestructurestructurestructure LocalEvent implementsimplementsimplementsimplements Event
classclassclassclass FSMvarvarvarvar outputEvents asasasas Seq ofofofof ModelEventvarvarvarvar localEvents asasasas Set ofofofof LocalEventvarvarvarvar initialState asasasas Statevarvarvarvar children asasasas Set ofofofof State
![Page 31: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/31.jpg)
AsmL data Structure (cont’d)
! State & Transition classclassclassclassclass Statevarvarvarvar active asasasas Boolean = falsefalsefalsefalsevarvarvarvar initial asasasas Booleanvarvarvarvar initialState asasasas State?varvarvarvar parentState asasasas State?varvarvarvar slaves asasasas Set ofofofof Statevarvarvarvar outTransitions asasasas Set ofofofof Transition
classclassclassclass Transitionvarvarvarvar guard asasasas Booleanvarvarvarvar preemptive asasasas Booleanvarvarvarvar triggerEvent asasasas Event?varvarvarvar outputEvent asasasas Event?varvarvarvar src asasasas Statevarvarvarvar dst asasasas State
![Page 32: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/32.jpg)
Execution algorithm
! Top-level FSM model reaction
fsmReact (fsm asasasas FSM, e asasasas ModelEvent) =step step step step
letletletlet cs asasasas State = getCurrentState (fsm, e)step step step step
letletletlet pt asasasas Transition? = getPreemptiveTrasition (fsm, cs, e)step step step step ifififif pt <> nullnullnullnull thenthenthenthen
doTransition (fsm, cs, pt)elseelseelseelsestep step step step
ifififif isHierarchicalState (cs) thenthenthenthen invocateSlaves (fsm, cs, e)step step step step
letletletlet npt asasasas Transition? = getNonpreemptiveTranstion (fsm, cs, e)step step step step
ifififif npt <> nullnullnullnull thenthenthenthen doTransition (fsm, cs, npt)
![Page 33: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/33.jpg)
Execution algorithm (cont’d)
! Do transition
doTransition (fsm asasasas FSM, s asasasas State, t asasasas Transition) =requirerequirerequirerequire s.activestep step step step exitState (s)step ifstep ifstep ifstep if t.outputEvent <> nullnullnullnull then then then then emitEvent (fsm, t.outputEvent)stepstepstepstep activateState (fsm, t.dst)
![Page 34: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/34.jpg)
Execution algorithm (cont’d)
! Activate state
activateState (fsm asasasas FSM, s asasasas State) =step step step step s.active := truetruetruetruestepstepstepstepifififif isAtomicState (s) thenthenthenthenletletletlet t asasasas Transition? = getInstantaneousTransition (s)step ifstep ifstep ifstep if t <> nullnullnullnull then then then then doTransition (fsm, s, t)
![Page 35: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/35.jpg)
Execution algorithm (cont’d)
! Get instantaneous transition
getInstantaneousTransition (s asasasas State) asasasas Transition? =requirerequirerequirerequire isAtomicState (s)stepstepstepstepletletletlet ts = {t|t inininin s.outTransitions wherewherewherewhere t.triggerEvent = nullnullnullnulland and and and t.guard }
step ifstep ifstep ifstep if Size (ts) > 1 then then then then error "non-deterministic error"stepstepstepstepchoosechoosechoosechoose t inininin tsreturnreturnreturnreturn t
ifnoneifnoneifnoneifnonereturnreturnreturnreturn nullnullnullnull
![Page 36: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/36.jpg)
Semantic Mapping Specification
! The semantic mapping specification for FML consists of a sequence of mapping rules.
![Page 37: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/37.jpg)
Mapping Rule : Create State Objects
Add a State object in the output semantics specification.
![Page 38: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/38.jpg)
Mapping Rule : Set Out Transition Values
Add a Transition in the set records all out transitions of a State object.
![Page 39: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/39.jpg)
A Hierarchical FSM Model
![Page 40: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/40.jpg)
Output XML file
![Page 41: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/41.jpg)
Output from the specification generator
structurestructurestructurestructure ModelEvent implementsimplementsimplementsimplements Eventcasecasecasecase M_E1casecasecasecase M_E2casecasecasecase M_E3
structurestructurestructurestructure LocalEvent implementsimplementsimplementsimplements Eventcasecasecasecase L_E1casecasecasecase L_E2casecasecasecase L_E3
varvarvarvar FSM = newnewnewnew FSM ([], {}, S1, {S1,S2,S3})varvarvarvar S1 = newnewnewnew State (falsefalsefalsefalse, truetruetruetrue, nullnullnullnull, nullnullnullnull, {}, {T1})varvarvarvar S2 = newnewnewnew State (falsefalsefalsefalse, falsefalsefalsefalse, nullnullnullnull, nullnullnullnull, {},{T2})varvarvarvar S3 = newnewnewnew State (falsefalsefalsefalse, falsefalsefalsefalse, S31, nullnullnullnull, {S31, S32}, {T3})varvarvarvar S31 = newnewnewnew State (falsefalsefalsefalse, truetruetruetrue, nullnullnullnull, S3, {}, {T31})varvarvarvar S32 = newnewnewnew State (falsefalsefalsefalse, falsefalsefalsefalse, nullnullnullnull, S3, {}, {})varvarvarvar T1 = newnewnewnew Transition (truetruetruetrue, falsefalsefalsefalse, ModelEvent.ME2, ModelEvent.ME1, S1, S2)varvarvarvar T2 = newnewnewnew Transition (truetruetruetrue, truetruetruetrue, ModelEvent.ME3, ModelEvent.ME2, S2, S3)varvarvarvar T3 = newnewnewnew Transition (truetruetruetrue, falsefalsefalsefalse, ModelEvent.ME1, ModelEvent.ME2, S3, S1)varvarvarvar T31 = newnewnewnew Transition (truetruetruetrue, falsefalsefalsefalse, ModelEvent.ME3, LocalEvent.LE1, S31, S32)
![Page 42: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/42.jpg)
Conclusions
! These is no formalized design process for the DSML.– Solution : a systematic DSML design framework.
! The semantics definition for the DSML is weak.– Solution : formal semantic domain specification & semantic
mapping specification.
! The “domain-specific” limits the reusability of the DSML.
– Solution : MoC & Semantic Anchoring.
![Page 43: Towards Formalizing Domain-specific Modeling Languages · doTransition (fsm asasas FSM, s as asas State, t as asas Transition) = requirerequire s.active step step exitState (s) step](https://reader036.fdocuments.in/reader036/viewer/2022081612/5f7ac1281bddb8717670f958/html5/thumbnails/43.jpg)
Future Work
! MoC semantics unites definition! DSML composition
– Metamodel composition– Semantics composition