MASE Modeling Analysis in Software Engineering Juergen Dingel

  • Slides: 10
Download presentation
MASE : Modeling & Analysis in Software Engineering Juergen Dingel School of Computing Queen’s

MASE : Modeling & Analysis in Software Engineering Juergen Dingel School of Computing Queen’s University Kingston, Ontario, Canada CAMPAM, April 29, 2012

What do we do? Methods, techniques and tools for efficient construction of reliable software

What do we do? Methods, techniques and tools for efficient construction of reliable software by increasing support for abstraction, automation, and analysis Model-Driven Development (MDD): A software development approach in which models, rather than code form the primary artifact analyze Requirements create Models generate Software transform 2

A Historical Perspective 40 years ago: Requirements Hard ware Today: Requirements Hard ware Or,

A Historical Perspective 40 years ago: Requirements Hard ware Today: Requirements Hard ware Or, more technically: [Source: B. Selic] 3

Our Current Projects Theme 1: UML-RT • Formal semantics M : UML-RT ! pi-calculus

Our Current Projects Theme 1: UML-RT • Formal semantics M : UML-RT ! pi-calculus ° “What does a model mean? ” • Execution, simulation, and correctness analysis M ² ? ° “Does the model do the right thing? ” ° using kiltera & model checking ° using symbolic execution Interfaces S, S • PSM conformance checking ° “Is it safe to compose two models? ” C 1 C 2 C 1 conforms to S? Components • Incremental test case generation ° “Making test case generation more efficient in the presence of model evolution” M 1 TC 1 covered by ? update M 2 TC 2 covered by 4

Our Current Projects (Cont’d) Theme 2: Model Transformation • MT case studies ° UML-RT

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: q Domain/task-specific model transformation languages q Trade expressiveness for analyzability • MT for code generation M 1 t M 2 ² ? ² t preserves ? ° accurate code from timed models 5

Our Current Projects (Cont’d) Theme 3: Control Theory (CT) for SW Development • “Can

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 6

Topics § (Design of) (domain-specific) model transformation languages • which “properties” (capabilities) does a

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? q 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? q 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, … 7

Criteria of Success § I’m flexible… 8

Criteria of Success § I’m flexible… 8

We have a workshop, too… Analysis of Model Transformations (AMT) • at MODELS’ 12

We have a workshop, too… Analysis of Model Transformations (AMT) • at MODELS’ 12 • first in a long series? 9

MASE : Modeling & Analysis in Software Engineering Juergen Dingel School of Computing Queen’s

MASE : Modeling & Analysis in Software Engineering Juergen Dingel School of Computing Queen’s University April 13, 2012