esp is intellectual property of milan ignjatovic. all rights reserved. no part of this publication...

26
ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission by the author Milan Ignjatovic. ESP Product Line Engineering SSSE / INCOSE January 19, 2015 Milan Ignjatovic

Upload: allan-watkins

Post on 28-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

ESP Product Line Engineering

SSSE / INCOSE

January 19, 2015

Milan Ignjatovic

Altran Group

2

Give life to our clients' projects and boost their performance through technology and innovation.

1 633 m€TURNOVERin 2013

21 000employeesin 2013

25+COUNTRIES

“ “ Identity

Altran is an international group and global leader in innovation consulting and advanced engineering.

… Close to Our Customers

Altran in Switzerland

Since 1992

200 employees (beginning 2013)

100% part of the Altran Group

We share innovation without borders across solutions, industries & geographies

Revenues CHF 32 m (2012)

5 locations: Geneva, Zurich, Lausanne, Clarens-Montreux, Basel

3

4

Our servicesA range of products and

services developed by the practices

"Industries" and "Solutions“ both locally

and internationally.

Aerospace, Defense & Railway

Energy, Utilities,

Industry & Life Sciences

Automotive, Infrastructure & Transportation

Telecoms & Media

Financial Services &

Public sector

27%22%

20% 18%11%

Our 5 global solutions

Intelligent Systems

Mechanical Engineerin

g

Product Developmen

t

Lifecycle Experience

Information Systems

Altran, partner of key players in key markets.

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

Agenda

A.Product Lines and related Problems

B.Hard Facts

C.Proposed Solution

D.Demo

E. Q & A

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

6ESP is Intellectual Property of Milan Ignjatovic.

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior

written permission by the author Milan Ignjatovic.

Product Lines and related Problems➲ A software product line:

➲ Satisfies specific needs of a particular market domain or mission

➲ Is developed from a managed set of assets in a prescribed way

➲ Is a set of software-intensive systems that share a common core and a set of features

➲ Problems:➲ Silo or vertical products, One-Size-Fits-All➲ Dependency of PL Complexity on the #Products:

➲ Typically exponential in character➲ This is the “Fatal Systemic Risk” that limits your

PL Capacity and Life Expectancy➲ Root cause: unmanaged complexity

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

7ESP is Intellectual Property of Milan Ignjatovic.

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior

written permission by the author Milan Ignjatovic.

Question

How to scale COMPLEXITY

and mitigate the Fatal Systemic

Risk?

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

Agenda

A.Product Lines and related Problems

B.Hard Facts

C.Proposed Solution

D.Demo

E. Q & A

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

9ESP is Intellectual Property of Milan Ignjatovic.

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior

written permission by the author Milan Ignjatovic.

Hard Facts➲ Following slides show some “cited

improvements” by companies adopting Software Product Line Engineering practices

➲ Source, “Catalogue of Software Product Lines” on the renowned SEI web site:http://www.sei.cmu.edu/productlines/casestudies/catalog/index.cfm

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

10ESP is Intellectual Property of Milan Ignjatovic.

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior

written permission by the author Milan Ignjatovic.

Catalogue of Software Product Lines 1➲ ABB, gas turbines, train control:

➲ Shorter development time, higher code quality, cost savings

➲ Boeing, bold stroke avionics:➲ Improved affordability, quality, system timeliness

➲ Siemens, software for quantifying radiological images:➲ Reduction of unplanned dependencies➲ Resilience to unanticipated changes➲ Reduction of Development Cycle Time: ~25%

➲ Nortel, digital loop carriers:➲ Reduced life cycle time by 45%

➲ Deutsche Bank, financial global transactions:➲ $4M/year cost savings

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

11ESP is Intellectual Property of Milan Ignjatovic.

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior

written permission by the author Milan Ignjatovic.

Catalogue of Software Product Lines 2➲ Hewlett Packard, firmware for computer peripherals:

➲ Products built with 1/4 of the staff, in 1/3 of the time, and with 1/25 the number of bugs of earlier products

➲ Complexity up 10x, number of products up 10x, time to market decreased by factor of 2

➲ Lucent Technologies, 5ESS telecom switch:➲ Productivity improved: 3x - 5x➲ High reliability and performance

