The design of complex engineered systems requires the concerted effort of diverse stakeholders, each responsible for a part or an aspect of the overall problem. Inconsistencies emerge naturally when different parts of a system design are - often concurrently - modified without regard for their dependencies. Such dependencies range from easy to (automatically) detect to requiring costly simulations.In this presentation we make explicit the link between consistency management and design processes. Process models, in our work modeled with the Formalism Transformation Graph and Process Model (FTG+PM) formalism, are augmented with dependency information and cost estimates. These additional (domain-specific) information enable reasoning about and optimizing design processes. The core of such optimizations is embracing the presence of inconsistencies in the engineering process and instead of managing inconsistencies, rather than managing consistencies. The approach is illustrated with examples from a case study on a real industrial system: an automated guided vehicle.
2. Motivation
To engineer complex systems
…correctly …efficiently
== product satisfies
required properties
== minimize the cost of
the development process
3. Engineering Systems is Hard!
Modeling
Increased
complexity
Interplay between
disparate domains
Inconsistencies
4. 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 need
to think about “managing consistency” – Finkelstein
Rather than “managing consistency”, we need
to think about ”managing inconsistency” – Our approach
Characteriz
ation
Detection Tolerance Resolution Analysis
How to deal with them?
Tolerance
6. Approach
Explicitly modeled processes
in conjunction with properties
Model the
process
Characterize
inconsistencies
Transform the
process
Goal 1: Manage
potential inconsistencies
Goal 2: Minimize costs
Weave in management
patterns into the process
Quantify optimality
Apply optimization
patterns on the process
7. 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
Typing
FTG PM
Properties
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
8. Characterization of inconsistencies
Model the
process
Characterize
inconsistencies
Transform the
process
Typical inconsistency pattern:
1. Activity a1 reads property p1
2. Activity a2 modifies property p2
3. 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!
9. Process transformation
Model the
process
Characterize
inconsistencies
Transform the
process
Inconsistencies Management
techniques
We have now: characterization of inconsistencies
We still need: management patterns
Rule-based multi-objective
design 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
10. Managing inconsistencies
Model the
process
Characterize
inconsistencies
Transform the
process
• Stochastic
simulations: event
queueing networks
(EQN)
Inconsistencies Management
techniques
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
12. 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