models, modelling , mbse

36
Professor John Hosking, Dean of Engineering and Computer Science Models, Modelling, MBSE

Upload: laken

Post on 23-Feb-2016

64 views

Category:

Documents


5 download

DESCRIPTION

Models, Modelling , MBSE. Professor John Hosking, Dean of Engineering and Computer Science. Part 1 General Concepts. Models and modelling. Formalisation language syntax/semantics Scope of applicability Insight Execution Prediction. v = u + at v 2 = u 2 + 2as s = ut + ½at 2. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Models,  Modelling , MBSE

Professor John Hosking, Dean of Engineering and Computer Science

Models, Modelling, MBSE

Page 2: Models,  Modelling , MBSE

PART 1 GENERAL CONCEPTS

Page 3: Models,  Modelling , MBSE

Models and modelling

Formalisationlanguage syntax/semantics

Scope of applicabilityInsightExecutionPrediction

v = u + at

v2 = u2 + 2as

s = ut + ½at2

Page 4: Models,  Modelling , MBSE

Models and modelling

Formalisationlanguage syntax/semantics

Scope of applicabilityInsightExecutionPrediction

CH4 + 2 O2 -> CO2 + 2 H2O

Page 5: Models,  Modelling , MBSE

Models and modelling

Formalisationlanguage syntax/semantics

Scope of applicabilityInsightExecutionPrediction

Page 6: Models,  Modelling , MBSE

Models and modelling

Formalisationlanguage syntax/semantics

Scope of applicabilityInsightExecutionPrediction

Page 7: Models,  Modelling , MBSE

Models and Engineering• Engineering is about modelling

– Including Software Engineering– Much of the engineering process is about taking a

specification and turning it into design model(s)• Using theory, methodology, evidence based best practice

– Models are tested • scope of applicability• compliance to specification

– Models are used to specify detailed construction– Construction overseen by engineers

• true for SE?

Page 8: Models,  Modelling , MBSE

Modelling and Software Engineering

“The growing complexity of software is the motivation behind work on industrializing software development. In particular, current research in the area of model driven engineering (MDE) is primarily concerned with reducing the gap between problem and software implementation domains through the use of technologies that support systematic transformation of problem-level abstractions to software implementations.” France and Rumpe,2007, Model-driven Development of Complex Software: A Research Roadmap, FOSE’07

Page 9: Models,  Modelling , MBSE

MDE is about CommunicationProblem Domain

Implementation DomainModel

Test Models

Design Model

Problem Domain

Implementation Domain

Req Model

Design Models

Analysis Model

Test ModelsWhat modelling language(s)?

How are they designed to be effective?How are they implemented?

Page 10: Models,  Modelling , MBSE

MDE is about Viewpoints

Test Models

Design Model

Problem Domain

Implementation Domain

Req Model

Design Models

Analysis Model

Test Models

Separation of concerns

Consistency management

Hidden dependencies

Page 11: Models,  Modelling , MBSE

MDE is about Automation

Test Models

Design Model

Problem

Domain

Implementation Domain

Req Model

Design Models

Analysis Model

Test Models

Anti Patterns?

Coverage?

Self Consistent?

Code Smells?

Deadlocks?

Performance?Auto/semi-autotransform

Transform Model

Transform specn?Traceability links?Consistency?Versioning?

Analysis tool scope?Limitations?

Usability?Specification/implmn

Page 12: Models,  Modelling , MBSE

MDE Challenges

“… we consider the problem of developing MDE technologies that automate significant portions of the software lifecycle to be a wicked problem. A wicked problem has multiple dimensions that are related in complex ways and thus cannot be solved by cobbling solutions to the different problem dimensions.”

France and Rumpe,2007, Model-driven Development of Complex Software: A Research Roadmap, FOSE’07

Page 13: Models,  Modelling , MBSE

MDE and Formal Methods

• Why not just use formal specification techniques?– FSTs typically limited in scope

• Eg only work for some viewpoints– Tradeoff in expressability and ability to mechanically

analyse– Hence use FSTs to analyse subset of models

• Eg Z models for data and operation viewpoints• “Model checking” for state transition viewpoints• Petri nets for control flow viewpoint

Page 14: Models,  Modelling , MBSE

Development versus Runtime Models

• Most MDE initiatives have focused on development models– Abstractions above code

• Runtime models present abstractions of executing systems– How to use to manage and modify executing software

• Adaptive systems – monitor behaviour (eg performance) and adapt (eg add extra servers)

Page 15: Models,  Modelling , MBSE

Some major MDE initiatives • Model Driven Architecture (MDA) - OMG

– Three viewpoints: computation independent, platform independent and platform dependent

– MOF, UML, QVT– Very rich set of modelling languages lost of complexity– Example of “extensible general purpose modelling language”

approach• Software factories – Microsoft

– Many small domain specific viewpoints linked by transforms– Small lightweight modelling languages– Heavy emphasis on reuse of knowledge– Example of “domain specific modelling language” approach

Page 16: Models,  Modelling , MBSE

Pros and cons

Extensible GPML+ “Standard” models+ Model interchange+ Analysis tool interchange+ Build it once- Complex languages- Not client friendly- Extension mechanisms

complicate things

Domain Specific MLs+ Client friendly+ Simple languages+ Simpler tooling- Build it often- Smaller user base =>

higher maintenance cost

- DSL Babel challenge

Page 17: Models,  Modelling , MBSE

Model Driven Systems Engineering

• Extends from Software Engineering to Systems Engineering

• Typically Extensible GPML based– Heavy emphasis on standardisation– Not surprising

• Egs– SysML– Function Blocks (more for embedded systems)– BIM/IFC (for integrated design of buildings)

