Multi-level modeling with MELANEE
A Contribution to the MULTI2018 Challenge
Arne Lange, Colin Atkinson
Multi-level modeling with MELANEE A Contribution to the MULTI2018 - - PowerPoint PPT Presentation
Multi-level modeling with MELANEE A Contribution to the MULTI2018 Challenge Arne Lange, Colin Atkinson The Challenge model a bicycle shop in a multi-level fashion fulfill requirements, if necessary with the help of a constraint language
Arne Lange, Colin Atkinson
Software Engineering Group 2
model a bicycle shop in a multi-level fashion fulfill requirements, if necessary with the help
solve some particular problems in the multi-
showcase strengths and weaknesses of
Software Engineering Group 3
supports a deep dialect of MLM
OCA (Orthogonal Classification Architecture) deep instantiation
potency
strict
no leap potency etc.
UML-like look and feel (LML)
graphical
Software Engineering Group 4
Linguistic Meta-models
LML (Level-Agnostic Modeling Language) deep OCL variant
Enumeration Types
“Material” “CyclistSize”
Constraint
PAN-1
O0 O1 O2 O3
Software Engineering Group 5
A
Hyponyms
E:A A
Isonyms
E:A
a:Integer a:Integer a:Integer a:Integer b:Integer
Software Engineering Group 6
ensuring the strictness of MELANEE
only isonymic instantiation
context is the DeepModel and allows for a
Software Engineering Group 7
basic concepts related to customers/products
Software Engineering Group 8
product categories exploits durability
invariant constraints
Software Engineering Group 9
ChallengerA2XL configuration level all invariant constraints must hold here
Software Engineering Group 10
ChallengerA2XL instance Invoice is read-only all invariant constraints must hold here
Software Engineering Group 11
ProfessionRacingBikeConf.:Product revenue: Real = O1 O3 1341230:ChallengerA2XL price: Real = 4999.00 SusanStorm0:HumanCustomer
4299.00
allInstances different for each
date is not a data type but a string
Invoice0 price:Real= 4299.00 date:String=19.09.2017
Software Engineering Group 12
clabject duality and durability/mutability
allow an attribute abstraction to store different data for
e.g. revenue, averageRegularSalesPrice
reflective and level aware/spanning constraints
e.g. enforcing strictness, top seller constraint
Linguistic and ontological classification
allows non-ontologically typed clabjects
e.g. ProfessionalRaceFrame
Software Engineering Group 13
redundant instantiation of clabjects
e.g. Invoice, Customer
PeterParker (as CategoryManager) clabject
BicycleCategory clabject (O1) is actually an
Software Engineering Group 14
ProfessionalRaceFrame2 material2:MATERIAL topTubeLength2:Integer downTubeLength2:Integer seatTubeLength2:Integer ProfessionalRaceFrame2:Component material2:MATERIAL topTubeLength2:Integer downTubeLength2:Integer seatTubeLength2:Integer height2:Real = 1 size2:Real = 1 usn2:String = 2 weight2:Real = 1 colour2:String = 2
Isonym without an
Hyponym with an
additional attributes
Frame2:Component height2:Real = 1 size2:Real = 1 usn2:String = 2 weight2:Real = 1 colour2:String = 2
Software Engineering Group 15
completely covered all requirements
in a precise and concise way
did not exploit the MELANEEs DSL features in the future:
Make MELANEE more flexible
Allowing multiple modes of conformation (eg. strict
Enhance MELANEE with TREACL
Transformation, Reason, Enquiry, Action, Constraint – Language
Software Engineering Group 16