engineering process transformation to manage (in)consistency in complex systems
TRANSCRIPT
Engineering Process Transformationto Manage (In)consistency
in Complex Systems
Istvan David, Joachim Denil, Hans Vangheluwe
Tallinn, 16.06.2016.
Motivation
To engineer complex systems
…correctly …efficiently== product satisfies required properties
== minimize the cost of the development process
Engineering Systems is Hard!
Modeling
Increased complexity
Interplay between disparate domains
Inconsistencies
Engineering Systems is Hard!
Modeling
Increased complexity
Interplay between disparate domains
Inconsistencies
Inconsistencies
An inconsistency is present if two or more statements are made that are not jointly satisfiable [such as a] failure of an equivalence test, non-conformance to a standard or constraint and the violation of physical or mathematical principles (Herzig)
Rather than thinking about removing inconsistency we needto think about “managing consistency” – Finkelstein
Rather than “managing consistency”, we needto think about ”managing inconsistency” – Our approach
Characterization
Detection Tolerance Resolution Analysis
How to deal with them?
Tolerance
Approach
Explicitly modeled processes
in conjunction with properties
Model the process
Characterize inconsistencies
Transform the process
Goal 1: Managepotential inconsistencies
Goal 2: Minimize costs
Weave in management patterns into the process
Quantify optimality
Apply optimization patterns on the process
Explicitly modeled processes
• Appropriate process modeling formalism?• FTG+PM
• We need properties there as well!• Relate activities to (semantic) properties
Model the process
Characterize inconsistencies
Transform the process
L. Lúcio, S. Mustafiz, J. Denil, H. Vangheluwe, and M. Jukss. FTG+PM: An Integrated Framework for Investigating Model Transformation Chains. In SDL 2013: Model-Driven Dependability Engineering, volume 7916 of LNCS, pp 182–202. Springer, 2013
ProcessLanguages
MTs
Typing
Control flow
TypingFTG PM
Pro
perties
Typing Intent
Intent: The purpose of activity of enhancing the system, w.r.t. a property or a set of properties.
Relationships
Costs
Data flow
Characterization of inconsistencies
Model the process
Characterize inconsistencies
Transform the process
Typical inconsistency pattern:1. Activity a1 reads property p12. Activity a2 modifies property p23. p2 influences p1 (due to dependencies in the semantic domain)
Influence relationships are transitive
Relationship directions:• Directed• Undirected
Property relationships are present due to dependencies…both on the linguistic level and in the semantic domain
BatteryMass + MotorMass = TotalMass
BatteryCapacity ≥ ∫ CurrentDrawn d(t)
…or a-causal?
Always directed and causal!
Process transformation
Model the process
Characterize inconsistencies
Transform the process
Inconsistencies Managementtechniques
We have now: characterization of inconsistencies
We still need: management patterns
Rule-based multi-objectivedesign space exploration (DSE)
Transform the process so that…• as many as possible inconsistencies are managed• the process is the most efficient one in terms of costs
Managing inconsistencies
Model the process
Characterize inconsistencies
Transform the process
• Stochastic simulations: event queueing networks (EQN)
Inconsistencies Managementtechniques
Applying a management pattern==
executing a model transformation
(ideally) 0 matching graph patterns
Minimal cost
• Deterministic simulations: fixed loop iterations
Graph queries
Rewrite rules
LHS
RHS
Optimization rules
Prototype
DSM formalism extended by semantic dependencies
Eclipse-based toolingGraphical modeler: SiriusMT, DSE: VIATRA
Inconsistency catalogue andmanagement catalogue
readModifySharedProperty,
…
…
Missing pieces
• Cost model refinement• Multiple dimensions/types of costs
• Evolving costs as the process proceeds
• The notion of resources• Automated, human – both have costs and can be constrained
• Optimization extended by job scheduling aspects
• Resolution scheduling
• Intrinsic inconsistencies• Missing property relationships, missing intents, superfluous elements, etc
• Via ontological reasoning