SlideShare a Scribd company logo
On the Semantics of Real-Time Domain Specific Modeling Languages Jose E. RiveraAdvisors: Francisco Durán, Antonio VallecilloPhDDefenseMálaga, October 2010
AgendaOrigins of Model-DrivenEngineering (MDE)MDE and itsmaintechnologiesDefinition of a DomainSpecificModelingLanguage (DSML)OurapproachSpecifying time-dependentbehavior of DSMLsExtension of in-place modeltransformationProvidingDSMLswithsemantics (usingMaude)ModelmanagenentSimulation and analysisContributionsFuturework2/44
Origins of modeldrivenengineeringSoftware researchershavebeencreatingabstractionsto help them develop software systems:3/44X-orientedprogramming ???…Component-orientedprogrammingObject-orientedprogrammingStructuredprogrammingAssembler
Origins of modeldrivenengineeringWhyabstractions?Lowlevel, littleexpresivenessProblem: programming!Computing-oriented focus: abstractions of the solution spaceSolution: abstractionsof the problem space4/44
ModeldrivenengineeringCreate a model of thesystemModels are nottobeused as meredocumentationSimulation and analysisDrive final implementation5/44
Model driven engineeringPrecise and formal semanticsneededtoFacilitate unambiguous communication among model developersEnable the development of formal analysis and simulation toolsAvoid semantic mismatches between design models and modeling languages of analysis tools6/44
Model Driven Engineering (MDE)Models as first class entities. Twomaintechnologies:Domain Specific Modeling Languages (DSMLs)Notation close to the problem domain and intuitive for domain expertsModel transformationsAutomatically synthesize alternative model representations, source code…7/44DSMLDSML’ModelTransformationwritten inwritten inSystem’ModelModel’representsrepresentsSystem
Definition of a DSML8/44Behavior??Semantics??METAMODELConformstoCONCRETE SYNTAXMODEL
Definition of a DSMLBehavior coded in the target (semantic) domain itself9/44JavaAbstractState MachinesFirst-OrderLogic…
Definition of a DSML (revisited)10/44TWO VIEWSStructure:Structuralmodel, concrete syntax, structuralsemanticsBehavior:Behavioralmodel, concrete syntax, behavioralsemantics
Definition of a DSML (revisited)Behavior as an intuitive modelPrecise semanticsA set of (equivalent) notationsA set of analysis toolsUnderlying logic11/44StructuralModelBehavioralModel+DSML’S STRUCTURE                        AND BEHAVIORSEMANTIC MAPPINGS                (MODEL TRANSFORMATIONS)SEMANTIC DOMAINSMT3MT1MT2Rewritinglogic(Reachabilityanalysis, modelchecking…)Petrinets(Termination, confluence…)…
Our approach12/44Ecore (MOF)(metamodel)(ext. of in-place MT)StructuralModelBehavioralModelDSVL’S VIEWSDefinedbytheuser+(Structural and behavioral)SEMANTIC MAPPINGSTransparenttotheuserSEMANTIC DOMAINTransparenttotheuserRewritingLogicMaudeSimulation, reachabilityanalysis, modelchecking
In-place modeltransformationModels, metamodels and model transformation are the key artifacts of MDEIntuitive and close to the problem domainSource and target models are the same13/44
Extending in-place modeltransformationWhy an extension?To cope with real-time systemsAssist users to avoid driving the system to inconsistent time-statesTo refer to and reason about action executionsTo avoid modifying the metamodel (structure) to include (time and action) behavioral informationWewanttheuserjusttofocusonthecomplexity of his/hersystemIntrinsiccomplexity vs. accidental complexity14/44
Extension of in-place modeltransformation*:A model of timedbehaviorTwokind of timed rules: atomic and ongoingPeriodicityRule executions: normal and soft; scheduledactions.Global time elapse (clock)A mechanism to state action propertiesActionexecutionsOCL expressions, operations and variables (mOdCL)A graphical framework in Eclipse15/44* “A graphical approach for modeling time-dependent behavior of DSLs”. VL/HCC'09
AtomicactionsActionswitha specific duration (interval of time)TheSwitchOn rule16/44
InstantaneousactionsAtomic rules with no durationThe BatteryOff ruleRule execution modes: normal and soft; scheduled17/44
PeriodicityAtomic rules can beperiodicTheCoverage ruleOCL operations18/44
OngoingactionsActions that progress continuously with time while the rule preconditions (LHS and not NACs) holdTheBatteryConsumption rule19/44
ActionexecutionsAn action execution element refers to one action: Type; status; participants; starting, ending and execution timeThey can limit concurrency, refer to past actions, interrupt actions…TheCall rule20/44
Actionexecutions21/44Referingtopastactions
ActionexecutionsInterruptingactions22/44
Our approach23/44Ecore (MOF)StructuralModelBehavioralModelDSVL’S VIEWSDefinedbytheuser+(Structural and behavioral)SEMANTIC MAPPINGSTransparenttotheuserSEMANTIC DOMAINTransparenttotheuserRewritingLogicMaude*Simulation, reachabilityanalysis, modelchecking* “Formal specification and analysis of domain specific languages using Maude”. SIMULATION, 2009
MaudeWide-spectrum programing language based on rewriting logicMembership equational logic as its underlying equational theoryWhy Maude?Deals with complex structural and behavioral specificationsSuccesfully used in a wide range of projectsEfficient High level of abstractionPowerful toolkit: simulation, reachability analysis, model checking,…Integrated in Eclipse (MOMENT)Model of time (Real-time Maude)24/44
MembershipEquationalLogic (MEL)HornlogicEqualities (t = t’)Membershipassertions (t : S)MEL theoryΓ = (Σ, Ε)Σ : sorts, subsorts, kinds and overloadedoperatorsΕ : equations and membershipsExample: natural numbers (Peanonotation)25/44
RewritingLogic (RL)Logic of changeParametrizedbyitsunderlyingequationallogicRL theory = (Σ, Ε, R)(Σ, Ε) : EquationaltheoryR : rewrite rules[t]E    [t’]EExample: Board26/44
RepresentingmetamodelswithMaude27/44op@MPNs@: -> @Metamodel .opMPNs: -> @Package .sort MPN .subsort MPN < @Class .op MPN : -> MPN .els : -> @Reference .sortPositionedEl .subsortPositionedEl < @Class .opPositionedEl : -> PositionedEl .opxPos : -> @Attribute .opyPos : -> @Attribue .sortPhone .subsortPhone< PositionedEl .opPhone: -> Phone.opcontacts : -> @Reference.opdialedCalls : -> @Reference .opreceivedCalls: -> @Reference .opon : -> @Attribute .opbattery : -> @Attribute .   …eqisAbstract(Phone) = false ....eqtype(contacts) = Phone .eqopposite(contacts) = null .eqlowerBound(contacts) = 0 .equpperBound(contacts) = * .…eqtype(on) = @Bool.eqlowerBound(on) = 1 .equpperBound(on) = 1 .
Representing models with Maude28/44mpn111battery = 100xPos = 5yPos = 45a1222xPos = 25yPos = 35444battery = 50xPos = 45yPos = 35battery = 50xPos = 65yPos = 25333a2xPos = 55yPos = 15battery = 100xPos = 15yPos = 15xSize = 80ySize = 50MPN {< ’mpn : MPN | els : Set{a ; ’p1 ; ’p2 ; ’p3} # xSize : 80 # ySize : 50 >< ’a : Antenna | xPos : 100 # yPos : 50 >< ’p1 : Phone | dialedCalls : OrderedSet [ ] # receivedCalls : OrderedSet [ ] #                contacts : OrderedSet[’p2 # ’p3 # ’p4] # number : 111 # on : false # battery : 100 #coverage : 0 # bps : 1 # xPos : 5 # yPos : 45 # xDir : 1 # yDir : 0 >< ’p2 : Phone | dialedCalls : OrderedSet [ ] # receivedCalls : OrderedSet [ ] #contacts : OrderedSet[’p1 # ’p3 # ’p4] # number : 222 # on : false # battery : 50 #coverage : 0 # bps : 1 # xPos : 45 # yPos : 35 # xDir : 0 # yDir : -1 >< ’p3 : Phone | dialedCalls : OrderedSet [ ] # receivedCalls : OrderedSet [ ] #contacts : OrderedSet[’p1 # ’p2 # ’p4] # number : 333 # on : false # battery : 100 #coverage : 0 # bps : 1 #xPos : 15 #yPos : 15 # xDir : 0 # yDir : 1 > … }
Representing behavior with Maude*29/44* “Adding behavioral semantics to models”. EDOC’07.
Representing timed behavior with MaudeReal-time Maude’smodel of timeDeltaTick ruleTime ElapseMtecrl [tick] :    {MODEL} =>    {delta(MODEL , T)} in time T if T<= mte(MODEL) [nonexec] .Instantaneous rulesDynamicbehavior30/44
Representing timed behavior with Maude*31/44Preconditionsatisfied ->CreatesanActionExecobjectwithtwotimers  and informationabouttheoccurrenceTriggeringinstantaneous ruleAtomic ruleAfter [t1,t2]RealizationInstantaneous ruleParticipantsstillthere ->PerformtheactionPreconditionsatisfied ->CreatesanActionExecobjectwithjustinformationabouttheoccurrenceInitialInstantaneous ruleOngoing ruleIn next time elapse, whenmteiscomputedapplyOngoingRulesequation (in delta)Preconditionsatisfied ->PerformtheactionDecreasestimers of ActionExec, updatestheclockinstance, appliesongoing rulesDeltaTick ruleTime elapseComputedwiththeinformation of            ActionExecobjectsMte* “On the behavioral semantics of real-time domain specific visual languages”. WRLA’10
Atomic Rules32/44TriggeringRealization
Ongoing rules33/44InitialRealization
Time elapse34/44        deltacrl [tick] :   {MODEL}  in time T =>   {delta(MODEL , TE)} in time (T  plus TE)if TE := mte(MODEL)    /\ TE =/= zero .mte
Toolsupport: modelmanagement*Eclipse pluginMauderemainstransparenttotheuser35/44MAUDELING* “Formal and toolsupportformodel driven engineering with Maude.” JOT, 2007
ModelmanagementModeldifference*(Structuraloridentifier) matching + differencingProperties:Model as a resultIndependent of the metamodel of the source modelsSelf-contained. Do, undo, compose.CompactNon tree-based:Can detect moved elementsthroughdifferentlevelsFailingtoidentify a match doesnotconditionother potencial matches36/44* “Representing and operating with model differences”. TOOLS’08
ModelmanagementModelsubtyping*Modeltype: essentiallyits metamodelModeloperationsreuseType safety; polymorfism in MDE4 kinds of subtyping: relaxation yes/no on name relations and packagestructureModelmetricsNo. of classes, maximum DIT, average No. of attributes…37/44* “Subtipado de modelos: una definición basada en la sustitución entre tipos y ...”. IDEAS’08
ModeleditionEclipse plugin38/44
Model simulation39/44
Time-bounded analysisReachability AnalysisDeadlock, invariants, etc.LTL Model checkingLiveness properties 40/44searchinit(mpnsModel) =>*   { @MPN@ {< O : AtomicActionExec | action :  “BatteryOffCaller” # status : realized # SFS >     OBJSET}  } in time T suchthat (T le 100) .
ContributionsFormal specification of real-Time DSMLsTwoviews: structure and behaviorA language and a graphical tool to define time-dependent behavior of DSMLsExtension of in-place model transformationModel of timed behaviorMechanism to state action propertiesFormalization of real-Time DSMLs with MaudeAutomatic generation of the Maude specificationsModel managementSimulation and (reachability and model checking) analysis41/44
ContributionsTool support:Metamodel, parser and serializer for (a subset of) MaudeModel ManagementModel transformation from EMF metamodels to MaudeModel transformations from EMF models to Maude and viceversaAnalysis of DSMLs for AToM3*              Simulation and analysis of Real-Time DSMLsModel transformation from e-Motions to MaudeIntegration with Maude’s simulation facilitiesIntegration with mOdCL42/44MAUDELING* ”Analyzing rule-basedbehavioral semantics of visual modeling languages with Maude”. SLE’08
FutureWorkModel managementConsider OCL constraints in model subtypingFormal proof of difference-related operations relationshipsModel simulation and analysis withComplete integration of Maude analysis tools Reachability analysis and model checkingQuerying the result of a simulationEncoding refinement Non-usedfeaturesUntimedanalysis…OCL completion and validationDebugging and traceability43/44
FutureWorkFurtheranalysisReachablemodelssatisfy metamodel constraints?Non-functional properties and QoS requirements*44/44* “Simulatingdomainspecific visual modelsby observation”. DEVS'10
On the Semantics of Real-Time Domain Specific Modeling Languages Jose E. RiveraAdvisors: Francisco Durán, Antonio VallecilloPhDDefenseMálaga, October 2010

More Related Content

PDF
Automatic Task-based Code Generation for High Performance DSEL
PDF
Designing Architecture-aware Library using Boost.Proto
PDF
Software Abstractions for Parallel Hardware
PDF
MATHEON D-Day: Numerical simulation of integrated circuits for future chip ge...
PDF
RNN, LSTM and Seq-2-Seq Models
PPTX
Tutorial on convolutional neural networks
PDF
(Costless) Software Abstractions for Parallel Architectures
PPTX
Java and Deep Learning
Automatic Task-based Code Generation for High Performance DSEL
Designing Architecture-aware Library using Boost.Proto
Software Abstractions for Parallel Hardware
MATHEON D-Day: Numerical simulation of integrated circuits for future chip ge...
RNN, LSTM and Seq-2-Seq Models
Tutorial on convolutional neural networks
(Costless) Software Abstractions for Parallel Architectures
Java and Deep Learning

What's hot (20)

PPTX
Deep Learning, Scala, and Spark
PPTX
Deep Learning: R with Keras and TensorFlow
PDF
From programming to software engineering: ICSE keynote slides available
PPTX
Java and Deep Learning (Introduction)
PDF
PPTX
C++ and Deep Learning
PDF
Deep Learning: Recurrent Neural Network (Chapter 10)
PPTX
Scala and Deep Learning
PPT
Function Approx2009
PPTX
Deep Learning, Keras, and TensorFlow
PDF
Learning Financial Market Data with Recurrent Autoencoders and TensorFlow
PDF
Convolution Neural Networks
PPTX
TensorFlow in Your Browser
DOCX
PPTX
Deep Learning and TensorFlow
PDF
Presentation Slides - Genetic algorithm based key generation for fully homomo...
PDF
Semi-Supervised Autoencoders for Predicting Sentiment Distributions(第 5 回 De...
PDF
Workshop - Introduction to Machine Learning with R
PDF
Development of Multi-Level ROM
PPTX
FUNCTION APPROXIMATION
Deep Learning, Scala, and Spark
Deep Learning: R with Keras and TensorFlow
From programming to software engineering: ICSE keynote slides available
Java and Deep Learning (Introduction)
C++ and Deep Learning
Deep Learning: Recurrent Neural Network (Chapter 10)
Scala and Deep Learning
Function Approx2009
Deep Learning, Keras, and TensorFlow
Learning Financial Market Data with Recurrent Autoencoders and TensorFlow
Convolution Neural Networks
TensorFlow in Your Browser
Deep Learning and TensorFlow
Presentation Slides - Genetic algorithm based key generation for fully homomo...
Semi-Supervised Autoencoders for Predicting Sentiment Distributions(第 5 回 De...
Workshop - Introduction to Machine Learning with R
Development of Multi-Level ROM
FUNCTION APPROXIMATION
Ad

Viewers also liked (20)

PPTX
PPT
P _n___l_accounting_website
DOCX
Minutes of bod meeting august 14'
PPTX
黃問_如何問出好問題 _台北市健言社(作大夢的歐吉桑)
PDF
11g r2新特性之standby max_data_delay
PDF
Oracle10g高级安全特性列加密技术
PPT
Curriculum fernando muñoz
PPTX
有評有具--講評3部曲之首部曲(作大夢的歐吉桑)
PDF
Ifc 2010 workshop david and goliath
PPT
Forward Progress Energy Field
PDF
Der Weg weg von TemplaVoila
PDF
Gebruiksaanwijzing platformweegschaal
PPTX
Exploration of Professional Learning Communities (PLCs)
PPTX
PPTX
Benchmarks riet picknicken
PPT
IIM A _ presentation
PPT
Vision and Planning Energy Field
PPTX
New Zealand Franchising Confidence Index | July 2015
PPTX
Etech: Online & Hands-on Learning for Manufacturing Employers
P _n___l_accounting_website
Minutes of bod meeting august 14'
黃問_如何問出好問題 _台北市健言社(作大夢的歐吉桑)
11g r2新特性之standby max_data_delay
Oracle10g高级安全特性列加密技术
Curriculum fernando muñoz
有評有具--講評3部曲之首部曲(作大夢的歐吉桑)
Ifc 2010 workshop david and goliath
Forward Progress Energy Field
Der Weg weg von TemplaVoila
Gebruiksaanwijzing platformweegschaal
Exploration of Professional Learning Communities (PLCs)
Benchmarks riet picknicken
IIM A _ presentation
Vision and Planning Energy Field
New Zealand Franchising Confidence Index | July 2015
Etech: Online & Hands-on Learning for Manufacturing Employers
Ad

Similar to On the Semantics of Real-Time Domain Specific Modeling Languages (20)

PDF
Model Driven Developing & Model Based Checking: Applying Together
PPT
PPTX
Reusable Specification of Non-functional Properties in DSLs
PPTX
Event-driven Model Transformations in Domain-specific Modeling Languages
PDF
Miso-McGill
PPTX
FESCA 2015 keynote
PDF
Miso
PDF
MLMPLs
PDF
An online tool for requirements engineering, modeling and verification of dis...
PPTX
The secret life of rules in Software Engineering
PDF
Dynamic V&V in Language-Oriented Modeling
PDF
Executable modeling & dynamic adaptation
PDF
IRJET - Model Driven Methodology for JAVA
PPT
Toward Automatic Generation of Models with Probes from the SDL System Specifi...
PDF
Enriching Tool Support for Model-Driven Software Development
PDF
Towards Language-Oriented Modeling (HDR Defense)
PPT
Testing Model Transformations
PPT
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
PDF
A Model-Driven Approach to Trace Checking of Pattern-based Temporal Properties
PDF
Generation of Random EMF Models for Benchmarks
Model Driven Developing & Model Based Checking: Applying Together
Reusable Specification of Non-functional Properties in DSLs
Event-driven Model Transformations in Domain-specific Modeling Languages
Miso-McGill
FESCA 2015 keynote
Miso
MLMPLs
An online tool for requirements engineering, modeling and verification of dis...
The secret life of rules in Software Engineering
Dynamic V&V in Language-Oriented Modeling
Executable modeling & dynamic adaptation
IRJET - Model Driven Methodology for JAVA
Toward Automatic Generation of Models with Probes from the SDL System Specifi...
Enriching Tool Support for Model-Driven Software Development
Towards Language-Oriented Modeling (HDR Defense)
Testing Model Transformations
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
A Model-Driven Approach to Trace Checking of Pattern-based Temporal Properties
Generation of Random EMF Models for Benchmarks

On the Semantics of Real-Time Domain Specific Modeling Languages

  • 1. On the Semantics of Real-Time Domain Specific Modeling Languages Jose E. RiveraAdvisors: Francisco Durán, Antonio VallecilloPhDDefenseMálaga, October 2010
  • 2. AgendaOrigins of Model-DrivenEngineering (MDE)MDE and itsmaintechnologiesDefinition of a DomainSpecificModelingLanguage (DSML)OurapproachSpecifying time-dependentbehavior of DSMLsExtension of in-place modeltransformationProvidingDSMLswithsemantics (usingMaude)ModelmanagenentSimulation and analysisContributionsFuturework2/44
  • 3. Origins of modeldrivenengineeringSoftware researchershavebeencreatingabstractionsto help them develop software systems:3/44X-orientedprogramming ???…Component-orientedprogrammingObject-orientedprogrammingStructuredprogrammingAssembler
  • 4. Origins of modeldrivenengineeringWhyabstractions?Lowlevel, littleexpresivenessProblem: programming!Computing-oriented focus: abstractions of the solution spaceSolution: abstractionsof the problem space4/44
  • 5. ModeldrivenengineeringCreate a model of thesystemModels are nottobeused as meredocumentationSimulation and analysisDrive final implementation5/44
  • 6. Model driven engineeringPrecise and formal semanticsneededtoFacilitate unambiguous communication among model developersEnable the development of formal analysis and simulation toolsAvoid semantic mismatches between design models and modeling languages of analysis tools6/44
  • 7. Model Driven Engineering (MDE)Models as first class entities. Twomaintechnologies:Domain Specific Modeling Languages (DSMLs)Notation close to the problem domain and intuitive for domain expertsModel transformationsAutomatically synthesize alternative model representations, source code…7/44DSMLDSML’ModelTransformationwritten inwritten inSystem’ModelModel’representsrepresentsSystem
  • 8. Definition of a DSML8/44Behavior??Semantics??METAMODELConformstoCONCRETE SYNTAXMODEL
  • 9. Definition of a DSMLBehavior coded in the target (semantic) domain itself9/44JavaAbstractState MachinesFirst-OrderLogic…
  • 10. Definition of a DSML (revisited)10/44TWO VIEWSStructure:Structuralmodel, concrete syntax, structuralsemanticsBehavior:Behavioralmodel, concrete syntax, behavioralsemantics
  • 11. Definition of a DSML (revisited)Behavior as an intuitive modelPrecise semanticsA set of (equivalent) notationsA set of analysis toolsUnderlying logic11/44StructuralModelBehavioralModel+DSML’S STRUCTURE AND BEHAVIORSEMANTIC MAPPINGS (MODEL TRANSFORMATIONS)SEMANTIC DOMAINSMT3MT1MT2Rewritinglogic(Reachabilityanalysis, modelchecking…)Petrinets(Termination, confluence…)…
  • 12. Our approach12/44Ecore (MOF)(metamodel)(ext. of in-place MT)StructuralModelBehavioralModelDSVL’S VIEWSDefinedbytheuser+(Structural and behavioral)SEMANTIC MAPPINGSTransparenttotheuserSEMANTIC DOMAINTransparenttotheuserRewritingLogicMaudeSimulation, reachabilityanalysis, modelchecking
  • 13. In-place modeltransformationModels, metamodels and model transformation are the key artifacts of MDEIntuitive and close to the problem domainSource and target models are the same13/44
  • 14. Extending in-place modeltransformationWhy an extension?To cope with real-time systemsAssist users to avoid driving the system to inconsistent time-statesTo refer to and reason about action executionsTo avoid modifying the metamodel (structure) to include (time and action) behavioral informationWewanttheuserjusttofocusonthecomplexity of his/hersystemIntrinsiccomplexity vs. accidental complexity14/44
  • 15. Extension of in-place modeltransformation*:A model of timedbehaviorTwokind of timed rules: atomic and ongoingPeriodicityRule executions: normal and soft; scheduledactions.Global time elapse (clock)A mechanism to state action propertiesActionexecutionsOCL expressions, operations and variables (mOdCL)A graphical framework in Eclipse15/44* “A graphical approach for modeling time-dependent behavior of DSLs”. VL/HCC'09
  • 16. AtomicactionsActionswitha specific duration (interval of time)TheSwitchOn rule16/44
  • 17. InstantaneousactionsAtomic rules with no durationThe BatteryOff ruleRule execution modes: normal and soft; scheduled17/44
  • 18. PeriodicityAtomic rules can beperiodicTheCoverage ruleOCL operations18/44
  • 19. OngoingactionsActions that progress continuously with time while the rule preconditions (LHS and not NACs) holdTheBatteryConsumption rule19/44
  • 20. ActionexecutionsAn action execution element refers to one action: Type; status; participants; starting, ending and execution timeThey can limit concurrency, refer to past actions, interrupt actions…TheCall rule20/44
  • 23. Our approach23/44Ecore (MOF)StructuralModelBehavioralModelDSVL’S VIEWSDefinedbytheuser+(Structural and behavioral)SEMANTIC MAPPINGSTransparenttotheuserSEMANTIC DOMAINTransparenttotheuserRewritingLogicMaude*Simulation, reachabilityanalysis, modelchecking* “Formal specification and analysis of domain specific languages using Maude”. SIMULATION, 2009
  • 24. MaudeWide-spectrum programing language based on rewriting logicMembership equational logic as its underlying equational theoryWhy Maude?Deals with complex structural and behavioral specificationsSuccesfully used in a wide range of projectsEfficient High level of abstractionPowerful toolkit: simulation, reachability analysis, model checking,…Integrated in Eclipse (MOMENT)Model of time (Real-time Maude)24/44
  • 25. MembershipEquationalLogic (MEL)HornlogicEqualities (t = t’)Membershipassertions (t : S)MEL theoryΓ = (Σ, Ε)Σ : sorts, subsorts, kinds and overloadedoperatorsΕ : equations and membershipsExample: natural numbers (Peanonotation)25/44
  • 26. RewritingLogic (RL)Logic of changeParametrizedbyitsunderlyingequationallogicRL theory = (Σ, Ε, R)(Σ, Ε) : EquationaltheoryR : rewrite rules[t]E [t’]EExample: Board26/44
  • 27. RepresentingmetamodelswithMaude27/44op@MPNs@: -> @Metamodel .opMPNs: -> @Package .sort MPN .subsort MPN < @Class .op MPN : -> MPN .els : -> @Reference .sortPositionedEl .subsortPositionedEl < @Class .opPositionedEl : -> PositionedEl .opxPos : -> @Attribute .opyPos : -> @Attribue .sortPhone .subsortPhone< PositionedEl .opPhone: -> Phone.opcontacts : -> @Reference.opdialedCalls : -> @Reference .opreceivedCalls: -> @Reference .opon : -> @Attribute .opbattery : -> @Attribute . …eqisAbstract(Phone) = false ....eqtype(contacts) = Phone .eqopposite(contacts) = null .eqlowerBound(contacts) = 0 .equpperBound(contacts) = * .…eqtype(on) = @Bool.eqlowerBound(on) = 1 .equpperBound(on) = 1 .
  • 28. Representing models with Maude28/44mpn111battery = 100xPos = 5yPos = 45a1222xPos = 25yPos = 35444battery = 50xPos = 45yPos = 35battery = 50xPos = 65yPos = 25333a2xPos = 55yPos = 15battery = 100xPos = 15yPos = 15xSize = 80ySize = 50MPN {< ’mpn : MPN | els : Set{a ; ’p1 ; ’p2 ; ’p3} # xSize : 80 # ySize : 50 >< ’a : Antenna | xPos : 100 # yPos : 50 >< ’p1 : Phone | dialedCalls : OrderedSet [ ] # receivedCalls : OrderedSet [ ] # contacts : OrderedSet[’p2 # ’p3 # ’p4] # number : 111 # on : false # battery : 100 #coverage : 0 # bps : 1 # xPos : 5 # yPos : 45 # xDir : 1 # yDir : 0 >< ’p2 : Phone | dialedCalls : OrderedSet [ ] # receivedCalls : OrderedSet [ ] #contacts : OrderedSet[’p1 # ’p3 # ’p4] # number : 222 # on : false # battery : 50 #coverage : 0 # bps : 1 # xPos : 45 # yPos : 35 # xDir : 0 # yDir : -1 >< ’p3 : Phone | dialedCalls : OrderedSet [ ] # receivedCalls : OrderedSet [ ] #contacts : OrderedSet[’p1 # ’p2 # ’p4] # number : 333 # on : false # battery : 100 #coverage : 0 # bps : 1 #xPos : 15 #yPos : 15 # xDir : 0 # yDir : 1 > … }
  • 29. Representing behavior with Maude*29/44* “Adding behavioral semantics to models”. EDOC’07.
  • 30. Representing timed behavior with MaudeReal-time Maude’smodel of timeDeltaTick ruleTime ElapseMtecrl [tick] : {MODEL} => {delta(MODEL , T)} in time T if T<= mte(MODEL) [nonexec] .Instantaneous rulesDynamicbehavior30/44
  • 31. Representing timed behavior with Maude*31/44Preconditionsatisfied ->CreatesanActionExecobjectwithtwotimers and informationabouttheoccurrenceTriggeringinstantaneous ruleAtomic ruleAfter [t1,t2]RealizationInstantaneous ruleParticipantsstillthere ->PerformtheactionPreconditionsatisfied ->CreatesanActionExecobjectwithjustinformationabouttheoccurrenceInitialInstantaneous ruleOngoing ruleIn next time elapse, whenmteiscomputedapplyOngoingRulesequation (in delta)Preconditionsatisfied ->PerformtheactionDecreasestimers of ActionExec, updatestheclockinstance, appliesongoing rulesDeltaTick ruleTime elapseComputedwiththeinformation of ActionExecobjectsMte* “On the behavioral semantics of real-time domain specific visual languages”. WRLA’10
  • 34. Time elapse34/44 deltacrl [tick] : {MODEL} in time T => {delta(MODEL , TE)} in time (T plus TE)if TE := mte(MODEL) /\ TE =/= zero .mte
  • 35. Toolsupport: modelmanagement*Eclipse pluginMauderemainstransparenttotheuser35/44MAUDELING* “Formal and toolsupportformodel driven engineering with Maude.” JOT, 2007
  • 36. ModelmanagementModeldifference*(Structuraloridentifier) matching + differencingProperties:Model as a resultIndependent of the metamodel of the source modelsSelf-contained. Do, undo, compose.CompactNon tree-based:Can detect moved elementsthroughdifferentlevelsFailingtoidentify a match doesnotconditionother potencial matches36/44* “Representing and operating with model differences”. TOOLS’08
  • 37. ModelmanagementModelsubtyping*Modeltype: essentiallyits metamodelModeloperationsreuseType safety; polymorfism in MDE4 kinds of subtyping: relaxation yes/no on name relations and packagestructureModelmetricsNo. of classes, maximum DIT, average No. of attributes…37/44* “Subtipado de modelos: una definición basada en la sustitución entre tipos y ...”. IDEAS’08
  • 40. Time-bounded analysisReachability AnalysisDeadlock, invariants, etc.LTL Model checkingLiveness properties 40/44searchinit(mpnsModel) =>* { @MPN@ {< O : AtomicActionExec | action : “BatteryOffCaller” # status : realized # SFS > OBJSET} } in time T suchthat (T le 100) .
  • 41. ContributionsFormal specification of real-Time DSMLsTwoviews: structure and behaviorA language and a graphical tool to define time-dependent behavior of DSMLsExtension of in-place model transformationModel of timed behaviorMechanism to state action propertiesFormalization of real-Time DSMLs with MaudeAutomatic generation of the Maude specificationsModel managementSimulation and (reachability and model checking) analysis41/44
  • 42. ContributionsTool support:Metamodel, parser and serializer for (a subset of) MaudeModel ManagementModel transformation from EMF metamodels to MaudeModel transformations from EMF models to Maude and viceversaAnalysis of DSMLs for AToM3* Simulation and analysis of Real-Time DSMLsModel transformation from e-Motions to MaudeIntegration with Maude’s simulation facilitiesIntegration with mOdCL42/44MAUDELING* ”Analyzing rule-basedbehavioral semantics of visual modeling languages with Maude”. SLE’08
  • 43. FutureWorkModel managementConsider OCL constraints in model subtypingFormal proof of difference-related operations relationshipsModel simulation and analysis withComplete integration of Maude analysis tools Reachability analysis and model checkingQuerying the result of a simulationEncoding refinement Non-usedfeaturesUntimedanalysis…OCL completion and validationDebugging and traceability43/44
  • 44. FutureWorkFurtheranalysisReachablemodelssatisfy metamodel constraints?Non-functional properties and QoS requirements*44/44* “Simulatingdomainspecific visual modelsby observation”. DEVS'10
  • 45. On the Semantics of Real-Time Domain Specific Modeling Languages Jose E. RiveraAdvisors: Francisco Durán, Antonio VallecilloPhDDefenseMálaga, October 2010