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

F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F ... · Deißenböck An Activity-Based Quality Model for Maintainability F. Deißenböck, S. Wagner, M. Pizka, S.Teuchert, J.-F

  • 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

    ��