• No results found

Continuous Integration of service applications

N/A
N/A
Protected

Academic year: 2021

Share "Continuous Integration of service applications"

Copied!
44
0
0

Loading.... (view fulltext now)

Full text

(1)

Informationstechnik München

Excellence in Automotive Computing.

IFS Informationstechnik GmbH Trausnitzstraße 8 81671 München Sitz: München Registergericht: Amtsgericht München HRB 126547 Geschäftsführer: Dr.-Ing. Markus A. Stulle Dipl.-Ing. Thomas Frey

Continuous Integration

of service applications

Automotive Diagnostic Systems 2013 Dr.-Ing. Markus A. Stulle

IFS Informationstechnik München

(2)

Company and self-conception

 Founded in 1999, 50 employees

Portfolio: automotive engineering, cybernetics, development tools, process tools.

Since 2011 member of ASAM e.V.

 Supplier of the BMW Group since 2000

 “The best way to predict the future is to invent it.” (A. Kay)

Current priority: mobile applications based on Microsoft Windows Phone – “Mobile first!”.

(3)

ADS 2013

Continuous Integration

of service applications

 What is software quality?

 From discrete integration

to Continuous Integration (CI)

 Process tool Prometheus

 Test framework Anubis

of Serviceplattform Taurus®

 Vehicle emulator Virgo

(4)

What is software quality?

- indirect definition required

 Cross-disciplinary definition of errors by Martin Weingardt:

“In the face of an alternative, a subject understands the variant as error which - in terms the correlating context and a specific interest – is regarded as so disadvantageous that it appears to be undesirable”.

 Software quality

Use cases are fulfilled without errors

 Application gives a positive user experienceEfficiency in operation and maintenance.

(5)

ADS 2013

What is software quality?

- corollary

Implementation free of errors

not sufficient to achieve high software quality!

 Timely provision of proofs of concept as

primary objective (“speed is the essence!”)

Metrics for source code

 Suitable for an one time only “accuracy check”,

e.g. for the evaluation of offshore providers

 Unsuited for continuous quality management,

(6)

Error-free authoring of source code

- collaboration

 “Pair programming ” - two persons work together on the same

function in one session at one computer

 Higher likelihood that technical and functional errors

are recognized thanks to mutual monitoring

 Can make component test dispensable!

Disadvantages: personnel placement is at least doubled,

asymmetrical cooperation, little acceptance among employees!

 Groupware solution Collabode (MIT CSAIL) makes it possible to

(7)

ADS 2013

Error-free authoring of source code

- component tests

 Testing of the implementation of a software component F

with a defined function call f(x)

 Test scenarios T: Function arguments x have to cover

the co-domain as completely as possible

 Development of mock-ups laborious, comparison between

the expected and the actual results of the functions requires the knowledge and abilities of the developer of F

 According to the best practice the development of the

component and the test is carried out in disjunctive groups  Contradicts the demand for a short cycle time!

(8)

Causes of software errors

- lack of knowledge

Errors occur, because

 … some use cases haven’t been identified yet  … the paradigm or the technology is new  … some facilities of the platform are unknown  … the documentation is insufficient.

 … because there is a lack of knowledge

(9)

ADS 2013

Software for service applications

- axioms

Crisis of acceleration

All software projects suffer from  Missed deadlines

 Pressure to be innovative:

Mobile gadgets set the pace!

 Nobody makes mistakes due to want of care!

 All speak the same language

 Example “Taurus® spoken here”

(10)

Strategies for high software quality

- process models

 Software engineering, here: V-model

Basic approach: Once everything has been written down,

(11)

ADS 2013

Objective

to meet requirements precisely

Procedure

listing of all requirements, modeling of use cases, systematic elaboration of concepts

Characteristics

 Division into specification stage and implementation stage  Sequential development:

concept - specification - implementation - integration - testing

Process models

- V-model (I)

(12)

Disadvantages

 Strictly sequential: Defects, flaws, technological obstacles

