Future-Proof Software-Systems(Zukunftsfähige Software-Systeme)
Frank J. FurrerFrank J. FurrerDr. sc. techn. ETH-Zürich
TU Dresden WS 2013/2014
Part 2 - BPart 2 - B
V0.81 / 26. 11.2013
Future-Proof Software-Systems:
A6: Reference Architectures,Frameworks and Patterns
Industrial Architecture
Copyright Frank J. Furrer 2013 2
EngineeringDiscipline
ArchitectureProcess
GovernanceInstrument
Structure
ArchitecturePrinciples
ArchitectureGuidelines &Best Practices
ArchitectureMetrics
ArchitectureStandards
BusinessArchitecture
ApplicationsArchitecture
Safety &Security
Architecture
IntegrationArchitecture
TechnicalArchitecture
StandardsEnforcement
TechnologyPortfolio
Management
ApplicationsPortfolio
Management
ServicePortfolio
Management
IT StandardsDevelopment
ComplexityManagement
Architect‘sTraining
Business-to-ITAlignment
ArchitectureCommunication
Future-Proof Software-Systems: Ref Archs & Patterns
Reference Architecture:
A reference architectureprovides a template solutionfor an architecture for aparticular application domain
- such as financial systems,automotive, aerospace etc.
Architecture Pattern:
An architectural pattern isa concept that solves anddelineates some essentialcohesive elements of asoftware architecture
http://en.wikipedia.org/wiki/Architectural_pattern
Reference Architectures, Architecture Frameworks, Architecture Patterns:
highly valuablesoftware/system architectureknowledge in proven & easilyaccessible form
Copyright Frank J. Furrer 2013 3
automotive, aerospace etc.
Architecture Framework:
An architecture frameworkestablishes a common practicefor creating, interpreting,analyzing and usingarchitecture descriptions withina particular application domain
[ISO/IEC/IEEE 42010]
Architectural_pattern
Future-Proof Software-Systems: Ref Archs & Patterns
Patterns
Architecture Pattern:
An architectural pattern is a concept that solves and delineates some essentialcohesive elements of a software architecturehttp://en.wikipedia.org/wiki/Architectural_pattern
Origin of Patterns:Christopher Alexander, 1977
Application to Software Architecture:Erich Gamma, Richard Helm,Ralph Johnson, John Vlissides, 1995(„Gang of Four“)
Copyright Frank J. Furrer 2013 4
http
://m
ihpatte
.com
/desig
n-p
atte
rns-b
y-g
am
ma
(„Gang of Four“)
Future-Proof Software-Systems: Ref Archs & Patterns
Example: Security Pattern „RBAC“ [Role-Based Access Control](Fernandez: Security Patterns in Practice, 2013, ISBN 978-1-119-99894-5)
accessDataUser
idname
ProtectionObject
idname
Role
idname
**
memberOf
Right
* *
isAuthorizedFor
Copyright Frank J. Furrer 2013 5
ROLE-BASED ACCESS CONTROL PATTERN:
The User and Role classes describe registered users and their predefined
roles. Users are assigned to roles, roles are given rights according to theirfunctions. The association class Right defines the access types that a
user within a role is authorized to apply to the ProtectionObject.
Right
accessType
checkRights
Future-Proof Software-Systems: Ref Archs & Patterns
Example: Broker Pattern(Buschmann et. al.: A System of Patterns, 1996, ISBN 0-471-95869-7)
calls
Client-sideProxy
send_request
*
*
Server-sideProxy
call_servicesend_response
calls*
*
Broker
register_servicefind_serverfind_clientforward_requestforward_response
transfermessage
* *
transfermessage
* *
uses
*usesAPI
usesAPI
Copyright Frank J. Furrer 2013 6
Server(Service Provider)
User
call_serverstart_taskuse_Broker_API
Server
run_serviceuse_Broker_API
* *
Bridge
pack/unpack dataforward_messagetransmit_message
uses
*
usesAPI
usesAPI
BROKER PATTERN:
This pattern is used to structure distributed systems with decoupledcomponents that interact by remote service invocations.
Future-Proof Software-Systems: Ref Archs & Patterns
Patterns are recorded architecture and design wisdomin „canonical“ form. Patterns help you build on thecollective experience of skilled architects and softwareengineers (Buschmann et. al. ISBN 0-471-95869-7)
Patterns
Patterns are not final, directly applicable solutions!Patterns are intellectual building blocks which mustbe intelligently integrated into your work
Copyright Frank J. Furrer 2013 7
Patterns are excellent documentation and communicationsinstruments. They are formal, clear and focussed
www.123rf.com
There is a rich literature about patterns.The future-proof software-system engineerneeds to continuously familiarize himselfwith this trove of architecture knowledge!
Future-Proof Software-Systems: Ref Archs & Patterns
Architecture Frameworks
Architecture Framework:
An architecture framework establishes a common practice for creating, interpreting,analyzing and using architecture descriptions within a particular application domain
[ISO/IEC/IEEE 42010]
Meta-Model
TemplatesTemplates
TemplatesPrinciples
Copyright Frank J. Furrer 2013 8
Architecture Methodology/Process Information Architecture
Technical Architecture
Integration Architecture
Applications Architecture
Business Architecture
ModelingNotation
ReferenceArchitectures
Architecture Organization Blueprint
Future-Proof Software-Systems: Ref Archs & Patterns
Example: TOGAF (1/2)[The Open Group Architecture Framework] http://www.togaf.org/
Process,Methodology
Deliverables,Artefacts
ReferenceModels
Copyright Frank J. Furrer 2013 9
ArchitectureOrganization
Repositoryetc.
Principles
Future-Proof Software-Systems: Ref Archs & Patterns
Example: TOGAF (2/2)[The Open Group Architecture Framework] http://www.togaf.org/
htt
p:/
/pu
bs.o
pen
gro
up.o
rg/arc
hit
ectu
re/to
gaf8
-doc/arc
h/ch
ap22.h
tml
TOGAFIII-RM
Copyright Frank J. Furrer 2013 10
htt
p:/
/pu
bs.o
pen
gro
up.o
rg/arc
hit
ectu
re/to
gaf8
III-RMReferenceArchitecture(High level)
Future-Proof Software-Systems: Ref Archs & Patterns
Reference Architecture:
A reference architecture provides a template solution for a generic architecture for aparticular application domain
- such as financial systems, automotive, aerospace etc.
Reference Architecture
A reference architecture may recommend: FundamentalStructure
ComponentModel
etc.
Copyright Frank J. Furrer 2013 11
ServiceStandardizationTechnology
Choices
Model
SafetyMechanisms
Component ContractModel
Future-Proof Software-Systems: Ref Archs & Patterns
Example: AUTOSAR (1/2)[AUTomotive Open System ARchitecture] http://www.autosar.org
htt
p:/
/w
ww
.au
tosar.
org
/dow
nlo
ad/papers
an
dpre
sen
tati
on
s/A
UTO
SA
R_B
roch
ure
_EN
Copyright Frank J. Furrer 2013 12
htt
p:/
/w
ww
.au
tosar.
org
/dow
nlo
ad/papers
an
dpre
sen
tati
on
s/A
UTO
SA
R_B
roch
ure
_EN
Future-Proof Software-Systems: Ref Archs & Patterns
Example: AUTOSAR (2/2)http://www.autosar.org
AUTOSAR is well documented in a number ofinteresting documents (some only for members)
AUTOSAR:
„Cooperate on
Copyright Frank J. Furrer 2013 13
Standards –
Compete on
Implementations“
Future-Proof Software-Systems: Ref Archs & Patterns
Example: BIAN (1/2)Banking Industry Architecture Network: http://www.bian.org
BIAN standardizes the full functionallandscape of a financial institution
Copyright Frank J. Furrer 2013 14
Future-Proof Software-Systems: Ref Archs & Patterns
Example: A (2/2)http://www.bian.org
Financial Markets
InvestmentManagement
Investment PortfolioPlanning IT Service
Investment
FinancialMarkets
InvestmentManagement
Investment PortfolioPlanning
Internal IT SystemOutsourced or3rd party SW
Copyright Frank J. Furrer 2013 15
Investment PortfolioAnalysis
Investment PortfolioManagement
eTrading
Bu
siness
Pro
cess
IT Service
IT Service
IT Service
InvestmentPortfolioAnalysis
Bu
siness
Pro
cess
eTrading
Investment PortfolioManagement
Industry-wide,exchangeable,standardizedservices
Future-Proof Software-Systems: Ref Archs & Patterns
Architecture Principle A5:
Reference Architectures, Frameworks and Patterns
1. Always consider applicable reference architectures, frameworksand patterns. Whenever possible adhere to proven patterns asfoundations of architecture and design
2. Manage and cultivate a set of patterns (in a repository) in yourcompany for easy reference. Annotate these with your own
A5
Copyright Frank J. Furrer 2013 16
company for easy reference. Annotate these with your ownexperience
3. For 3rd party software insist (as much as possible) on industry-standardized interfaces, services and managed redundancy
Justification: Reference architectures, frameworks and patterns arehighly valuable architecture and design knowledge in condensedform. Using suitable, proven reference architectures, frameworks andpatterns leads to good, safe and often optimum solutions
Future-Proof Software-Systems: Ref Archs & Patterns
Reference Architectures
Architecture Frameworks
Architecture Patterns
arc
hit
ectu
re.h
tml
Copyright Frank J. Furrer 2013 17
Future-Proof Software-Systems Engineer
Apply & enforce
htt
p:/
/bis
cic
ol.blo
gspot.
ch
/2011/06/bis
cic
ol-
core
-soft
ware
-arc
hit
ectu
re.h
tml
Future-Proof Software-Systems: Lessons learned for FPSS
Lessons learned for future-proof software-systems:
Reference architectures, architecture frameworks and architecturepatterns are highly valuable containers of proven architecturalknowledge
The future-proof software-systems engineer needs a large knowledge
Copyright Frank J. Furrer 2013 18
The future-proof software-systems engineer needs a large knowledgeof these architectural artefacts
Established, accepted and enforced reference architectures,architecture frameworks and architecture patterns are of great value toan organization and should be carefully managed
Future-Proof Software-Systems: Research Topics
Research Questions Master Thesis Level:• Apply the TOGAF architecture framework step by step to a ( simple) system ofyour choice
Copyright Frank J. Furrer 2013 19
Research Questions Ph.D. Thesis Level:• Develop an architecture framework for the architecting of CPS (Cyber-PhysicalSystems)
• Develop an architecture framework for the architecting of Robotics Systems (seealso the program „MORSE“ of the University of Dresden)
Future-Proof Software-Systems: References
References:ReferencesFowler03 Martin Fowler:
Patterns of Enterprise Application Architecture
Addison Wesley, Boston, USA, 2003. ISBN 978-0-321-12742-0Vlissides98 John Vlissides:
Pattern Hatching – Design Patterns Applied
Addison Wesley Longman Inc., Reading MA, USA, 1998. ISBN 978-0-201-43293-5Buschmann96 Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal:
Pattern-Oriented Software Architecture - Volume 1
John Wiley & Sons, Chicester, UK, 1996. ISBN 978-0-471-95869-7Fernandez13 Eduardo B. Fernandez:
Security Patterns in Practice – Designing Secure Architectures using Software Patterns
John Wiley & Sons, Ltd., Chichester UK, 2013. ISBN 978-1-119-99894-5
Copyright Frank J. Furrer 2013 20
John Wiley & Sons, Ltd., Chichester UK, 2013. ISBN 978-1-119-99894-5Hanmer07 Robert Hanmer:
Patterns for Fault-Tolerant Software
John Wiley & Sons, Chicester, UK, 2007. ISBN 978-0-470-31979-6Duffy04 Daniel J. Duffy:
Domain Architectures – Models and Architectures for UML Applications
John Wiley & Sons, Ltd., Chichester, UK, 2004. ISBN 978-0-470-84833-2Kindel09 Olaf Kindel, Mario Friedrich:
Softwareentwicklung mit AUTOSAR – Grundlagen, Engineering, Management in der Praxis
dpunkt.verlag GmvH, Heidelberg, 2009. ISBN 978-3-89864-563-8
See also: www.autosar.org [last accessed 29.8.2013]TOGAF11 The Open Group:
TOGAF Version 9.1 Enterprise Edition – An Introduction (White Paper)
The Open Group, San Francisco, USA, December 2011. Document Number W118. Downloadable from:
https://www2.opengroup.org/ogsys/jsp/publications/mainPage.jsp [last accessed 16.9.2013]BIAN12 BIAN (Banking Industry Architecture Network):
BIAN Metamodel Specification
Version 1.6, Iteration 13, May 30, 2012. Downloadable from: www.bian.org [last accessed 16.09.2013]
Future-Proof Software-Systems: References
References:
ReferencesBIAN12 BIAN (Banking Industry Architecture Network):
BIAN Metamodel Specification
Version 1.6, Iteration 13, May 30, 2012. Downloadable from: www.bian.org [last accessed 16.09.2013]
Feiler13 Peter H. Feiler, David P. Gluch:
Model-Based Engineering with AADL – An Introduction to the SAE Architecture Analysis and Design Language
Addison-Wesley (SEI Series), N.J., USA, 2013. ISBN 978-0-321-88894-5
Copyright Frank J. Furrer 2013 21
Future-Proof Software-Systems:
A7: Reuse and Parametrization
Industrial Architecture
Copyright Frank J. Furrer 2013 22
EngineeringDiscipline
ArchitectureProcess
GovernanceInstrument
Structure
ArchitecturePrinciples
ArchitectureGuidelines &Best Practices
ArchitectureMetrics
ArchitectureStandards
BusinessArchitecture
ApplicationsArchitecture
Safety &Security
Architecture
IntegrationArchitecture
TechnicalArchitecture
StandardsEnforcement
TechnologyPortfolio
Management
ApplicationsPortfolio
Management
ServicePortfolio
Management
IT StandardsDevelopment
ComplexityManagement
Architect‘sTraining
Business-to-ITAlignment
ArchitectureCommunication
Future-Proof Software-Systems: Reuse and Parametrization
Definition:Reuse occurs when someone avoidshaving to write software by obtaining andusing software from someplace else[Jeffrey S. Poulin, 1997, ISBN 0-201-64313-9]
Reuse is:
Software Reuse http
://arto
fsoftw
are
reu
se.c
om
/ta
g/sch
em
as/
Copyright Frank J. Furrer 2013 23
Reuse is:
• very powerful (strong contribution to agility)
• (very) difficult
• if not done correctly: dangerous for the architecture
Successful Reuse requires:
• a company-wide reuse strategy
• a strong reuse organization
• a dedicated, committed management
Future-Proof Software-Systems: Reuse and Parametrization
Types of Reuse
Black BoxReuseUnmodified (1:1) reuse
Copyright Frank J. Furrer 2013 24
Grey BoxReuseLimited modified reuse(Specific changes 25 %)
White BoxReuseSignificantly modified(Specific changes 25 %)
Future-Proof Software-Systems: Reuse and Parametrization
Levels of Reuse
Contracts
Applications:Business Functions
Level 3: Services
Business Process
Workflow
Level 4:
BusinessRules
Copyright Frank J. Furrer 2013 25
Functionality:Code
Data:DB-Schema
Level 1:
Encapsulated Functionality & Data:Components
Level 2: Interfaces
Business Functions
Future-Proof Software-Systems: Reuse and Parametrization
Value of Reuse
Contracts
Applications:Business Functions
Level 3: Services
Business Process
Workflow
Level 4:
BusinessRules
very high
medium
Copyright Frank J. Furrer 2013 26
Functionality:Code
Data:DB-Schema
Level 1:
Encapsulated Functionality & Data:Components
Level 2: Interfaces
Business Functions
medium
local reuse
„global“reuse
Future-Proof Software-Systems: Reuse and Parametrization
Contracts
Applications:Business Functions
Services
Business Process
Workflow
BusinessRules
Services arecalled to buildapplications orsystems
Business rulesare reused toimplementbusinessprocess steps
Copyright Frank J. Furrer 2013 27
Functionality:Code
Data:DB-Schema
Encapsulated Functionality & Data:ComponentsInterfaces
Business Functions
Codefragments
Fragments ofcode are reusedin programs
Componentsare composedto applications
systems
Future-Proof Software-Systems: Reuse and Parametrization
Business Case of Reuse€
t
ProjectDevelopmentCost
DevelopmentTime
one-timeuse Value
Development
Copyright Frank J. Furrer 2013 28
€
t
Project
reuse
Value
DevelopmentCost
DevelopmentTime
Reusable Software
Future-Proof Software-Systems: Reuse and Parametrization
€
t
Project
reuse
Value
DevelopmentCost
Development
Reusable Software
Copyright Frank J. Furrer 2013 29
DevelopmentTime
Who is paying?
htt
p:/
/blo
gs.law
yers
.com
Future-Proof Software-Systems: Reuse and Parametrization
The project has additional costand longer time-to-market
Reuse penalty
Pn+21
P
Projectcreating reusable
software Tra
deoff
Copyright Frank J. Furrer 2013 30
Same projectcreating one-time software
Pn+5
Pn+1
Pn
All projects reusing the software havelower cost and shorter time-to-market
Reuse benefit
software
Pla
nn
ed
Tra
deoff
Future-Proof Software-Systems: Reuse and Parametrization
One-Time SoftwareDevelopment Process
SpecPhase
BusinessRequirements
ArchitectureRequirements
One-TimeSoftware
Development Process for Reuse
htt
p:/
/w
ww
.ham
mert
ap.c
om
Copyright Frank J. Furrer 2013 31
Reusable SoftwareDevelopment Process
SpecPhase
BusinessRequirements
ArchitectureRequirements
ReusableSoftware
SpecPhase
BusinessSzenarios
Reuse ArchRequirements
htt
p:/
/w
ww
.ham
mert
ap.c
om
Future-Proof Software-Systems: Reuse and Parametrization
Elements for successful Reuseh
ttp:/
/w
ww
.am
isin
su
ran
ce.c
om
A dedicated andcommitted management
ReuseStrategy
A company-widereuse strategy
Copyright Frank J. Furrer 2013 32
htt
p:/
/w
ww
.glo
baln
psolu
tion
s.c
om
A strongreuse organizationGood software
architects
http://artofsoftwarereuse.com/tag/schemas/
Future-Proof Software-Systems: Reuse and Parametrization
http://artofsoftwarereuse.com/tag/schemas/
Why should we work with Reuse?
Copyright Frank J. Furrer 2013 33
Because of:
• The benefits (in development cost and time-to-market) are considerable
• The quality of the software is higher (mature components, managedevolution and maintenance)
• Use of proven 3rd party components and services
• Optimization: reusable components on-time components
Future-Proof Software-Systems: Reuse and Parametrization
http://artofsoftwarereuse.com/tag/schemas/
Which are the risks if we work with Reuse?
Copyright Frank J. Furrer 2013 34
Risks:
• Quality of reusable software not sufficient
• Reuse-factor too low
• Reuse-strategy not complete or adequate
• Creation of unmanged redundancy (both functional and data)
• Development and maintenance process more complicated
• Management not sufficiently supportive of reuse-strategy
Future-Proof Software-Systems: Reuse and Parametrization
Types of Reuse
Black BoxReuse
Unmodified (1:1) reuse
Parametrization
Business Rules
True, value-generating Reuse
Copyright Frank J. Furrer 2013 35
Grey BoxReuseLimited modified reuse(Specific changes 25 %)
White BoxReuseSignificantly modified(Specific changes 25 %)
Not reuse unmanaged redundancy
Not reuse unmanaged redundancy
Future-Proof Software-Systems: Reuse and Parametrization
Grey Box
Grey Box Modification Divergence (Unmanaged Redundancy)
Grey Box
Modification A
GreyBox
Modifi-
catio
nB
Change
Copyright Frank J. Furrer 2013 36
Grey Box
B
Grey Box
Modifi-cation C
GreyBox
Modifi-cation
D
Future-Proof Software-Systems: Reuse and Parametrization
Parametrization and Business Rules
Black BoxReuse
Unmodified (1:1) reuse
Parametrization
Business Rules
Copyright Frank J. Furrer 2013 37
Parametrization: Selection of a predefined behaviour of the black boxby parameters stored outside of the black box (Not part of the black boxfunctionality or data). The parameters are loaded at run-time. Newversions of the black box interpret the parameters correctly.
Business Rules: Business rules are specified in BR-languages anddefine processing logic – instead of having the processing logicimplemented in code within the black box (Not part of the black boxfunctionality or data). The business rules are loaded at run-time. Newversions of the black box interpret the business rules correctly
Future-Proof Software-Systems: Reuse and Parametrization
Black Box Usage (Managed Redundancy)
Black Box
Black Box
Black Box
Parametrization
Business Rules
Change
Loaded/Initializedat Run-Time
Copyright Frank J. Furrer 2013 38
Black Box
Black Box
Black Box
Parametrization
Business Rules
Parametrization
Business Rules
Distributed/Updatedby ConfigurationManagement System
Future-Proof Software-Systems: Reuse and Parametrization
Parametrization Example: Different Account Number Formats
Payment OrderAccount Number Format: Bank Leu
Payment OrderAccount Number Format: CREDIT SUISSE
PaymentApplication
Clearing
Copyright Frank J. Furrer 2013 39
Payment OrderAccount Number Format: IBAN
Payment OrderAccount Number Format: Future Format
Application
Accounts DB
System
Future-Proof Software-Systems: Reuse and Parametrization
Business Rules Example
Business Process
Application Software
Verbal Expression:
“A car with accumulatedmileage greater than 5’000since its last service mustbe scheduled for service”
Copyright Frank J. Furrer 2013 40
BusinessLogic
SpecificBusiness
RulesInterpreter
Formal Expression:
If Car.miles-current-period > 5000 then
invoke Schedule-service (Car.id)
End if
Future-Proof Software-Systems: Reuse and Parametrization
Measuring the Reuse-Factor:
Contracts
Applications:
Services
Business Process
Workflow
BusinessRules
# ofapplications
using theservice
% of reusedbusiness rulesin a different
context
Copyright Frank J. Furrer 2013 41
Functionality:Code
Data:DB-Schema
Encapsulated Functionality & Data:ComponentsInterfaces
Applications:Business Functions
Codefragments
service
# of calls/hour
# ofapplications
using thecomponent
# of componentsimplementingthe code/DB
fragment
Future-Proof Software-Systems: Industry Standards
Architecture Principle A7:
Reuse and Parametrization
1. Use only the black-box concept to build reusable software
2. Whenever possible, configure the reusable modules via parametersor business rules (loaded or initiated at run-time)
3. Install and consequently use a configuration management systemto control the distribution of reusable software modules
A7
Copyright Frank J. Furrer 2013 42
4. Provide the 4 elements of successful reuse: Committedmanagement, reuse-strategy, reuse-organization and competent
software architects
5. Adapt your software development process to produce reusablesoftware
Justification: If done correctly, reuseable components have asignificant effect on the agility of the IT-system.
Future-Proof Software-Systems: Lessons learned for FPSS
Lessons learned for future-proof software-systems:
If done correctly, reuseable components have a significant (positive)effect on the agility of the IT-system
Use only the black-box concept (= unmodified reuse) to buildreusable software
Copyright Frank J. Furrer 2013 43
Parametrization and business-rules are powerful instruments toadapt reusable software to different contexts
Successful reuse is only possible if 4 prerequisites are met:Committed management, an adequate reuse-strategy, an effectivereuse-organization and competent software architects
The software development process for reusable software is morecomplex than for one-time software
Future-Proof Software-Systems: Research Topics
Research Questions Master Thesis Level:• Study the different reuse-concepts in some application areas (banking,automotive, aerospace etc.) from literature and compare them. Describecommonalities and differences. Formulate recommendations for application-independent reuse
Research Questions Ph.D. Thesis Level:• Investigate the different software development processes focused on producing
Copyright Frank J. Furrer 2013 44
• Investigate the different software development processes focused on producingreusable software artefacts (from literature). Distill the good points and elaborateon the weak points. Define a strong process for the whole life-cycle of reusablesoftware development, including both local (inside the company) and global (reuseof external services). Put special emphasis on mechanisms to detect, avoid andeliminate unmanaged redundancy
Future-Proof Software-Systems: References
References:ReferencesMurer11 Stephan Murer, Bruno Bonati, Frank J. Furrer:
Managed Evolution – A Strategy for Very Large Information Systems
Springer-Verlag, Berlin Heidelberg, 2011, ISBN 978-3-642-01632-5Lim98 Wayne C. Lim:
Managing Software Re-Use
Prentice Hall, USA, 1998. ISBN-13: 978-0-13552-3735-9Coulange98 Bernard Coulange:
Software Reuse
Springer-Verlag, Heidelberg, Berlin, 1998. ISBN 978-3-540-76084-9Leach13 Ronald J. Leach:
Software Reuse – Methods, Models, Costs
Ronald J. Leach Publishing, 2nd edition, 2013. ISBN 978-1-9391-42-35-1
Copyright Frank J. Furrer 2013 45
Ronald J. Leach Publishing, 2 edition, 2013. ISBN 978-1-9391-42-35-1Hamlet10 Dick Hamlet:
Composing Software Components – A Software-Testing Perspective
Springer-Verlag, New York, N.Y., USA, 2010. ISBN 978-1-44197147-0Poulin97 Jeffrey S. Poulin:
Measuring Software Reuse – Principles, Practices, and Economic Models
Addison Wesley Longman Inc., Reading MA, USA, 1997. ISBN 0-201-63413-9Grunske10 Lars Grunske, Ralf Reussner, Frantisek Plasil (Editors):
Component-Based Software Engineering
13th International Symposium CBSE 2010 (June 2010). Springer-Verlag, Berlin & Heidelberg, 2010 (LNCS6092). ISBN 978-3-642-13237-7
Arbab12 Farhad Arbab, Peter Csaba Ölveczky (Editors):
Formal Aspects of Component Software
8th International Symposium FACS 2011 (September 2011). Springer-Verlag, Berlin & Heidelberg, 2012 (LNCS7253). ISBN 978-3-642-35742-8
Vliet08 Hans Van Vliet:
Software Engineering – Principles and Practice
John Wiley & Sons, Chichester, UK, 3rd edition 2008. ISBN 978-0-470-03146-9
Future-Proof Software-Systems:
A8: Industry Standards
Industrial Architecture
Copyright Frank J. Furrer 2013 46
EngineeringDiscipline
ArchitectureProcess
GovernanceInstrument
Structure
ArchitecturePrinciples
ArchitectureGuidelines &Best Practices
ArchitectureMetrics
ArchitectureStandards
BusinessArchitecture
ApplicationsArchitecture
Safety &Security
Architecture
IntegrationArchitecture
TechnicalArchitecture
StandardsEnforcement
TechnologyPortfolio
Management
ApplicationsPortfolio
Management
ServicePortfolio
Management
IT StandardsDevelopment
ComplexityManagement
Architect‘sTraining
Business-to-ITAlignment
ArchitectureCommunication
Future-Proof Software-Systems: Industry Standards
A STANDARD is:
• a formal, established norm for (technical) systems
• a document which establishes uniform (engineering or technical) criteria,principles, methods, processes and practices
Copyright Frank J. Furrer 2013 47
www.ietf.org www.omg.orgwww.iso.org
International Standards Organizations
CS
BusinessObjectModelV1.1/2009
CompanyStandards
Future-Proof Software-Systems: Industry Standards
Example:Napoleonic Guns(1/3)
htt
p:/
/civ
ilw
art
alk
.com
/th
reads/la
rgest-
reen
acto
r-can
on
.79423
Copyright Frank J. Furrer 2013 48
htt
p:/
/civ
ilw
art
alk
.com
/th
reads/la
rgest
In early pre-Napoleonic times (18xx) the artillery cannons were individuallydifferent and required matched cannon balls difficult logistics
Manufacturing tolerances greatly reduced the accuracy and firing power ofthe artillery cannons reduced military impact
Future-Proof Software-Systems: Industry Standards
Example: Napoleonic Guns(2/3)
de Gribeauval standard:
• reduced and standardized the calibers
complexity reduction
• introduced normalized parts for the cannons
component technology
• set manufacturing processes & tolerances
reuse
Copyright Frank J. Furrer 2013 49
1776: The de Gribeauvalstandard revolutionizedartillery.
1715-1789
Results: Massively improved military impact Mass production of cannons
Future-Proof Software-Systems: Industry Standards
Example: Napoleonic Guns(3/3)
htt
p:/
/w
ww
.san
dro
caste
lli.com
/w
ork
s_p
agin
as/n
apole
on
sem
pir
e.h
tm
Copyright Frank J. Furrer 2013 50
htt
p:/
/w
ww
.san
dro
caste
lli.com
/w
ork
s_p
agin
as/n
apole
on
sem
pir
e.h
tm
NapoleonicEmpire
(ca. 1810)
Future-Proof Software-Systems: Industry Standards
What is the impact of standards ?
Why are standards important ?
Impact:
• Forcing uniform, interoperable solutions in the industry
• Providing proven, widely accepted and mature solutions
• Enabling exchangeable products (mostly)
• Facilitates reuse
Copyright Frank J. Furrer 2013 51
• Foundation for validation & certification
Importance:
• Provides long term stability with managed change
• Forces vendors to comply to interoperable solutions
• Advances industries as a whole
• Provides confidence in technical solutions (e.g. safety or security)
Negative: Standards-setting process is quite slow (Wide consensus required)
Future-Proof Software-Systems: Industry Standards
Architecture Principle A8:
Industry Standards
1. Strictly adhere to proven, accepted industry-standards in all 5architecture layers and for all phases of the system lifecycle
2. Never allow any use of vendor-specific standards extensions (evenif they look tempting and useful)
3. Keep the number of standards in use to a minimum
A8
Copyright Frank J. Furrer 2013 52
4. Introduce new standards only based on very good reasons
5. If for a certain field of your activity there is no industry standard,formulate and instantiate a company standard
6. Enforce strict adherence to (pure) standards via regular reviews
Justification: A heterogenous industry (such as software-production)requires clearly stated foundations for technologies, products andprocesses – otherwise no interoperability, certification, reuse andvendor-independence is possible
Future-Proof Software-Systems: Industry Standards
Example:WebStandards(1/3)
Web
Domain-specificStandards
Cry
pto
gra
ph
y
Trust: PKI
Reasoning & Proofs
BusinessRules:
Underlying Logic: DL
Semantics(Ontology):DB Query:
Business Applications
SOA-Infrastructure: Web-Services
How can weestablish trust onthe WWW?
Copyright Frank J. Furrer 2013 53
WebStandards
TechnicalInfrastructureStandards
Technical Infrastructure
Addressing: URI Unicode
Secu
rity
:C
rypto
gra
ph
y
Rules:RIF
(Ontology):OWL
DB Query:SPARQL
Vocabulary: RDF-S
Data Model: RDF
Syntax: XML
Future-Proof Software-Systems: Industry Standards
Example:WebStandards(2/3)
htt
ps:/
/en
cyclo
pedia
dra
mati
ca.s
e/O
n_t
he_I
nte
rnet,
_nobody_kn
ow
s_you
're_a_dog
Example: Authentication:
How can we establish trust in theidentity of an electronic partner ?
Trust: PKI
Answer:
We use aPublic Key Infrastructure (PKI)
Answer:
Use a Public Key Infrastructure(PKI)
PKI assigns Digital Certificates
Answer:
Use a Public Key Infrastructure(PKI)
PKI assigns Digital Certificates
Answer:
Use a Public Key Infrastructure(PKI)
PKI assigns Digital Certificates
Copyright Frank J. Furrer 2013 54
htt
ps:/
/en
cyclo
pedia
dra
mati
ca.s
e/O
n_t
he_I
nte
rnet,
_nobody_kn
ow
s_you
're_a_dog
On the Internet, nobody knows you're a dog
PKI assigns Digital Certificatesto entities (Persons, organizations)PKI assigns Digital Certificatesto entities (Persons, organizations)
A digital certificate is anunforgeable electronic proof ofidentity
PKI assigns Digital Certificatesto entities (Persons, organizations)
A digital certificate is anunforgeable electronic proof ofidentity
Digital certificates arestandardized in X.509 and areglobally accepted and used
Future-Proof Software-Systems: Industry Standards
Example: Web Standards(3/3) CA
Certification Agency[Trusted Entity]
X.509Certificate
_issuer_validity_subject_publicKey
_CA-Signature
X.509
Copyright Frank J. Furrer 2013 55Client
Server
_CA-Signature
X.509
presents
Future-Proof Software-Systems: Lessons learned for FPSS
Lessons learned for future-proof software-systems:
Standards are highly important instruments for a number of ITfunctions, such as interoperability, security, safety, certification, …
A sufficient (but not overlapping) set of standards should be used,managed and enforced in an organization
Copyright Frank J. Furrer 2013 56
No vendor-specific standards extensions (even if they look temptingand useful) should be used
The set of standards established in an organization represents aconsiderable business value
As an architect, look at the standards as a help, not a nuisance
Future-Proof Software-Systems: Research Topics
Research Questions Master Thesis Level:• Develop a process for a (fictive) organization to evaluate, select, introduce,enforce and manage an optimum set of standards (Industry-standards and –where not available – company standards)
• Select a specific application domain (e.g. automotive, aerospace, medical,industrial, railway, … and examine their standards in use. Demonstrate the valueof the application and enforcement of this set of standards and the risks if failingto do so
Copyright Frank J. Furrer 2013 57
Research Questions Ph.D. Thesis Level:• none
Future-Proof Software-Systems: References
References:
ReferencesAkerkar09 Rajendra Akerkar:
Foundations of the Semantic Web – XML, RDF & Ontology
ALPHA Science Intl. Inc., Oxford, UK, 2009. ISBN 978-1-84265-535-1Jakobs00 Kai Jakobs:
Information Technology Standards and Standardization – A Global Perspective
Idea Group Publishing, Hershey, PA, USA, 2000. ISBN 1-878289-70-5Nash01 Andrew Nash, William Duane, Celia Joseph, Derek Brink:
PKI – Implementing and Managing E-Security
Osborne/McGraw Hill, CA, USA, 2001. ISBN 0-07-213123-3Katz08 Jonathan Katz, Yehuda Lindell:
Introduction to Modern Cryptography
Copyright Frank J. Furrer 2013 58
Introduction to Modern Cryptography
Chapman & Hall/CRC, FL, USA, 2008. ISBN 978-1-58488-551-1Hafner09 Michael Hafner, Ruth Breu:
Security Engineering for Service-Oriented Architectures
Springer Verlag, Heidelberg, Germany, 2009. ISBN 978-3-540-79538-4Al-Hakeem12 Mazin S. Al-Hakeem:
Fundamentals of Web Engineering – An Engineering Approach to Develop Web Services, Contents &Environment under Standards Specification of Web Design
LAP LAMBERT Academic Publishing, 2012. ISBN 978-3-65912-492-1Sahai05 Akhil Sahai, Sven Graupner:
Web Services in the Enterprise – Concepts, Standards, Solutions, and Management
Springer-Verlag, Heidelberg, Berlin, 2005. ISBN 978-0-387-23374-1Dawson07 Anthony L. Dawson, Paul L. Dawson, Stephen Summerfield:
Napoleonic Artillery
Crowood Press Ltd., Wiltshire, UK, 2007. ISBN 978-1-86126-923-2
Future-Proof Software-Systems:
A9: Information Architecture
Industrial Architecture
Copyright Frank J. Furrer 2013 59
EngineeringDiscipline
ArchitectureProcess
GovernanceInstrument
Structure
ArchitecturePrinciples
ArchitectureGuidelines &Best Practices
ArchitectureMetrics
ArchitectureStandards
BusinessArchitecture
ApplicationsArchitecture
Safety &Security
Architecture
IntegrationArchitecture
TechnicalArchitecture
StandardsEnforcement
TechnologyPortfolio
Management
ApplicationsPortfolio
Management
ServicePortfolio
Management
IT StandardsDevelopment
ComplexityManagement
Architect‘sTraining
Business-to-ITAlignment
ArchitectureCommunication
Future-Proof Software-Systems: Information Architecture
Copyright Frank J. Furrer 2013 60
Future-Proof Software-Systems: Information Architecture
IT-System
Data,Information
FunctionalityDocumentation,
Models etc.
Copyright Frank J. Furrer 2013 61
InformationFunctionality
Models etc.
Technical Infrastructure
Software Structure,Relationships
Repository
Data/InformationArchitecture
Future-Proof Software-Systems: Information Architecture
Business Model… how to earn money
Business Processes… how to execute the business
operations
Information Architecture Stack:
Enterprise Model
Business Logic Model
Legal&
Com
plian
ce
Model
Con
tin
uit
y&
Dis
aste
rM
odel
Model
Information Architecture
En
tities
&R
ela
tion
sh
ip
Copyright Frank J. Furrer 2013 62
Databases/Tables… persistent storage of business
entities & transactions
operations
Applications/Components… Implementation of business
operations
Domain ModelBusiness Object Model
Database/TableModels
Legal&
Com
plian
ce
Model
Bu
sin
ess
Con
tin
uit
yR
ecovery
Model
Deplo
ym
en
tM
odel
&R
ela
tion
sh
ipD
efin
ition
s
Future-Proof Software-Systems: Information Architecture
Copyright Frank J. Furrer 2013 63
Future-Proof Software-Systems: Information Architecture
Copyright Frank J. Furrer 2013 64
Future-Proof Software-Systems: Industry Standards
Architecture Principle A?:
X
1. Strictly
Ax
Copyright Frank J. Furrer 2013 65
Justification: A
Future-Proof Software-Systems: Lessons learned for FPSS
Lessons learned for future-proof software-systems:
Copyright Frank J. Furrer 2013 66
Future-Proof Software-Systems: Research Topics
Research Questions Master Thesis Level:•
Copyright Frank J. Furrer 2013 67
Research Questions Ph.D. Thesis Level:•
Future-Proof Software-Systems: References
References:References
Lehner13 Wolfgang Lehner, Kai-Uwe Sattler:
Web-Scale Data Management for the Cloud
Springer-Verlag, Heidelberg, 2013. ISBN 978-1-4614-6855-4
Copyright Frank J. Furrer 2013 68
Future-Proof Software-Systems:
A10: Formal Modeling
Industrial Architecture
Copyright Frank J. Furrer 2013 69
EngineeringDiscipline
ArchitectureProcess
GovernanceInstrument
Structure
ArchitecturePrinciples
ArchitectureGuidelines &Best Practices
ArchitectureMetrics
ArchitectureStandards
BusinessArchitecture
ApplicationsArchitecture
Safety &Security
Architecture
IntegrationArchitecture
TechnicalArchitecture
StandardsEnforcement
TechnologyPortfolio
Management
ApplicationsPortfolio
Management
ServicePortfolio
Management
IT StandardsDevelopment
ComplexityManagement
Architect‘sTraining
Business-to-ITAlignment
ArchitectureCommunication
Future-Proof Software-Systems: Architecture
Business Architecture Layer
architecting
Application (Software) Architecture Layer
Business area:Financial institution
Example:„Customer“
DatabaseSchema
Attributes:Name: …Address: …Date of birth: …etc.
Concept: Account1…*1…*
association
Database Design
BusinessContinuity& DisasterRecoveryPlan
BusinessContinuity& DisasterRecoveryPlan
BusinessContinuity& DisasterRecoveryPlan
Servicedesign
Access
con
trol
Concept: Customer
„A person or organizationbuying goods or servicesfrom our organization“
Copyright Frank J. Furrer 2013 70
Technical Infrastructure Architecture Layer
Infrastructure Services
Deployment Architecture Layer
DR
A DCB
Archive
Disk
Enterprise BusDisk
DiskDisk
Ta-peTa-
peMain-frameMain-
frameMain-frame
ServerServer
Server
Future-Proof Software-Systems: Formal Modeling
Copyright Frank J. Furrer 2013 71
Future-Proof Software-Systems: Formal Modelingh
ttp
://w
ww
.nam
e-lis
t.n
et/i
mg/
imag
es.p
hp
/Go
del
_5.jp
g Expressivity
Time
very high
high
medium
DL
DL = Description Logic
un
decid
able
Copyright Frank J. Furrer 2013 72
Type
hybrid
discretecontinuous
dynamic
static
low
htt
p:/
/ro
.mat
h.w
ikia
.co
m/w
iki/
Geo
rge_
Bo
ole
0,1,,
decid
able
Future-Proof Software-Systems: Formal Modeling
Copyright Frank J. Furrer 2013 73
5: Communications & Collaboration
Business Partner Applications (BPA) Financial Instruments, Research & Market Data (FIN)Enterprise Content Management (ECM)
Client Communication (CHA) Street Side Interfaces (SSI)
,In
vest
me
nt
&Sa
les
Ma
rke
ts
Op
era
tio
ns
Wealth Management &Advisory
(WMA)
an
dR
ep
ort
ing
Regu
lato
ry,
Ris
kan
dLiq
uid
ity
(RR
L)
Trading
(TRA)
Payments
(PAY)
Single Accounts
(SAC)
Copyright Frank J. Furrer 2013/14 74
1:
Pa
rtn
ers
&P
ers
on
s
2:
Fin
an
ce,I
nve
stm
en
t&
Sale
s
3:
Tra
din
ga
nd
4:
Ca
sha
nd
Ass
et
Op
era
tio
ns
Cu
sto
mer
&Part
ner
(CU
S)Credits and Syndication
(CRS)
6:
Acc
ou
nti
ng,
Co
ntr
oll
ing
an
d
Fin
an
cia
lA
ccou
nti
ng
(FA
C)
Regu
lato
ry,
Ris
kan
dLiq
uid
ity
(RR
L)
Accounting Control
(AOC)
Logistics
(LOG)
Basic Facilities
(BAS)
Product Control
(PRC)
Settlement and Clearing
(SCL)
Custody(CDY)
Corporate Actions
(COA)
7: Enterprise Common Services
Future-Proof Software-Systems: Formal Modeling
Domain Model & Business Object Model
Copyright Frank J. Furrer 2013 75
DB-People: ERD
Copyright Frank J. Furrer 2013/14 76
Quality of Models (Krogstie)
Copyright Frank J. Furrer 2013/14 77
Future-Proof Software-Systems: Formal Modeling
Architecture Principle A10:
Formal Modeling
1. Strictly
A10
Copyright Frank J. Furrer 2013 78
Justification: A
Future-Proof Software-Systems: Lessons learned for FPSS
Lessons learned for future-proof software-systems:
Copyright Frank J. Furrer 2013 79
Future-Proof Software-Systems: Research Topics
Research Questions Master Thesis Level:•
Copyright Frank J. Furrer 2013 80
Research Questions Ph.D. Thesis Level:•
Future-Proof Software-Systems: References
References:References
Plösch04 Reinhold Plösch:
Contracts, Scenarios and Prototypes – An Integrated Approach to High Quality Software
Springer-Verlag, Berlin Heidelberg, 2004. ISBN 978-3-540-43486-0
Copyright Frank J. Furrer 2013 81
Future-Proof Software-Systems:
A11: Systems-of-Systems(SoS)
Industrial Architecture
Copyright Frank J. Furrer 2013 82
EngineeringDiscipline
ArchitectureProcess
GovernanceInstrument
Structure
ArchitecturePrinciples
ArchitectureGuidelines &Best Practices
ArchitectureMetrics
ArchitectureStandards
BusinessArchitecture
ApplicationsArchitecture
Safety &Security
Architecture
IntegrationArchitecture
TechnicalArchitecture
StandardsEnforcement
TechnologyPortfolio
Management
ApplicationsPortfolio
Management
ServicePortfolio
Management
IT StandardsDevelopment
ComplexityManagement
Architect‘sTraining
Business-to-ITAlignment
ArchitectureCommunication
Future-Proof Software-Systems: Systems-of-Systems (SoS)
What is a system-of-systems ?# of stakeholders (users, providers, …)
size (SLOC‘s)
108
106
104
102
1012109106103
System-of-
SystemsMega-System
MonolithicSystem
Copyright Frank J. Furrer 2013 83
Monolithic systems Systems-of-systems:
1. Operational Independence of the Elements
2. Managerial Independence of the Elements
3. Evolutionary Development
4. Emergent Behavior
5. Geographic Distribution [5 Maier criteria, 1998]
Managerial Independence of the Elements
Emergent Behaviour
Governance
Total = more thanthe sum of its parts
Future-Proof Software-Systems: Systems-of-Systems (SoS)
SoS (Systems-of-systems) Definition:
Definition:
A system-of-systems is a large, complex, enduring collection ofinterdependent systems
under development and operation of independent governance authorities
to provide multiple, interdependent capabilities to support various missions
Adapted from [Kaplan06]
Copyright Frank J. Furrer 2013 84
Definition:
System-of-systems engineering is a set of coordinated cross-system andcross-community processes
that ensure the development and evolution of mission-oriented capabilities
to meet multiple stakeholders’ evolving needs across periods of time thatexceed the lifetimes of individual systems
Adapted from [Kaplan06]
Future-Proof Software-Systems: Systems-of-Systems (SoS)
SoS Example: AMAZON Businessh
ttp:/
/seekers
port
al.w
ord
pre
ss.c
om
orderbook
Governance Boundary 1GovernanceAuthority
1
Copyright Frank J. Furrer 2013 85
htt
p:/
/seekers
port
al.w
ord
pre
ss.c
om
http://blog.winepresspublishing.com
supply bookstransport book
deliver book
GovernanceAuthority
2
GovernanceBoundary 2
GovernanceAuthority
3
Governance Boundary 3
Future-Proof Software-Systems: Systems-of-Systems (SoS)
SoS (Systems-of-systems) Terminology
CSA
CSE
CSD CS
G
CSB
CSN
ConstituentSystem (CS)
DependencyMission
Copyright Frank J. Furrer 2013 86
CSI
CSH
CSF
CSC
CSMCS
L
CSK
System-of-Systems(SoS)
Stakeholders
Future-Proof Software-Systems: Systems-of-Systems (SoS)
Emergence Desirable/positive Undesirable/negative
Expectedemergentbehavior
Reason for building theSoS (SoS objective)
Mitigate by appropriate designmeasures, such as threat/risk analysisand countermeasures
SoS Emergent Behaviour Classification
Copyright Frank J. Furrer 2013 87
Unexpectedemergentbehavior
Sometimes (however,quite rarely) an SoSshows unexpected,beneficial behaviour
Unexpected & undesirable negativeemergent behavior is one of the criticalrisks of most SoS
Future-Proof Software-Systems: Systems-of-Systems (SoS)
Example 1 for emerging properties: „flying“ (desirable/positive)h
ttp:/
/w
ww
.mskgm
bh
.com
Constituent systems of an aircraft:• engines• body• wings• cockpit• etc.
… none of the constituent systems is able to fly !
Copyright Frank J. Furrer 2013 88
http
://en
.wik
ipedia
.org
/w
iki/
Airb
us_A
320_fa
mily
Assemble the essentialconstituent systems:Emerging property: the assembly(= airplane) is able to fly !
Future-Proof Software-Systems: Systems-of-Systems (SoS)
Example 2 for emerging properties: landing crash (undesirable/unexpected)h
ttp:/
/avio
ners
.net/
2011/03/air
bu
s-a
319-a
ppro
ach
-to-l
an
din
g.h
tml
Constituent systems:
• Airplane (DC-8)
• Airport (Runway)
Copyright Frank J. Furrer 2013 89
htt
p:/
/avio
ners
.net/
2011/03/air
bu
s
October 8, 1979: Swiss Air Flight 316overran the Athens runway – 14 deaths
Cause: „Interface“ between therunway and the airplane
• Landing when braking action isless then good
• Crew mistakes
Future-Proof Software-Systems: Systems-of-Systems (SoS)
Managerial Independence: Governance
Definition:
Governance is the exclusive, non-overlapping right of a governance authority
to change any element (such as systems, relationships, operating parameters etc.)
located within the respective governance boundary
„The three devils of systems engineering are:
Complexity,
Change,
en
gin
eeri
ng
Copyright Frank J. Furrer 2013 90
In a SoS we have new dimensions of:
• Complexity management
• Change management
• Operational challenges
• Risk assessment and mitigation
Change,
Uncertainty”Anonymous
Syste
ms-o
f-syste
ms
en
gin
eeri
ng
Future-Proof Software-Systems: Systems-of-Systems (SoS)
CSA
CSE
CSD CS
G
CSB
CSN
Governance Boundary 1GovernanceAuthority
1
Managerial Independence: Governance
Copyright Frank J. Furrer 2013 91
CSI
CSH
CSF
CSC
CSMCS
L
CSK
GovernanceAuthority
2
GovernanceBoundary 2
GovernanceAuthority
3
Governance Boundary 3
Future-Proof Software-Systems: Systems-of-Systems (SoS)
CSA
CSE
CSD CS
G
CSB
CSN
GovernanceAuthority
1
Managerial Independence: Governance by Contract
CollaborationContract
• functional• operational• commercial
• legal
CollaborationContract
• functional
Copyright Frank J. Furrer 2013 92
CSI
CSH
CSF
CSC
CSMCS
L
CSK
GovernanceAuthority
2
GovernanceAuthority
3
CollaborationContract
• functional• operational• commercial
• legal
• functional• operational• commercial
• legal
Future-Proof Software-Systems: Systems-of-Systems (SoS)
SoS Engineering: Carmaker & System suppliersh
ttp:/
/sdarc
hit
ect.
word
pre
ss.c
om
SoS-Engineering = Cross-
system and cross-community
engineering collaboration
SoS-Engineering =
Intelligent and effective
Copyright Frank J. Furrer 2013 93
htt
p:/
/sdarc
hit
ect.
word
pre
ss.c
om
CollaborationContract
• functional• operational• commercial
• legal
distribution of governance
Future-Proof Software-Systems: Systems-of-Systems (SoS)
… now we understand SoS‘s and their challenges
… what does it mean for our future-proof software-systems?
CSA
CSE
CSD CS
G
CSB
CSN
Mission
Copyright Frank J. Furrer 2013 94
CSI
CSH
CSF
CSC
N
CSMCS
L
CSK
1) Transparent architecture
2) Explicit dependencies
3) Complete contracts
4) Risk mitigation
5) Monitoring and earlyresponse
Future-Proof Software-Systems: Systems-of-Systems (SoS)
System-of-Systems[SoS]
Mission [M]1 1
is defined by
Governance[Gov]1
1
is delineated by
1..*
ConstituentSystem Domain
[CSD]
CooperationDomain
[CD]
1..* 1..*
1
1..*
interconnects
1..*
Coordinator[CE]
1
Mission Owner[MO]
1 1
implements
ChangeManagement
BudgetAuthority
1
11
1
governs
Environment 1 1..*
interacts
1..*
CooperationStandards
[CS]
1..*1 enforces
Users
1 1..*
benefit
Copyright Frank J. Furrer 2013 95
ConstituentSystem
[CS]
Process[Proc]
1..*1..*1..*1..*
CooperationMechanism [CE]
CooperationContract [CC]
ManagementOwnership
Authority[CS]
Global(synchronized)
Time
delivers
Function [F]
utilizes
1..*Function Owner
[FO]
1..* 1
manages
Capability [C]
1..*
builds
1..*
1..*
1
1) Transparent architecture:SoS Structural Model
Furrer/Kopetz 2013
Future-Proof Software-Systems: Systems-of-Systems (SoS)
System-of-Systems[SoS]
Mission [M]1 1
is defined by
Governance[Gov]1
1
is delineated by
1..*
ConstituentSystem Domain
[CSD]
CooperationDomain
[CD]
1..* 1..*
1
1..*
interconnects
1..*
Coordinator[CE]
1
Mission Owner[MO]
1 1
implements
ChangeManagement
BudgetAuthority
1
11
1
governs
Environment 1 1..*
interacts
1..*
CooperationStandards
[CS]
1..*1 enforces
Users
1 1..*
benefit
Copyright Frank J. Furrer 2013 96
ConstituentSystem
[CS]
Process[Proc]
1..*1..*1..*1..*
CooperationMechanism [CE]
CooperationContract [CC]
ManagementOwnership
Authority[CS]
Global(synchronized)
Time
delivers
Function [F]
utilizes
1..*Function Owner
[FO]
1..* 1
manages
Capability [C]
1..*
builds
1..*
1..*
1
1) Transparent architecture:SoS Structural Model
Furrer/Kopetz 2013
Future-Proof Software-Systems: Systems-of-Systems (SoS)
Copyright Frank J. Furrer 2013 97
Future-Proof Software-Systems: Industry Standards
Architecture Principle A11:
Systems-of-Systems (SoS)
1. Develop and maintain a transparent, complete, up-to-date, welldocumented architecture for the SoS
2. Fully understand and (formally) specify all dependencies
3. Fully understand and (legally) specify the governance of the SoS
4. Define all dependencies by formal contracts
A11
Copyright Frank J. Furrer 2013 98
4. Define all dependencies by formal contracts
5. Use effective risk analysis and mitigation for the early detection ofoperational faults, errors or unwanted emergent behaviour
Justification: A
Future-Proof Software-Systems: Lessons learned for FPSS
Lessons learned for future-proof software-systems:
Many of the interesting and useful systems are „Systems-of-systems“
In a system-of-systems the architect and the management of aspecific constituent system loose considerable (direct) governance
The loss of (direct) governance must be compensated by completecontracts (functional, non-functional, legal etc.)
Copyright Frank J. Furrer 2013 99
contracts (functional, non-functional, legal etc.)
Emerging properties – especially unknow or unwantednegative/harmful properties – are a considerable risk in many SoS‘s
Risk management & risk mitigation becomes a central issue in thedevelopment, operation and evolution of SoS‘s
Operational monitoring of the SoS‘s operation for the early detectionof faults, failures, emerging properties is important
Future-Proof Software-Systems: Research Topics
Research Questions Master Thesis Level:•
Copyright Frank J. Furrer 2013 100
Research Questions Ph.D. Thesis Level:• Develop a modeling framework for SoS-architecture (based on the many different,but unsatisfactory approaches in the literature
• Develop a modeling framework for SoS-governance, including the necessarycontract syntax and semantics for the implementation and operational monitoring
• Develop a modeling framework for emergent behaviour of an SoS. Include theoperational monitoring and risk mitigation measures
Future-Proof Software-Systems: References
References:ReferencesMaier98 Mark W. Maier:
Architecting principles for systems-of-systems
Systems Engineering, Volume 1, Issue 4, 1998. Pages 267–284
Downloadable from: http://www.infoed.com/Open/PAPERS/systems.htm [last accessed: 26.12.2012]
Copyright Frank J. Furrer 2013 101
Future-Proof Software-Systems:
A12: Complexity andSimplification
Industrial Architecture
Copyright Frank J. Furrer 2013 102
EngineeringDiscipline
ArchitectureProcess
GovernanceInstrument
Structure
ArchitecturePrinciples
ArchitectureGuidelines &Best Practices
ArchitectureMetrics
ArchitectureStandards
BusinessArchitecture
ApplicationsArchitecture
Safety &Security
Architecture
IntegrationArchitecture
TechnicalArchitecture
StandardsEnforcement
TechnologyPortfolio
Management
ApplicationsPortfolio
Management
ServicePortfolio
Management
IT StandardsDevelopment
ComplexityManagement
Architect‘sTraining
Business-to-ITAlignment
ArchitectureCommunication
Future-Proof Software-Systems: Complexity and Simplification
htt
p:/
/blo
g.d
igit
al.te
lefo
nic
a.c
omComplexity
• Biology• Sociology• Astronomy• Physics• …• Information Technology (IT)
Copyright Frank J. Furrer 2013 103
“Complexity is that property of an IT-system which makes it difficult to formulate its overallbehaviour, even when given complete information about its parts and their relationships“
Complexity = (IT-) Risk
Future-Proof Software-Systems: Complexity and Simplification
Example: FAA Air Traffic Control System
1995: The FAA (US Federal AviationAgency) admits the colossalmodernization failure of the AdvancedAutomation System (AAS). That efforttook 16 years of effort and costtaxpayers $23 billion
htt
p:/
/w
ww
.in
form
ati
on
week.c
om
/664/64iu
faa.h
tmh
ttp:/
/cla
rion
con
ten
tmedia
.com
Copyright Frank J. Furrer 2013 104
htt
p:/
/w
ww
.in
form
ati
on
week.c
om
/664/64iu
faa.h
tm
“FAA did not recognize the technical complexity of the effort,realistically estimate the resources required, adequately oversee itscontractors' activities, or effectively control system requirements"
Future-Proof Software-Systems: Complexity and Simplification
Complexity = (IT-) Risk
good bad
• Complexity makes large,useful systems possible
• It forces us to develop sciencefor dealing with complexity
• it is a highly interesting and
• It is the single most importantreason for disasters in IT
• It makes understanding,explaining and evolving IT-systemsvery hard
Copyright Frank J. Furrer 2013 105
Complexity must be managed !
• Identify it• Understand it• Avoid and reduce it as much as possible
fruitful area of research • It may lead to unpredictable(= emergent) behaviour
Future-Proof Software-Systems: Complexity and Simplification
ComplexityKnown (identified)Complexity
Unknown (hidden)Complexity
Necessary (desired)Complexity[Essential Complexity]
manage it use it carefully
Managing Complexity:
Copyright Frank J. Furrer 2013 106
Unnecessary(undesired)Complexity[Accidental Complexity]
avoid iteliminate it
attack it
Future-Proof Software-Systems: Complexity and Simplification
FF
F
F
F
F
F
FF
F
F
FF
F
F
F
F
FF
F
F
F
F
F
FF
Reminder: „Partitioning & Encapsulation“
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
Copyright Frank J. Furrer 2013 107
FFF
F
FF
FF
F
FF
FFF
F F
FF
FF
F
Partinioning:Encapsulation Unit
IF
IF
IF
IF
IF
IF
IFIFIFIF
IF IF
IF
IF
IF IF
IF
IF
IFIFIF Encapsulation:
Interface
Future-Proof Software-Systems: Complexity and Simplification
System Complexity System Boundary (Governance !)
Functionalcomplexity ofinternalinterfaces
Functionalcomplexity ofexternalinterfaces
Copyright Frank J. Furrer 2013 108
Numberof Parts(EncapsulationUnits)
Numberof internaldependencies
Numberof externaldependencies
Future-Proof Software-Systems: Complexity and Simplification
Complexity Contributors:
Contributor Metric
Number of Parts (Structural complexity) Integer number (NP)
Number internal dependencies (Structural complexity) Integer number (NiD)
Number external dependencies (Structural complexity) Integer number (NeD)
Functional complexity of internal interfaces # of FP, UCP (FiIj)
Functional complexity of external interfaces # of FP, UCP (FeIk)
Copyright Frank J. Furrer 2013 109
Functional complexity of external interfaces # of FP, UCP (FeIk)
A number of complexity metrics exist in the literature.
However, none of them is satisfactory for engineering system complexity
Interesting open research question (PhD-Level) !
Complexity Metric:
SysCompl = f[NP,NiD,NeD,FiIj,FeIk]
Future-Proof Software-Systems: Complexity and Simplification
Sources of unnessery and unknown complexity:
Specifications: overlaps, duplication
Redundancy: functional, data & interface redundancy
Lack of conceptual integrity: diverging concepts, misunderstandings
Disregard of (industry) standards: technology explosion
3rd party software: forced, incompatible concepts, redundancy
Copyright Frank J. Furrer 2013 110
If you don‘t properly manage complexity, it may kill your IT-system
Neglected legacy systems: old technology, out-of-use components
Inconsistent housekeeping: „dead“ code & data
Diversity in vertical architectures: proliferation of solutions
Future-Proof Software-Systems: Complexity and Simplification
The nasty ways of complexity:
Complexity creeps up, incrementally growing over long time
Complexity occurs locally in many different specifications, programs andinterfaces, but its impact is global
Complexity may grow to such a state, that the IT-system becomesunmanageable or commercially unviable
Copyright Frank J. Furrer 2013 111
How can we manage complexity ?
a) Implement a process step „simplification“ in your development process
b) Periodically carry out re-architecture programs „complexity reduction“
Containing complexity growth requires continuous and substantialmanagement intervention and strong management committment
Future-Proof Software-Systems: Complexity and Simplification
Implement a process step „simplification“ in your development process
Reqs Specs Arch Design Build TestSimplify
Check-list
Copyright Frank J. Furrer 2013 112
Periodically carry out re-architecture programs „complexity reduction“
http://blogs.proquest.com
Application Landscape
Technology Portfolio
Re-Architecture Program 2014 Eliminate … Refactor … Replace … Redesign …
etc.
Effort:1‘100 MM
Cost:27 M€
Future-Proof Software-Systems: Complexity and Simplification
Complexity Reduction Simplification Process Architecture Exploration
NewRequirements
(Functional & Quality)
Business
newchanged
Arc
hite
ctu
reD
evelo
pm
ent
Arc
hite
ctu
reE
valu
atio
n
Copyright Frank J. Furrer 2013 113
Arc
hite
ctu
reIm
ple
men
tatio
nA
rch
itectu
reE
valu
atio
n
• Functional Reqs• Quality Properties
• Fit into Legacy• Refactoring
• …
Future-Proof Software-Systems: Industry Standards
Architecture Principle A12:
Complexity and Simplification
1. Actively manage the complexity in your system:• Identify it• Understand it• Avoid and reduce it as much as possible
2. Install a formal, controlled process step „simplification“ in your designand evolution procedures
3. For any (substantial) set of requirements develop several possible
A12
Copyright Frank J. Furrer 2013 114
3. For any (substantial) set of requirements develop several possiblearchitectures and use an architecture assessment method to select the
most suitable
4. Periodically execute re-architeture programs with the objective to reducethe complexity of the IT-system
Justification: Complexity is the largest single risk in IT-systems. Bymanaging complexity, the unwanted or unnecessary complexity can bereduced – thus making the IT-system more agile, manageable anddependable.
Architecture Topic Map
Future-Proof Software-Systems: Complexity and Simplification
Functionality
Architecture-Quality:
Requirements• Req A• Req B•…• Req Y
Fu
ture
-Pro
ofS
oftw
are
-Syste
mE
ngin
eer
Copyright Frank J. Furrer 2013 115
Architecture-Greatness:• Simplicity• Elegance
Architecture-Quality:• Agility• Availability• Security• Safety• Performance• …
http
://de.1
23rf.c
om
Syste
mE
ngin
eer
Future-Proof Software-Systems: Lessons learned for FPSS
Lessons learned for future-proof software-systems:
System complexity can be classified in a matrix necessary/unecessaryand known/unknown
The unnecessary and the unknown complexity are a high danger forthe IT-systems. They are the single most important source of IT-risk
Copyright Frank J. Furrer 2013 116
Consequent active simplification is a measure to reduce and eliminateunwanted complexity
Active simplification consists of a simplification step in thedevelopment process and of periodic re-architecture programs to reducecomplexity in the applications landscape and in the technology portfolio
The highest talent which a good future-proof software-systemsengineer can have is to produce simple and elegant architectures
Future-Proof Software-Systems: Research Topics
Research Questions Master Thesis Level:• Compile a comprehensive list of complexity metrics – especially for engineeringsystems – from the literature. Show examples of their use, value and restrictions.
Research Questions Ph.D. Thesis Level:
Copyright Frank J. Furrer 2013 117
Research Questions Ph.D. Thesis Level:• Investigate and assess all existing system complexity measures in literature.Develop a suitable engineering system complexity metric which can be used in thesimplification of architecture design (architecture exploration) for future-proofsoftware-systems. Define the process for measurement, interpretation and use ofthe complexity metric.
Future-Proof Software-Systems: References
References:
ReferencesSessions09 Roger Sessions:
The IT Complexity Crisis – Danger and Opportunity. White Paper,
November 2009. Downlodadable from:
http://www.objectwatch.com/whitepapers/ITComplexityWhitePaper.pdf (last accessed: 8.2.2013)Sessions08 Roger Sessions:
Simple Architectures for Complex Enterprises
Microsoft Press, Redmond, USA, 2008. ISBN 978-0-7356-2578-5Kopetz11 Hermann Kopetz:
Real-Time Systems – Design Principles for Distributed Embedded Applications
Springer-Verlag, New York, USA. 2nd edition 2011. ISBN 978-1-4419-8236-0Rajan13 Ajitha Rajan, Thomas Wahl:
Copyright Frank J. Furrer 2013 118
Rajan13 Ajitha Rajan, Thomas Wahl:
CESAR - Cost-efficient Methods and Processes for Safety-Relevant Embedded Systems
Springer Verlag, Berlin, Heidelberg, 2013. ISBN 978-3-709-11386-8Spinellis09 Diomidis Spinellis, Georgios Gousios (Editors):
Beautiful Architecture – Leading Thinkers Reveal the Hidden Beauty in Software Design
O’Reilly Media, USA, 2009. ISBN 978-0-596-51798-4Clements02 Paul Clements, Rick Kazman, Mark Klein:
Evaluating Software Architectures – Methods and Case Studies
Addison-Wesley, Boston, USA, 2002. ISBN 0-201-70482-XGell-Mann94 Murray Gell-Mann:
The Quark and the Jaguar – Adventures in the Simple and the Complex
Abacus (Hachette UK), London UK, 1994. ISBN 978-0-349-10649-6Leukert11a Peter Leukert, Andreas Vollmer, Bart Alliet, Mark Reeves:
IT Complexity metrics – How do you measure up?
CAPCO Inc., Washington DC, USA, White Paper 2011. Downloadable from; www.capco.com [last accessed29.9.2013]
Future-Proof Software-Systems:
Appendix: Additional Topics
Industrial Architecture
Copyright Frank J. Furrer 2013 119
EngineeringDiscipline
ArchitectureProcess
GovernanceInstrument
Structure
ArchitecturePrinciples
ArchitectureGuidelines &Best Practices
ArchitectureMetrics
ArchitectureStandards
BusinessArchitecture
ApplicationsArchitecture
Safety &Security
Architecture
IntegrationArchitecture
TechnicalArchitecture
StandardsEnforcement
TechnologyPortfolio
Management
ApplicationsPortfolio
Management
ServicePortfolio
Management
IT StandardsDevelopment
ComplexityManagement
Architect‘sTraining
Business-to-ITAlignment
ArchitectureCommunication
Future-Proof Software-Systems: Additional Topics
Software Product Lines
Copyright Frank J. Furrer 2013 120
Future-Proof Software-Systems: Software Product Lines
Copyright Frank J. Furrer 2013 121
Future-Proof Software-Systems: Lessons learned for FPSS
Lessons learned for future-proof software-systems:
Copyright Frank J. Furrer 2013 122
Future-Proof Software-Systems: References
References:References
Copyright Frank J. Furrer 2013 123
Future-Proof Software-Systems: Additional Topics
Resilient Software Systems
Copyright Frank J. Furrer 2013 124
http://fcw.com/articles/2013/07/08/exectech-operational-resilience.aspx
Future-Proof Software-Systems: Resilience
Copyright Frank J. Furrer 2013 125
Future-Proof Software-Systems: Lessons learned for FPSS
Lessons learned for future-proof software-systems:
Copyright Frank J. Furrer 2013 126
Future-Proof Software-Systems: References
References:
ReferencesHollnagel06 Erik Hollnagel, David D. Woods, Nancy Leveson (Editors):
Resilience Engineering – Concepts and Precepts
Ashgate Publishing Ltd., Aldershot, UK, 2006. ISBN 978-0-7546-4904-5Leveson11 Nancy G. Leveson:
Engineering a Safer World – Systems Thinking applied to Safety
MIT Press, Cambridge MA, USA, 2011. ISBN 978-0-262-01662-9Axelrod13 C. Warren Axelrod:
Engineering Safe and Secure Software Systems
Artech House, Norwood, USA, 2013. ISBN 978-1-60807-472-3Brenner11 Joel Brenner:
America the Vulnerable – Inside the New Threat Matrix of Digital Espikonage, Crime, and Warfare
Copyright Frank J. Furrer 2013 127
Penguin Press, New York, USA, 2011. ISBN 978-1-59420-313-8Merkow10 Mark S. Merkow, Lakshmikanth Raghavan:
Secure and Resilient Software Development
CRC Press, Taylor & Francis Group, Boca Raton, USA, 2010. ISBN 978-1-4398-2696-6
Future-Proof Software-Systems: Cloud Computing Architecture
Cloud Computing Architecture
Copyright Frank J. Furrer 2013 128
http://ec.europa.eu/commission_2010-2014/kroes/en/tags/cloud-computing
Future-Proof Software-Systems: Cloud Computing Architecture
Cloud Definitions:
SaaSSoftware as a Service
PaaSPlatform as a Service
http://www.salesforce.com/eu
Application
End-User
Developper
Copyright Frank J. Furrer 2013 129
IaaSInfrastructure as a Servicehttp://www.rackspace.com
http://www.windowsazure.com/en-us
System Manager
Future-Proof Software-Systems: Cloud Computing Architecture
Cloud Definitions:
SaaSSoftware as a Service
PaaSPlatform as a Service
Application
End-User
Developper
Copyright Frank J. Furrer 2013 130
Cloud =Execution andDeliveryStructure
IaaSInfrastructure as a Service
System Manager
Cloudservice
consumer
Cloudserviceprovider
„pay as you go“
Cloud Definitions:
SaaSSoftware as a Service
PaaSPlatform as a Service
Application
End-User
Developper
Copyright Frank J. Furrer 2013/14 131
IaaSInfrastructure as a Service
System Manager
Future-Proof Software-Systems: Cloud Computing Architecture
Cloud Benefits:
SaaS
PaaS
Benefits for the Cloud Service Consumers:
• Minimal investment
• Low running/operational cost
• Technology-independent
• No vendor lock-in
• Short time-to-market („assemble“ instead of „build“)
• Choose „best of breed“
• Simple up-/downscaling
Copyright Frank J. Furrer 2013 132
IaaS
Cloud = Executionand Delivery Structure
Cloud Usage =Commercial decision(Business model)
Benefits for the Cloud Service Providers:
• Large market
• No copying, no IPR disclosure
• Economy of scale
• Interesting new business models
• Specialization
Future-Proof Software-Systems: Cloud Computing Architecture
Cloud Risks:
SaaS
PaaS
Company& Personal
Data
Unauthorized access,hacking
PrivacyData Loss
Availability
Copyright Frank J. Furrer 2013 133
IaaS
LargeScale
Disaster
LocalDisaster
IndustrialEspionage
Future-Proof Software-Systems: Cloud Computing Architecture
Cloud Risks:
SaaS
PaaS
Lossofdirectcontrol
compensate by:
Copyright Frank J. Furrer 2013 134
IaaS Contract
SLA: ServiceLevel Agreement
• functional• operational• commercial
• legal
Cloud Service Level Agreements (Cloud-SLA)
Future-Proof Software-Systems: Cloud Computing Architecture
Contract
SLA: ServiceLevel Agreement
• functional• operational• commercial
• legal
Cloud Service Level Agreements (SLAs) :
automatic service discoverySLA negotiationQoS-based SLA search
Copyright Frank J. Furrer 2013 135
Cloud-SLATemplate
Cloud-SLAModeling &DescriptionLanguage
Machine-readable
SLA
Future-Proof Software-Systems: Cloud Computing Architecture
Cloud Definitions:
Application
End-User
Developper
Software as a Service SaaS
BaaSBusiness as a Service
Business Process
Copyright Frank J. Furrer 2013 136
System Manager
Software as a Service
PaaSPlatform as a Service
IaaSInfrastructure as a Service
SaaS
Future-Proof Software-Systems: Industry Standards
Architecture Recommendation for Cloud Service Providers:
1. Implement the architecture principles as presented in this lecture
2. Deliver the cloud-services via established, accepted industry-standards
3. Provide transparency on your architecture, implementation and evolution
4. Give factual & contractual assurance for the quality properties(dependability, availability, privacy, disaster-recovery, performance etc.)
RCloud
Copyright Frank J. Furrer 2013 137
Architecture Recommendation for Cloud Service Consumers:
1. Compensate the loss of transparence by requiring sufficient informationabout cloud service provider architecture, quality properties etc.
2. Compensate the lack of control by clear, explicit, legally binding Cloud-SLAs (Cloud service level agreements)
3. Insist on established, accepted industry-standards for the delivery of allcloud-services
Future-Proof Software-Systems: Lessons learned for FPSS
Lessons learned for future-proof software-systems:
The cloud paradigm offers very interesting commercial benefits
When using IaaS, PaaS, SaaS or BaaS („cloudification“) aloss of direct control results
Many of the quality properties (Security, availability, privacy etc.) are
Copyright Frank J. Furrer 2013 138
Many of the quality properties (Security, availability, privacy etc.) areunder the control of the cloud service provider
The loss of direct control must be compensated by clear, explicit,and legally binding contracts (Cloud service level agreements)
„Cloudification“ offers new ways of systems engineering, e.g.identify and use cloud services instead of building the functionality.
Focus shifts from „building“ to „assembling“ – and needs new,different engineering processes
Future-Proof Software-Systems: References
References:
ReferencesMahmood13 Zaigham Mahmood, Saqib Saeed (Editors):
Software Engineering Frameworks for the Cloud Computing ParadigmSpringer-Verlag, London, 2013. ISBN 978-1-4471-5030-5
Ackermann13 Tobias Ackermann:
IT Security Risk Management – Perceived IT Security Risks in the Context of Cloud Computing
Springer Gabler Verlag, Springer Fachmedien Wiesbaden, 2013. ISBN 978-3-658-01114-7Pearson13 Siani Pearson, George Yee (Editors):
Privacy and Security for Cloud Computing
Springer-Verlag, London, 2013. ISBN 978-1-447-14188-4Lehner13 Wolfgang Lehner, Kai-Uwe Sattler:
Web-Scale Data Management for the Cloud
Springer-Verlag, New York & Heidelberg, 2013. ISBN 978-1-4614-6855-4
Copyright Frank J. Furrer 2013 139
Springer-Verlag, New York & Heidelberg, 2013. ISBN 978-1-4614-6855-4Mahmood11 Zaigham Mahmood, Richard Hill (Editors):
Cloud Computing for Enterprise ArchitecturesSpringer-Verlag, London, 2011. ISBN 978-1-4471-2235-7
Reese09 George Reese:
Cloud Application Architecture – Building Applications and Infrastructure in the Cloud
O‘Reilly Media Inc., Sebastopol, CA, USA, 2011. ISBN 978-0-596-15636-7Munz11 Frank Munz:
Middleware and Cloud Computing
Munz & More Publishing, 2011. ISBN 978-0-9807980-0-5Wieder11 Philipp Wieder, Joe M. Butler, Wolfgang Theilmann, Ramin Yahyapour (Editors):
Service Level Agreements for Cloud Computing
Springer New York, N.Y., 2011. ISBN 978-1-4614-1613-5EMA10 ENTERPRISE MANAGEMENT ASSOCIATES® (EMA™):
Designing a Responsible Cloud Infrastructure
White Paper, July 2011. Downloadable from:http://www.informationweek.com/whitepaper/Infrastructure/Network-Systems-Management/designing-a-responsible-cloud-infrastructure-wp1311970476 [last accessed: 30.10.2013]
Future-Proof Software-Systems: Additional Topics
Legacy System Migration/Modernizationh
ttp:/
/w
ww
.mid
con
tin
en
t.org
/pre
ss/pre
ss_r
ivets
.htm
l
Copyright Frank J. Furrer 2013 140
htt
p:/
/w
ww
.mid
con
tin
en
t.org
/pre
ss/pre
ss_r
ivets
.htm
l
Future-Proof Software-Systems: Legacy Systems
What is a legacy system ? http://www.midcontinent.org/press/press_rivets.html
… a system built yesterday
Characteristics of a legacy system:
• Outdated technology (Hardware & Software)
Copyright Frank J. Furrer 2013 141
• Outdated technology (Hardware & Software)
• Bad architecture
• Lack of documentation
• High resistance to change (= low agility)
• Large technical debt
Future-Proof Software-Systems: Legacy Systems
Copyright Frank J. Furrer 2013 142
Future-Proof Software-Systems: Industry Standards
Architecture Recommendation for etc.)
RLegacy
Copyright Frank J. Furrer 2013 143
Future-Proof Software-Systems: References
References:
References
Copyright Frank J. Furrer 2013 144
Future-Proof Software-Systems: Context & Definitions
BusinessCase
justifies
Future-ProofSoftware-System
QualityProperties
definedby
Structure
enables
Architectureforms
guide
control
DevelopmentProcess
builds
ArchitecturePrinciples
enforce
Copyright Frank J. Furrer 2013 145
Future-ProofSoftware-Systems
Engineer
leads
appliesMetrics
quantify
uses
WorkingEnvironment
is embedded in
Part 3
Future-Proof Software-Systems
Copyright Frank J. Furrer 2013 146
This is the end of Part 2:
you know now the foundations of future-proof software-systems andyou possess the toolbox to engineer them (Architecture Principles
and Patterns)
Part 3:
describes the „future-proof software-systems engineer“ and his working context