F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F ...€¦ · F. Deißenböck, S. Wagner, M....

11
Deißenböck An Activity-Based Quality Model for Maintainability F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F. Girard An Activity-Based Quality Model for Maintainability October 3 rd 2007 ICSM 07 Paris

Transcript of F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F ...€¦ · F. Deißenböck, S. Wagner, M....

Page 1: F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F ...€¦ · F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F. Girard An Activity-Based Quality Model for Maintainability

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

Page 2: F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F ...€¦ · F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F. Girard An Activity-Based Quality Model for Maintainability

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

<!-- Compile sources in source folder to build folder. Compilation is logged in ${compile.log.file} --> <target name=“compile“ depends=“mkdirs, init“ description=“STD-ENV: Compile Java sources.“> <javac srcdir=“${src.dir}“> <compilerarg value=“-Xlint:all“ /> <compilerarg value=“-Xlint:-serial“ /> <classpath refid=“classpath“ /> </javac> </target>

private boolean testAndSplit(int refWordEnd, Object nextCharacter) { if (currentNode < 0) { // trap state is always end state return true; }

if (refWordEnd <= refWordBegin) { if (nextNode.get(currentNode, nextCharacter) < 0) { explicitNode = currentNode; return false; } return true;

Oxygen_Sensor_Mode

O2_normalentry: fail_state[O2] = 0;

O2_warmupentry: fail_state[O2] = 1;

O2_failentry: fail_state[O2] = 1;

[Ego < max_ego] /Sens_Failure_Counter.DEC

[Ego > max_ego]/Sens_Failure_Counter.INC

[t > o2_t_thresh]

~Activities

Page 3: F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F ...€¦ · F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F. Girard An Activity-Based Quality Model for Maintainability

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

Page 4: F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F ...€¦ · F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F. Girard An Activity-Based Quality Model for Maintainability

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

Page 5: F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F ...€¦ · F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F. Girard An Activity-Based Quality Model for Maintainability

Dei

ßenb

öck

An

Activ

ity-B

ased

Qua

lity

Mod

el fo

r Mai

ntai

nabi

lity

Quality Matrix

Maintenance

CodingConcept-Location

Impact-Analysis

ImplementationAnalysis

ConcurrencyRecursion

DebuggerRefactoring

CloningCode Format

Dyna

mics

Stat

ic As

pects

Tool sIn

frastr

uct .

Prod

uct

Situa

tion

5

Page 6: F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F ...€¦ · F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F. Girard An Activity-Based Quality Model for Maintainability

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

Page 7: F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F ...€¦ · F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F. Girard An Activity-Based Quality Model for Maintainability

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

Page 8: F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F ...€¦ · F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F. Girard An Activity-Based Quality Model for Maintainability

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

Page 9: F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F ...€¦ · F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F. Girard An Activity-Based Quality Model for Maintainability

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

Page 10: F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F ...€¦ · F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F. Girard An Activity-Based Quality Model for Maintainability

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

Page 11: F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F ...€¦ · F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F. Girard An Activity-Based Quality Model for Maintainability

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

��