Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
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€
TURNOVER
in 2013
21 000
employees
in 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 services
A 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
IntelligentSystems
Mechanical Engineering
Product Development
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.
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.
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
6
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.
Question
7
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.
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.
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/casestu
dies/catalog/index.cfm
9
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.
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
10
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.
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
11
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.
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: 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…)
13
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: 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 Element
1) CPs: Core Partsset of common Parts for a single PL
2) IPs: Interchangeable Partsthere is a unique combination of IPs per product
3) PsPs: Product-specific Parts, unique Parts per product
4) BSs: Binding Specificationsencapsulates 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
14
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 L
ine 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
LM
R
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.
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 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
18
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.
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: 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!
19
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.
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
21
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.
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: 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
24
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.
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
25
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: 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!
26