Page 18: Models,  Modelling , MBSE

SysML

• OMG driven (UML standards developers)• Extends/restricts UML (ie GPML approach)

– New viewpoints• Requirements, Parametric views• Supports V&V, gap analysis

– Eliminates some software centric viewpoints• Only uses 7 of UML 2’s 13 diagrams• Replaces “classes” with “blocks”

Page 19: Models,  Modelling , MBSE

IEC 61499 Function Blocks

• From Control community• Pushes Block concept in SysML further

– Gaining popularity in embedded systems community

– Arguably more implmnoriented than SysML

– See Vyatkin review paper– Argues for combining

Page 20: Models,  Modelling , MBSE

BIM IFC• Building information modelling

– Integrates viewpoints of multiple professionals working on constructing/maintaining buildings

• Engineers, PMs, architects, builders, plumbers, …– Aims to revolutionise building construction– Current state of the art – much manual rentry of data

• Significant opportunity for error• BIM aims for standardised interoperability

• Industry Foundation Classes– Base set of classes defining the multiple viewpoints– EXPRESS modelling language extensible GPML approach

• Much work done – much to do

Page 21: Models,  Modelling , MBSE

PART 2: EXAMPLES OF MDE PROJECTS FROM MY RESEARCH

Page 22: Models,  Modelling , MBSE

Some areas of contribution

• Meta-tools for simply implementing graphical modelling languages (domain specific visual languages – DSVLs)

• Performance estimation tools• Model transformation tools• EXPRESS modelling environment• Requirements extraction tools

A few examples follow

Page 23: Models,  Modelling , MBSE

How to build a Domain Specific Visual Modelling Language (DSVL)?

• Design the DSVL formalism– Domain modelling, Physics of Notations, Cognitive

Dimensions of Notations, …• Design and implement an editing environment &

possibly a code generator– Icons and connectors, domain model, views on

domain model, behaviour under user interaction, code generator, simulator, …

– Lots of programming OR use a meta-tool

Page 24: Models,  Modelling , MBSE

Meta-tool• Tool to help build other software tools• In this case a tool to specify a DSVL and its modelling

environment and which generates the environment• It typically uses several DSVLs to make specification

easy

Tool designer Tool end user

uses specifies/generates uses specifies/generates

Meta tool DSVL Modelling tool Other possibly executable models

Page 25: Models,  Modelling , MBSE

My group’s meta-tool research work

• Have developed a series of frameworks and meta tools for DSVL specification

Frameworks forconstructing multi-view

multi-notation environments

Meta tools for specifying &constructing multi-view

multi-notation environments

Design ToolsEngineering,

Software

Prolog Java Java + Web Services

Eclipse +Java

Plus lots of applications developed using the frameworks & meta tools

Ispel1991

MViews1993

JViews1997

JComposer1998

Pounamu2003

Kea1989

Marama2007 …

Page 26: Models,  Modelling , MBSE

Tool Specification using Marama

• Domain model– EER– OCL

• Icons &Connectors

• Views– Icons/connectors– Model elements– Mappings

• Behaviour– Constraints– Layout

GeneratedModelling Tool

About a day to specify and implement a basic modelling tool

Page 27: Models,  Modelling , MBSE

Marama notes• Marama is an example of a model driven toolset itself

– New DSVL expressed using a variety of graphical models expressing different viewpoints then DSVL environment auto generated from those models

• Supports DSML approaches– Easy to design and implement small modelling languages

• A research tool– Lacks lots of features you’d want in a production toolset– But has been hardened and used in industrial projects (for large

European banks) by Sofismo, a Swiss MDE consultancy company

Page 28: Models,  Modelling , MBSE

Performance estimation – MaramaMTE• Example of a model analysis tool• Implemented using Marama• Given a software architecture how well will the

implemented system work?• MaramaMTE supports

– Modelling software architectures for service oriented systems– Modelling of workload models– Generation of testbed able to be exercised using workload

model; generates workload testbench• Assumes inter-component comms cost less than computation cost

– Deployment of testbed and workload testbench onto real hardware

– Runs system – generates performance stats

Page 29: Models,  Modelling , MBSE

MaramaMTE

Architecture spec

End user interaction spec

Page 30: Models,  Modelling , MBSE

Results visualisation

Travel run example

05

101520253035

login

mainMenu

flightS

earch

book

Fligh

ts

addF

light

service

time # visits

ave time (ms)

Total time taken (ms)

loginmainMenufl ightSearchbookFlightsaddFlight

Page 31: Models,  Modelling , MBSE

Requirements extraction – MaramaAI• Takes textual requirements in the form of scenario

descriptions• Auto-extracts Essential Use Cases

– Abstracted interaction models• Supports English and Malay!• Matches the derived EUCs against known EUC patterns

– Looking for errors/missing features/etc• Generates mock user interfaces for RE to confirm

requirements with client– Round trip engineering

• Maintains consistency between the various viewpoints

Page 32: Models,  Modelling , MBSE

Example EUC

Page 33: Models,  Modelling , MBSE

Extraction and mapping

12 3

“select voter registration option (1)” is mapped to a particular abstract interaction – “select option (2)”

Map to the EUC diagram categorising “select option” interaction as a “user intention”

Page 34: Models,  Modelling , MBSE

Matching to EUC best practice pattern

Page 35: Models,  Modelling , MBSE

Map to interaction model and mock UI

Page 36: Models,  Modelling , MBSE

Summary• Models and their importance in Science and

Engineering• MDE basics• Issues with MDE and examples of initiatives• MD Systems Engineering• Meta tools for quickly specifying and

implementing DSVLs and their environments• A couple of model analysis and transformation

tool examples