marama: an eclipse-based meta-tool for generating multi-view ...pounamu 2003 kea 1989 marama 2006/7...

31
Marama: an Eclipse-based meta-tool for generating multi-view graphical modelling tools John Hosking Department of Computer Science University of Auckland, New Zealand [email protected]

Upload: others

Post on 09-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

Marama: an Eclipse-based meta-tool for generating multi-view graphical modelling toolsJohn Hosking

Department of Computer Science University of Auckland, New Zealand

[email protected]

Page 2: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

History – research platformsFrameworks forconstructing multi-viewmulti-notation environments

Meta tools for specifying &constructing multi-viewmulti-notation environments

Evolving Frameworks Pattern Language

Design ToolsEngineering,Software

Prolog Java Java + Web Services

Eclipse +Java

Applications developed using the frameworks & meta tools

Commercialisation/industry transfer

Ispel1991

MViews1993

JViews1997

JComposer1998

Pounamu2003

Kea1989

Marama2006/7

Page 3: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

Marama - goals• Make modelling tool implementation easy for:

– Experienced modeller– Familiar with basic modelling concepts

• Eg EER, OCL, meta models– Construct basic modellers within 1 day

• Plus time for backend code generators etc

• Leverage strength of Eclipse– Standalone Pounamu left us with too much to support

• Make use of EMF, GEF, JET, etc– Eclipse community attractive

• Paper at ASE06 on early version of Marama– Used Pounamu metatools– Realised tools in Eclipse using Marama runtime plugin

Page 4: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

Sutcliffe’s Design metadomain model

(from (Sutcliffe 2002))

CoreMarama

Page 5: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

Marama basic requirements

• Need to be able to specify/generate:– Metamodel– Icons and connectors– Views and view to model mappings

• View – model consistency

– Behaviour• Constraints, operations

– Model transformations• Backend code generation• Tool integration

Page 6: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

Marama – basic architecture Eclipse IDE

Marama Meta-tool Application

Specification Tools

Shape Designer

Meta-model Designer

View Designer

Tool Specifcations – XML documents

Tool specification projects (XML)

Marama Plug-in (GEF Editor)

Eclipse IDE resource

management

Marama save files - Eclipse workspace files (XMI)

Marama Plug-in (EMF Model)

(2)

Adapter API

(3) (5)

(7) (1)

Tool config. held in DOMs

EMF OCL Plug-in (OCL

Interpreter)

Event handler objects

(6) (4)

Page 7: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

Example tool: MaramaMTE

Palette

PropertySheet

ModellingWindow

Helpers

Page 8: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

Meta model specification

• EER (KISS)– Entities– Relationships– Roles– Attributes– Keys

• OCL constraints (see later)– Attribute calcns– Invariants– Cardinalities

Page 9: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

Icon and connector specification

Page 10: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

View and view-model mapping specn

• Elements in view• Mappings

– Entity to Icon– Relationship to

connector– Attribute to

property

• Constraints– Specialised

relationships eg enclosure, containment

Page 11: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

Generated tool – performance eng tool

Architecture spec

End user interaction spec

Page 12: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

Marama basic requirements

• Need to be able to specify/generate: Metamodel Icons and connectors Views and view to model mappings

View – model consistency

– Behaviour• Constraints, operations

– Model transformations• Backend code generation• Tool integration

Page 13: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

MaramaTatau – model level constraints

• Specification of behaviour always difficult in meta modellers– Initial approach – Java event handlers– Clumsy to write, need detailed API knowledge etc

• MaramaTatau allows constraints to be specified as OCL expns over the meta model– Textual OCL expression– But constructed using spreadsheet approaches– Click and connect– High level visual repn

Page 14: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

Constraint construction

Grey border annotationssensible to use in formula

Green arrow annotationsformula dependencies

Formulaconstructionarea

Built in functionpalette

Green circle annotationsformula for this attribute/entity

Page 15: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

MaramaMTE example

Page 16: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

Constraint violation

Critic mechanism

Page 17: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

Visual constraints in views

• Can add some predefined layout constraints in view specification (eg containment)

Page 18: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

Visual constraints in views

• Kaitiaki: visual event flow language for expressing view level constraints/operations

• Dataflow oriented– Push and pull

• Implemented in Pounamu– currently being

ported into Marama

Page 19: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

Marama basic requirements

• Need to be able to specify/generate: Metamodel Icons and connectors Views and view to model mappings

View – model consistency

Behaviour Constraints, operations

– Model transformations• Backend code generation• Tool integration

Page 20: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

MaramaTorua –visual mapping/ model transformation specn and generation

Mapping specs

Generated XSLT

HierarchicalschemaElement

mappings

Mapping formula

Page 21: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

MaramaTorua

Semi-automated mapping spec

Form basedmapping spec

Page 22: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

Installing mapping into a Marama tool

Page 23: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

Marama basic requirements

• Need to be able to specify/generate: Metamodel Icons and connectors Views and view to model mappings

View – model consistency

Behaviour Constraints, operations

Model transformations Backend code generation Tool integration

Page 24: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

Example tools

• Marama metatools• MaramaMTE• MaramaTorua

• MaramaEML – business process modeller• MaramaDPML – design pattern tool• Healthcare plan specification (& mobile

deployment)• Various industry rapid prototypes

Page 25: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

MaramaEML

Page 26: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

MaramaDPML Tool

Page 27: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

Evaluation

• A variety of evaluation approaches• Use of Cognitive Dimensions to:

– Inform design and – Undertake lightweight evaluation

• Experience of use in designing and implementing systems• Small group survey based usability evaluations

– Primarily of generated tools and tool extensions• Large group use with PG CS/SE students

– (~ 80 participants)– Extended tool development exercise– Survey based evaluation of core meta tool– Results currently being processed – look good

• Consistent with similar series of surveys undertaken with Pounamu

Page 28: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

Sutcliffe’s Design metadomain model

(from (Sutcliffe 2002))

MaramaSketch

MaramaCSCW

MaramaCritic

Page 29: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

Where to?

(from (Sutcliffe 2002))

Modelling->visualisation

Capturing & reusing ip

Better integration withprocess/KM tools: visual wiki

Plug in to UM domainknowledge development Work …

Use to develop tools!

Page 30: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

Summary

• Have described Marama– Meta tool for multi-view modelling tool– Extensions to support

• Model transformation• Sketching• Tool critic authoring• Collaboration

– Applications• Performance Engineering• Model mapping• etc

Page 31: Marama: an Eclipse-based meta-tool for generating multi-view ...Pounamu 2003 Kea 1989 Marama 2006/7 Marama - goals • Make modelling tool implementation easy for: – Experienced

Credits

• Prof John Grundy• Assoc Prof Robert Amor• Dr Beryl Plimmer• Dr Gerald Weber• Karen Liu• Jun Huh• Richard Li• Rainbow Cai

• Funding from New Zealand Foundation for Research Science & Technology