Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Dei
ßenb
öck
An
Activ
ity-B
ased
Qua
lity
Mod
el fo
r Mai
ntai
nabi
lity
F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F. Girard
An Activity-Based Quality Model for MaintainabilityOctober 3rd 2007ICSM 07 Paris
�
Dei
ßenb
öck
An
Activ
ity-B
ased
Qua
lity
Mod
el fo
r Mai
ntai
nabi
lity
MaintenanceRequirements: Business Processes, Functions, …
Technology: Hardware, OS, Languages, Tools, DBs, …
Software System
XBuilderbuilderMap : HashMap
addBuildlet (in buildlet:Buildlet)
createComponent (in element : DOMElement, in parent : Component) : Component
Buildlet
setBuilder()
responsibleFor() : String
createComponent()
#builder
VisualBuildlet
setBuilder()
responsibleFor() : 'visual'
createComponent()
#builder
LabelBuildlet
setBuilder()
responsibleFor() : 'label'
createComponent()
#builder
1
throttle sensor
throttlecommand
speed sensor
throttle
engine speed
EGO
MAP
fuel rate
fuel ratecontroller
engine speed
throttle angle
fuel
o2_out
MAP
air/fuel ratio
enginegas
dynamics
enginespeed
air/fuelmixture ratio
300
NominalSpeed
Metered FuelMAP sensor
700High
Speed(rad./Sec.)
EGO sensor
0
0
12
0
private boolean testAndSplit(int refWordEnd, Object nextCharacter) { if (currentNode < 0) { // trap state is always end state return true; }
if (refWordEnd max_ego]/Sens_Failure_Counter.INC
[t > o2_t_thresh]
~Activities
�
Dei
ßenb
öck
An
Activ
ity-B
ased
Qua
lity
Mod
el fo
r Mai
ntai
nabi
lity
Hierarchical Quality Models
* B. W. Boehm et al., Characteristics of Software Quality, 1978
Maintainability Testability
Understandability
Augmentability
Structuredness
Communicativeness
Accessibility
Self-Descriptivness
Conciseness
Legibility
Criticism Homogeneity
Justification
T Assessment
Operationalization
3
Dei
ßenb
öck
An
Activ
ity-B
ased
Qua
lity
Mod
el fo
r Mai
ntai
nabi
lity
Analysis
Implementation
Testing
Delivery
Coding
Integration
Unit Testing
Integration Testing
Preparation
Installation
Impact Analysis
Identify ElementsTo Modify
Maintenance
Situation
Infrastructure
Organization
Product
Tools
Knowledge Base
Fluctuation
Skills
Documentation
Dynamics
Static Aspects
Separation of Activities & Facts
Activities Define costs
Depend on maintenance task
Facts FCM-like but without activities
Includes organizational aspects
4
Dei
ßenb
öck
An
Activ
ity-B
ased
Qua
lity
Mod
el fo
r Mai
ntai
nabi
lity
Quality Matrix
Maintenance
CodingConcept-LocationImpact-Analysis
ImplementationAnalysis
ConcurrencyRecursion
DebuggerRefactoring
CloningCode Format
Dyna
mics
Stat
ic As
pects
Tool sIn
frastr
uct .
Prod
uct
Situa
tion
5
Dei
ßenb
öck
An
Activ
ity-B
ased
Qua
lity
Mod
el fo
r Mai
ntai
nabi
lity
Attributes & Impacts
Entity
ActivityAttribute
Attributes Entities: objects we observe in the real world
Attributes: properties that an entity possesses
Fact: Tuple (Entity Attribute)
Example: [Switch Statement | coMPleteNess]
Types: automatic: »Switch must have Default« semi-automatic: Redundancy, Dead Code manual: wrong Algorithm
Impacts Impact of a fact on a activity
Impact: [Entity e | attRibUte a] [Activity a]
Example: [Switch Statement | coMPleteNess] [Modifi cation]6
Dei
ßenb
öck
An
Activ
ity-B
ased
Qua
lity
Mod
el fo
r Mai
ntai
nabi
lity
Case Study IMAN Nutzfahrzeuge Group Germany-based international supplier of commercial vehicles and transport
systems
> 34,000 employees, ~ 150 in electronics and software development
Focus on embedded systems
Simulink/Stateflow Model-based simulation/development suite for embedded systems
Simulink has its focus on continuous control engineering
Stateflow is a dialect of statecharts
C-Code generation with TargetLink by dSpace
Combination is widely used in the automotive domain
7
Dei
ßenb
öck
An
Activ
ity-B
ased
Qua
lity
Mod
el fo
r Mai
ntai
nabi
lity
Case Study II Objective: Quality model for Simulink/Stateflow development at MAN
Sources MathWorks documentation MAN-internal guideline MAAB guideline (MathWorks Automotive Advisory Board) dSpace guideline Expert know-how Studies on model-based development in general
Basis: Quality model development for business information systems
Example
»The current state of a Stateflow chart must be available as a measurable output.«
[Stateflow Chart | accessibility] [Debugging][Stateflow Chart | accessibility] [Test]
8
Dei
ßenb
öck
An
Activ
ity-B
ased
Qua
lity
Mod
el fo
r Mai
ntai
nabi
lity
Results Consolidation of Terminology
Inconsistent naming across all sources and within MAN Quality model enforces consistent naming
Resolution of Inconsistencies MAAB: »Implicit event broadcasts […] and implicit conditions […] make
the diagram easy to read and the generated code more efficient.« dSpace: »The usage of implicit events is therefore intransparent concer-
ning potential side effects of variable assignments or the entering/exi-ting of states.«
Revelation of Omissions Attribute inheritance fosters completeness Example: [Stateflow Variable | locality] and [Variable | locality]
Inclusion of the model into the MAN standard development process
9
Dei
ßenb
öck
An
Activ
ity-B
ased
Qua
lity
Mod
el fo
r Mai
ntai
nabi
lity
Operationalization
Quality Model
QualityEngineer
Analysis
Artifact
reviews
analyzes
interprets
designs
Guide-line
generates
QualityEngineer
(Code)
adheres to
reads
reviews
QMM.editor10
http://www4.cs.tum.edu/~ccsm/qmm/
Quality-Pro� le
generates
Tool
interprets
de� nes
con� gures
designs
http://conqat.cs.tum.edu
Dei
ßenb
öck
An
Activ
ity-B
ased
Qua
lity
Mod
el fo
r Mai
ntai
nabi
lity
Conclusions & Future WorkConclusions Up to now there is no sound and accepted definition for maintainbility
Activities should be a first-class citizen in quality modeling
Quality models need to operationalized
Modeling quality is modeling
Future Work Application of our approach for other quality attributes
Unification of currently isolated approaches to quality
Tailoring/Modularization of quality models
Goal: Truly economically justified practice of quality engineering
��