won’t be detected until implementation or testing

 In the time between proof of concept and system integration,

the platform has often been developed further

 Merging of development

outputs takes place at a singularity

(“big bang integration”)

Process models

- V-model (II)

(13)

ADS 2013

Process models

- Simultaneous Engineering (I)

Objective

early detection of flaws in the specification

Procedure parallel stages  Characteristics

 Early implementation of development outputs  Mutual exchange

between the stages

concept / specification

implementation / integration system testing

(14)

Process models

- Simultaneous Engineering (II)

Discrete Integration

successive merging of development outputs

integration planning

integration

production

review

integration

candidate 1 candidate 2 integration candidate n integration candidate release

system test

(15)

ADS 2013

Discrete Integration

- revision control

trunk branches functional enhancements branches bugfixes integration implementing requirements and committing production system test

(16)

Discrete Integration

- disadvantages

 Implementation adheres strictly to the integration planning,

little scope for individual initiative

 It‘s difficult to determine the causes of errors via system

testing, since integration merges many different branches  Quantity structure of a service application “software repair”

 394 software modules over 2 million lines of source code

 265 test cases of system tests,

6477 test cases of regression tests in 40 test plans

Software components

(17)

ADS 2013

Continuous Integration

- concept

Objective to identify the origins of errors!  Procedure

abandon the use of development branches, timely integration of changes on all trunks

Characteristics

before each commit: production, installation and system testing

 At all times a state in which of

products are error-free and ready to be deployed

 J. Humble, D. Farley “Continuous Delivery: Reliable Software

(18)

Continuous Integration

- requirements and components

 Definition of an integration product

 Process tools for FMEA data base and risk assessment

 Automated production

 Production of software components is replicable thanks to

assembly according to bill of materials

 Automated distribution

and installation on target platform (“delivery”)

 Automated selection, execution and interpretation

(19)

ADS 2013

Continuous Integration

- evolutionary steps

 Introduce an issue for error correction

or functional enhancement

Changes of source code strictly adhere to the issue  Production of the correlative packages

 Process tool calculates system tests based on

the FMEA data base of the changed source code modules  Mounting of test constructions within the test framework,

performance and evaluation of relevant system tests

Commit of the changed modules

(20)

Process tool Prometheus

- FMEA data base

(21)

ADS 2013

Process tool Prometheus

(22)

Process tool Prometheus

- definition of use case

Use case requires a basic function

Functions are effected by source code modules

Modules are items of the bills of material

(23)

ADS 2013

Process tool Prometheus

- Risk assessment of a project

Radar charts facilitate the comparison of risks

Execution duration of the system tests due to be executed is known

Question“ Can the

functional enhancement be released in the

maintenance window?” can be answered easily!

(24)

Service application

- roles of the operator

 Role R1 – functioning as an actuator

Control variables of the application are communicated via the

user interface, e.g. in form of a text display “Turn the steering wheel to straight-ahead position!”

 Role R2 – functioning as a sensor

 The discrete measurands determined by the operator are also

communicated via the user interface, e.g. by pressing a button.

 Role R3 – functioning as a selector

(25)

ADS 2013

Control system of service application,

vehicle, VCI and operator

 Challenge: Roles R1, R2 and R3 of the operator are carried out

(26)

Control system of service application,

test framework Anubis and replicas

 Roles R1 and R2 from the operator model,

(27)

ADS 2013

Test framework Anubis

- implement system test case (I)

Implement system test: substitute Role R3 in ISOM/L

Prepare tracing of operating record

(28)

Test framework Anubis

- implement system test case (II)

Implement system test: assume Roles R1,2

Operating records – link situations and user input in the FMEA data base

Reproduction by Anubis in the automated

(29)

ADS 2013

Replicas for system tests

- vehicle emulator Virgo

 Discrete event dynamic system (DEDS) models

for control units taken from a “clean room approach”  Petri net as the form of modeling permits concurrency

 Emulation also replicates the electrical system of the vehicle

