Developing a tool for
model-driven development
in Eclipse
Hrvoje Šimić
Capability as a Service
FP7 project
2013-2016
Context
informationKPIs
Goals
Capabilities
Modelling
&
developing
Runtime
adjustment
DESIGN TIME RUNTIME
Monitoring
runtime context data
Processes
Capability
Context
Platform
(CCP)
runtime adjustment & monitoring
(CNA)
Capability
Design Tool
(CDT)
business
application
(CDA)
data
providers
context
data
context
metadata
data
CaaS
environment
architecture
model
repository
pattern
repository
class Capability metamodel
Capability
Goal
Indicator
Context
Indicator
KPI
Context Set
ProcessProcess VariantCapability
Delivery
Pattern
Context
Element Range
Measurable
Property
Context
Element
Context
Type
ResourceContext
Situation
Context
Element Value
0..*
↑ supports
1..*
0..*
↑ measured by
0..1
1..*
← measured by
0..1
1 1..*
1..*
↓ influences
0..*
*
→ fulfills
1
0..*
↑ supports
1
1..*
↓ used for
1..*
1 *
1
↓ has
0..*
1..*
↓ motivates
1..*
1..*
↑ consists of
1
1
← designed for
0..*
1
↑ used for
0..1
11..*
1
↑ consists of
1..*
11..*
1
↓ has
1..*
1..*
→ measures
0..1
CaaS CDD methodology meta-model
class Goal extends IntentionalComponent,
ConceptRefersToEnd,
CapabilityRequiresEnd
{
op String compType() {
return "Goal"
}
refers Process[1..*] processes
LevelType criticality
LevelType priority
refers Refinement[0..1] refinement opposite output
refers Refinement[] refines opposite inputs
refers KPI[1..*] kpis opposite goals
}
Meta-model concepts written
in Xcore
Demo…
slides by Hrvoje Šimić / icons by EmojiOne / logos by respective project

Developing a tool for model-driven development in Eclipse