Summer Project Marama2008
By Robert and Johnson
What is Marama?Marama is an Eclipses based toolset
permits rapid specification of notational elements, meta-models, view editors and view-model mappings.
◦ A tool generates other tools◦ Eclipses Plug-in (JAVA)◦ Usage: construct basic visual modellers fast◦ more accessible approach to domain specific visual
language specification than other meta-tools
A Class Diagram Tool
How is Marama workingModelling Steps:
Meta-Model-designer
ShapeType Designer
View Mapping Designer
View Type
View mapping
Generate
End Tool Diagrams
Is used for
Entity.xml
Association.xml
Shape.xml
Connector.xml
Any Diagrams!Marama could generate any diagram you
want to have, in a few hours, amazingly!Proof?Download:
https://wiki.auckland.ac.nz/display/csidst/Downloads
Project ObjectivePart 1:
Extend existing example tools that were available for Marama.
Part 2:enhancing meta-tool capabilities by introducing new visual notations and user interactions.
Main WorkProgrammingDebugging DesigningTestingDocumentations
ChallengesTraining on Marama Both of us have limited experience in JavaNo UML diagrams to analysisEclipses LibrariesUncommented codeBugs
◦ pre-existing◦ Our own creation
Part1: Improving existing toolsMarama Sudden
◦ Used for Supply Chain Management Tool
Marama FB◦ Function Block Designer Tool
Both tools are developed by other research students.
Both with a few bugs.Some of the features were not working.
OutcomesFixed lots of Layout bugsAdded some event handlers to improve the
interactionThese tools are much better than beforeTraining on Marama and Eclipse IDE Transformation to new version of Marama
New features on Meta-toolWe introduced some new features in
the newest version of Marama◦Association creation process◦Mapping creation process◦One step view mapping◦Naming shape in shape definer◦Setting defaults◦API for duplicate shape◦Button shape in shapes
Default settingsGive shapes unique key names when
createdMake sure 2 shapes don’t share a same
key valueImplemented by adding a new event
handler to the DiagramUnit Test
Button Shape in the shapesCreate a button in the Shape
DefinerA property value Link to an event
handlerEach time the button is pressed,
run the event handler Some new API added to constrain
the event handler