MASE : Modeling & Analysis in Software Engineering Juergen Dingel School of Computing Queen’s University Kingston, Ontario, Canada CAMPAM, April 29, 2012
analyze Requirements Software Models generate create transform What do we do? Model-Driven Development (MDD): A software development approach in which models, rather than code form the primary artifact Methods, techniques and tools for efficient construction of reliable software by increasing support for abstraction, automation, and analysis
40 years ago: Hardware Require-ments Today: Require-ments Hardware Or, more technically: A Historical Perspective [Source: B. Selic]
Interfaces S, S C1 C2 Components Our Current Projects Theme 1: UML-RT • Formal semantics • “What does a model mean?” • Execution, simulation, and correctness analysis • “Does the model do the right thing?” • using kiltera & model checking • using symbolic execution • PSM conformance checking • “Is it safe to compose two models?” • Incremental test case generation • “Making test case generation more efficient in the presence of model evolution” M : UML-RT ! pi-calculus M ²? C1 conforms to S? M1 TC1 covered by ? update TC2 M2 covered by
M1 ² ? ² M2 Our Current Projects (Cont’d) Theme 2: Model Transformation • MT case studies • UML-RT to kiltera translation • GM metamodel migration • MT and analysis • “How do MTs affect model analysis?” • Core idea: • Domain/task-specific model transformation languages • Trade expressiveness for analyzability • MT for code generation • accurate code from timed models t t preserves ?
Our Current Projects (Cont’d) Theme 3: Control Theory (CT) for SW Development • “Can large body of knowledge on CT be leveraged for solving SE problems?” • Yes, e.g., automatic generation of concurrency control code concurrent code + ? ² CT
Topics • (Design of) (domain-specific) model transformation languages • which “properties” (capabilities) does a MT language need to have to be fit for a certain class of MT tasks? • which “properties” (capabilities) can be removed to facilitate reasoning about MTs? • Analysis of model transformations • “The success of a language depends on its underlying theory” [JD] • How can the design of domain-specific MT languages support reasoning? • c.f., “correctness (e.g., property preservation/establishment) by construction” • “The success of a language depends on its supporting tooling” [Bran Selic] • How can the generation of this tooling be facilitated? • c.f., language workbenches/frameworks/product lines (e.g., van den Brand et al., Atlee & Day) • Specification of model transformations • “A program without a specification can never be correct, it can only be surprising” [?] • Analysis of models • correctness, conformance, MBT, …
Criteria of Success • I’m flexible…
We have a workshop, too… Analysis of Model Transformations (AMT) • at MODELS’12 • first in a long series?
MASE : Modeling & Analysis in Software Engineering Juergen Dingel School of Computing Queen’s University April 13, 2012