marama: an eclipse-based meta-tool for generating multi-view ...pounamu 2003 kea 1989 marama 2006/7...
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/1.jpg)
Marama: an Eclipse-based meta-tool for generating multi-view graphical modelling toolsJohn Hosking
Department of Computer Science University of Auckland, New Zealand
![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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/28.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/29.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/30.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051512/603d2cad4e80ee56981a17b2/html5/thumbnails/31.jpg)
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