and the sensors

Hybrid emulation: Integration of CAN bus hardware

allows gradual transfer to real vehicle

 Replica of vehicle communication interface, e.g. SAE J2534.

Emulation description can be generated by Taurus®

(30)

Vehicle emulator Virgo

- example plug-in hybrid Durango

18 control units,

diagnostic protocol UDS

Vehicle access via ePlanet® , LTE and K-Line (ISO 9141) Service application based on ASAM/MCD Challenge: software updates “anywhere”!

(31)

ADS 2013

Virgo-GUI

- start of emulation (I)

Virgo-GUI uses Virgo as well as Anubis via web service interface

Interactive preparation of test scenarios

(32)

Virgo-GUI

(33)

ADS 2013

Virgo-GUI

(34)

Vehicle emulator Virgo

- enhancement “Reality Engine”

CVDS models for components, e.g. seat heating

DEDS models for driver, e.g. temperature perception

Parameters and events can be controlled by the test

(35)

ADS 2013

Vehicle emulator Virgo

- petri net of control unit INSTRUMENTS

Concurrency:

firing of T6 puts tokens on E1 and F3

Behavior of transitions can be controlled via web service at runtime

Even complex service situations can be constructed by

(36)

Vehicle emulator Virgo

- control unit memory model (I)

Service situations: control unit memory model allows replication of defective memory cells

(37)

ADS 2013

Vehicle emulator Virgo

- control unit memory model (II)

Software logistics:

Virgo can associate memory contents with applications

(38)

Vehicle emulator Virgo

- control unit memory model(III)

System dynamics:

time behavior of model is configurable

(39)

ADS 2013

Process tool Prometheus

- select system tests (I)

use cases

test coverage

(40)

Process tool Prometheus

- select system tests (II)

FMEA data base provides prognosis for overall duration of the system test cases

(41)

ADS 2013

Process tool Prometheus

- select system tests(III)

Presentation of reduced test coverage in tree map

(42)

Process tool Prometheus

- execute system tests

Parallel execution in test case groups with up to 5 vehicles

Emulations are

individualized by Anubis, e.g. by setting a VIN

Values of performance criteria are automatically computed and compared to former system tests

(43)

ADS 2013

Continuous Integration

- best practice

 At the very beginning: define an integration product,

automate production, distribution and installation

 Build a FMEA data base,

link use cases and system tests

 Provide replicas for operator and vehicle

 Implement system tests

 Develop functional enhancements within issues

 The commit of source code changes

(44)

We are looking forward to seeing you

at our exhibition stand!

 taurus@ifs-it.de, virgo@ifs-it.de, Tel.: 089 – 45 09 83 - 0  kontinuierliche-integration.de, continuous-integration.org © M ich ae l N ag y, Pre ss eam t M ün ch en

References

Related documents

After any counseling session, a letter is sent to the baby’s health care provider to review the information discussed, give the results of any family testing, and recommend

In particular, when the vendor’s Canadian tax owed on the disposition is zero (for example, because no gain is realized or because any gain is treaty exempt) or less than the amount

National Conference on Technical Vocational Education, Training and Skills Development: A Roadmap for Empowerment (Dec. 2008): Ministry of Human Resource Development, Department

The cargo conversion processes sketched above shows how the PM platform, project managers and engineers are involved in planning and execution of conversion projects.. Based on

In order to test the stability of reconstituted suspensions, the samples were kept at three controlled temperatures, namely room, refrigerated and elevated (40ºC)

As the monitoring location is upstream to the domestic waste water discharge points to Koel River, the water quality at the monitoring location remains at the Class C level..

Nevertheless, all the analyzed papers showed that the photoprotective effect of plant extracts rich in polyphenols, especially flavonoids and their additive and synergistic

19% serve a county. Fourteen per cent of the centers provide service for adjoining states in addition to the states in which they are located; usually these adjoining states have