➲ Bosch, automotive gasoline systems:➲ 25% less memory consumption➲ Reduction of calibration and maintenance effort: -

20%➲ Reduction of resource consumption: 20% - 30%➲ Product line definition reflecting market variance

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

Agenda

A.Product Lines and related Problems

B.Hard Facts

C.Proposed Solution

D.Demo

E. Q & A

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

13ESP is Intellectual Property of Milan Ignjatovic.

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior

written permission by the author Milan Ignjatovic.

ESP: Objectives of the Proposed Solution➲ Provide a better foundation for PL development by managing

Complexity using an automated PL Development Environment (project code name = ESP)

➲ Provide a Methodology (incl. Tool Support) to:➲ Create and maintain a comprehensive & manageable

PL organization➲ Enable extreme reuse of PL elements:

Isolate and preserve PL element semantics➲ Allow 3rd party and legacy code to be used➲ Supports an incremental and iterative approach ➲ ESP is a non-disruptive technology

➲ Objective: to linearize the Exponential Dependencyof Complexity vs. #Products (or effort, time, budget…)

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

14ESP is Intellectual Property of Milan Ignjatovic.

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior

written permission by the author Milan Ignjatovic.

ESP: Methodology for Complexity Management➲ ESP is founded on the PL Model Repository of 4 Part Types➲ Definitions: Part is a well-isolated and semantically stable PL

Element1) CPs: Core Parts

set of common Parts for a single PL2) IPs: Interchangeable Parts

there is a unique combination of IPs per product3) PsPs: Product-specific Parts, unique Parts per product4) BSs: Binding Specifications

encapsulates information needed for variability management and programmatic wiring of Parts into Target Architectures

➲ Uses MBSE and the holistic view to manage PL Complexity:➲ Provide formal and complete descriptions of PL Elements ➲ Apply programmatic processing of PL Elements to populate

the target PL➲ ESP is a solution for automated PL development

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

Pro

duct Lin

e M

odel R

eposito

ry

Core Parts

Interchangeable Parts

Product-specific Parts

Analysis PL

Parts: Populating the Model Repository

15

ProductA

ProductB

ProductC

BS

BS BS BS

BS BS

BS BS BS BS

Step1: finding

products and parts

Step2: getting well organised

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

Target PL

Products: Populating the Target PL

16

ProductA

ProductB

ProductCProduct-Part Matrix

ProductA:

ProductB:

ProductC:…

Matu

re P

LMR

CPs

IPs

PsPs

TPL

PLMR

PPS

System Builder

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

ESP: System Builder

17

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

18ESP is Intellectual Property of Milan Ignjatovic.

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior

written permission by the author Milan Ignjatovic.

ESP Development / Target Platform Stack

➲ Target OS:Win32 / Win64,Linux, HP-UX,MercuryOS, Solaris, AIX,Cygwin, OSE,ARM-OS, Nucleus+,VxWorks, MqX,pSOS,

… and other general POSIX-compliant environments

HW

OS/Windows

Java VM

UML EditorsPapyrus, Topcased, RSA, (EA)

eUML FW&EnginePathmate, (fUML, ALF)

ESPProfiles, Composition Engine

HW

OS/Win32/Win6

Java VM

UML Editors (PIM)Papyrus, Topcased, RSA, Rational Rose, (EA)

eUML FW (PIM)PAL, (fUML, ALF)

ESPParts, Bindings, Profiles, System Builder Comp. Engine

Target Implementation Model: C, C++, Java

Target OS

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

19ESP is Intellectual Property of Milan Ignjatovic.

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior

written permission by the author Milan Ignjatovic.

ESP: Architectural Styles➲ Flat (simple sequential injection) architectures:

➲ Identify CPs, IPs and PsPs➲ Composition sequence: CPs, IPs and PsPs

➲ Hierarchical ESP architectures➲ Identify CPs, IPs and PsPs➲ Multiple Product-Part Matrix (PPM), one per Hierarchy Level (HL)➲ Composition sequence:

- PPM1: Inject IPs into CPs to obtain 1st HL hierarchy layer- PPM2: Inject IPs into 1st HL to obtain 2nd HL- PPM3: Inject IPs into 2nd HL to obtain 3rd HL- Proceed until all HLs are composed- PPMn: Compose prebuilt HLs into final architecture

➲ Using Features: Product2Feature Matrix & Feature2Part mapping➲ Pitfall: Speaking from Experience:

Managing too many PPMs and HLs may prove difficult!

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

Agenda

A.Product Lines and related Problems

B.Hard Facts

C.Proposed Solution

D.Demo

E. Q & A

21ESP is Intellectual Property of Milan Ignjatovic.

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior

written permission by the author Milan Ignjatovic.

Analysis of a PL: “Connected Machines”➲ Layered Architectural Style with Real-Time Framework➲ Basic Machine consists of: Node, Shield, Incisor and Propulsor(s)➲ Propulsors may use different Thruster types e.g. IonThruster

➲ Machines Swarm: create higher-order functionality by connecting multiple Basic Machines together using 2 topologies:

➲ Linear topology OR Star topology➲ Machine Swarm: view structure in a graph➲ Machine Swarm: pub/sub real-time information to the Internet➲ Machine Swarm: publish info to a user group (legacy code sample)➲ Machine Swarm: browser real-time animation➲ Machine Swarm: control Machine Swarm formation and its behavior

➲ Test Driver to test Machine and Swarm Interfaces➲ Create Products according to Product-Part Specification

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

Agenda

A.Product Lines and related Problems

B.Hard Facts

C.Proposed Solution

D.Demo

E.Q & A

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

24ESP is Intellectual Property of Milan Ignjatovic.

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior

written permission by the author Milan Ignjatovic.

ESP: Variability Management➲ Structural Elements as Containers of Variability on 3 levels:

➲ L1: Product-Part Specification:Use Specs to define which Parts constitute a Product

➲ L2: Part Types:- CP: no product Dependency- IP: multiple product Dependencies- PsP: single product Dependency

➲ L3: Binding Specifications- Manages binding as well as variability of Parts using standard PL mechanisms e.g. Variation Points- BSs act as Variability Containers

➲ World without explicit Variability Containment:➲ VPs scattered throughout the whole system (no

hierarchy)➲ Higher complexity ➲ Limited reuse

➲ ESP is based on Software Composition Technology

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

25ESP is Intellectual Property of Milan Ignjatovic.

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior

written permission by the author Milan Ignjatovic.

Machines: building Systems of Systems (SoS)➲ Start with System Analysis

➲ Commonality vs. Variability Analysis➲ Identify common functionality: CPs➲ Look for repeatability vs. non-repeatability patterns: IPs,

PsPs➲ Strive to achieve extreme reusability of Parts: more IPs, less PsPs➲ Define a manageable granularity of Parts for the complete PL:

i.e. not too few and not too many: [10-100]➲ Define target PL Architecture e.g. layered architectural style:

HW, Drivers, BOs, Domain Services, System Services (SoS)➲ - Add core and main Interchangeable Parts to create and test the

PL:initially you will test manually and then automatically

➲ - Create an executable architectural baseline➲ - Add more Parts to connect and create SoS made up of machine

clusters with emerging capabilities (new Business / Use Cases)➲ - Iterate until all use cases are implemented:

execute, test and create system baselines as you manipulate Parts

ESP is Intellectual Property of Milan Ignjatovic. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,

in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the priorwritten permission by the author Milan Ignjatovic.

26ESP is Intellectual Property of Milan Ignjatovic.

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior

written permission by the author Milan Ignjatovic.

ESP: Solution Applicability➲ ESP is a non-disruptive technology

➲ Start with a small number of large Parts and progress iteratively➲ Large Parts can be refined into fine-grained Parts anytime needed➲ Interfaces to external/legacy code are wrapped up in models and

reused as Parts e.g. Corba legacy code➲ Of course, green field PL projects are well supported by ESP

➲ Applicable for mature PLs striving for managed complexity➲ Re-engineering / porting of existing PLs to ESP➲ Results in lower complexity and a boost to your PL content

➲ Applicable for end-of-life PLs➲ Here, PL requirements are well known i.e. risks are reduced

➲ System Builder and UML profiles are extendable by the client➲ Pitfall: If you do not manage well the requirements of your high

complexity PL, then the risk is that major changes to your requirements will require substantial refactoring of your PLMR!