SlideShare una empresa de Scribd logo
1 de 31
LSCITS Engineering, York EngD Programme, 2010 Slide 1
LSCITS Engineering
Prof. Ian Sommerville
St Andrews University
LSCITS Engineering, York EngD Programme, 2010 Slide 2
Objectives
• To discuss why the traditional approach to
engineering is not adequate for building LSCITS
• To introduce the notion of LSCITS engineering and to
introduce LSCITS engineering challenges
• To suggest a research agenda for LSCITS
engineering
LSCITS Engineering, York EngD Programme, 2010 Slide 3
What is an LSCITS?
• The key difference between an LSCITS and other
classes of large system is that there are significant
‘unknowns’ in the environments in which LSCITS is
procured, developed and operated.
• An LSCITS is an LSITS (or a collection of LSITSs)
where unknown, unstable and uncontrollable factors
in the systems procurement, development and
operational environment affect the design and use of
the system
• LSCITS have a close and entangled relationships
with the socio-technical systems that rely on these
LSCITS
LSCITS Engineering, York EngD Programme, 2010 Slide 4
An LSCITS model
S1
S3
S4
S5
S6
S7
S2
STS 1
STS 2
LSCITS Engineering, York EngD Programme, 2010 Slide 5
The basis of engineering
A discussion of the fundamental assumption that is a
foundation for engineering and systems development
LSCITS Engineering, York EngD Programme, 2010 Slide 6
Reductionism
• Reductionism
– “an approach to understanding the nature of complex things
by reducing them to the interactions of their parts, or to
simpler or more fundamental things”.
• Reductionism underpins most engineering, including
software engineering
• We see reductionism in notions such as
• Contractor/sub-contractor relationships
• Top-down design
LSCITS Engineering, York EngD Programme, 2010 Slide 7
Reductionist assumptions
• Control
– Reductionist approaches assume that we have control over the
organisation of the system. It is then possible to decompose the
system into parts that can themselves be engineered using
reductionist approaches
• Understandable relationships
– The relationships between the parts are visible and understandable
• A rational world
– Reductionist approaches assume that rationality will be the principal
influence in decision making
• Definable problems
– Reductionist approaches assume that the problem can be defined
and the system boundaries established
LSCITS Engineering, York EngD Programme, 2010 Slide 8
Software engineering
• Developments in software engineering have largely adopted a
reductionist perspective:
– Design methodologies
– Formal methods
– Agile approaches
– Software architecture
– Model-driven engineering
• Reductionist approaches to software engineering have been
successful in allowing us to construct larger software systems
• More effective reductionist approaches allow us to deal with
increasingly complicated systems.
LSCITS Engineering, York EngD Programme, 2010 Slide 9
Problems with reductionism
• Scale
• When things get too big, then reductionist approaches
become intellectually unmanageable because of the
complexity of the interactions between the parts of the whole
• Environment
• The relationships between a system and its environment are
often uncontrollable
• People
• Who refuse to behave in a rational and deterministic way
LSCITS Engineering, York EngD Programme, 2010 Slide 10
Engineering project failures
• Engineering projects ‘fail’ (go over schedule and
budget) when reductionist assumptions break down
• Edinburgh tramways project
– Environment problems. There are no maps of existing utilities
and there have been complex problems of moving pipes and
cabling to accommodate the tram system
– There has been considerable political wrangling between the
local government and the national government
• Software project failures
– Relatively common because, even for LSITS, reductionist
assumptions are dubious
LSCITS Engineering, York EngD Programme, 2010 Slide 11
Complex and complicated
systems
• Reductionist approaches are intended to help deal
with complicated systems i.e. systems where the
relationships between elements are largely static and
which can (in principle) be understood and controlled
• However, LSCITS are complex systems, with
dynamic relationships between elements. It is is
impossible to acquire and maintain a complete
understanding of the system and where elements are
independently controlled and often have
undocumented side-effects
LSCITS Engineering, York EngD Programme, 2010 Slide 12
LSCITS engineering
Reductionism + Reality
LSCITS Engineering, York EngD Programme, 2010 Slide 13
LSCITS development
Software capabilities
S1
S2
S3
S4
LSCITS
Systems contribute
capabilities
Used to construct
Systems Development
Creates
new
???
???
LSCITS Engineering, York EngD Programme, 2010 Slide 14
Continuous development
• It is rare (perhaps unknown) for an LSCITS to be
developed from ‘scratch’
• Rather, an LSCITS emerges from an assembly of
existing technical and socio-technical systems that
are supplemented by the development of new
software to help achieve a broad set of goals
• LSCITS engineering is a continual process of
procurement, development, deployment, operation
and de-commissioning
LSCITS Engineering, York EngD Programme, 2010 Slide 15
Brownfield development
• LSCITS are rarely, if ever, developed from scratch
• It is often the case that an LSCITS emerges after
experience with a range of individual systems
• By the time we recognise the need for an LSCITS, we
have already accumulated a range of constraints:
– Legacy systems
– Technologies
– Socio-technical systems
– Laws and regulations
LSCITS Engineering, York EngD Programme, 2010 Slide 16
Alternatives to reductionism
• Bricolage
– Systems are developed opportunistically by integrating
available systems and components and by using whatever
integration mechanisms work at the time
– Mashups, where different web services are combined
opportunistically, are examples of bricolage
• Problems with fit to socio-technical world, security,
dependability, maintainability
LSCITS Engineering, York EngD Programme, 2010 Slide 17
Alternatives to reductionism
• Emergence
– Systems are developed using an evolutionary ‘survival of the
fittest’ approach based on genetic algorithms, etc.
– The argument is made that this is what underlies the
development of the web
• Problems
– Uncontrollable. You cannot be sure that you get the system
that you need or that the system will not have undesirable
properties
– Visibility. It is hard to demonstrate compliance, safety, etc.
– Scale. Notwithstanding the example of the web, there is no
evidence that current approaches based on emergence scale
to large systems
LSCITS Engineering, York EngD Programme, 2010 Slide 18
Has reductionism had its day?
• At the moment, reductionism is the only tool that we
have for the specification, design and construction of
LSCITS
• The problem is not in reductionism in itself, but in
believing that it is all that is required to engineering
complex systems
• We need to move to a situation where we use
reductionism as far as possible but recognise that we
need to temper this with a dose of reality
LSCITS Engineering, York EngD Programme, 2010 Slide 19
Better software engineering?
• LSCITS engineering problems cannot be solved by
– improved software processes, process maturity, quality
management etc.
– better tools and technology
– more rigorous methods of development
– Better project management
• These can all contribute and are worth doing but
break down in the face of large-scale uncertainty
• A key requirement for LSCITS engineering is the
ability to represent, model and demanage both scale
and uncertainty
LSCITS Engineering, York EngD Programme, 2010 Slide 20
LSCITS Engineering
• LSCITS Engineering (LSCITS-E) is the process of creating,
evolving and managing LSCITSs.
• Not just a technical discipline – needs involvement of people
with a wide range of expertise (social science, psychology,
engineering, management, etc.)
• We need new systems and software engineering approaches
(e.g. designing for failure) that take into account the inherent
complexities of LSCITS and the need to cope with uncertainty
• LSCITS-E will incorporate current software engineering
activities(notably requirements engineering and system
architecture), you should bear in mind that current methods are
what we’ve got rather than what we need
LSCITS Engineering, York EngD Programme, 2010 Slide 21
The realities of LSCITS-E
• Social and technical are inseparable
– Focus on the social and the technical together rather than consider
technical issues in isolation
• Perfection is unattainable
– Adopt a pragmatic acceptance of the world as it is, populated by
imperfect people
• You can’t win
– Accept that systems will always be a compromise, with multiple,
often conflicting, notions of what is meant by ‘success’ and where
the system boundaries lie
• Things will go wrong
– Adopt a view of dependability where partial failure is normal and
tolerable
LSCITS Engineering, York EngD Programme, 2010 Slide 22
LSCITS-E Challenges
Problems that we have to address to make LSCITS
engineering a reality
LSCITS Engineering, York EngD Programme, 2010 Slide 23
LSCITS – E challenges
• Managing scale
• Dealing with uncertainty
• Thinking and reasoning about LSCITS
• Making systems work together effectively
• Standards for LSCITS
LSCITS Engineering, York EngD Programme, 2010 Slide 24
Scale causes problems
• No centralised or unified understanding of the ‘system as a
whole’
• The ability to understand an individual constituent of the system
and its relationships decreases as the number of constituents
increases
• Problems of management and governance are exacerbated and
increase as new systems are added and the overall LCSITS
increases in size
• The (socio-technical) effects of changes to constituents of the
system become impossible to predict
• Size makes it more difficult to reach consensus about system
requirements
LSCITS Engineering, York EngD Programme, 2010 Slide 25
Coping with uncertainty
• Uncertainty is a universal characteristics of LSCITS and the
principal cause of system problems is unpredicted events and
behaviour in both the technical and socio-technical systems
– Aleatory uncertainty
• Uncertainty that relates to the fact that the world is uncertain.
– Epistemic uncertainty
• Uncertainty that arises because our knowledge of the world is incomplete
• Coping with uncertainty is about designing for flexibility and
utilising the abilities of people to deal with unseen problems
• Will be discussed in more detail in the following lecture
LSCITS Engineering, York EngD Programme, 2010 Slide 26
LSCITS abstractions
• Our existing abstractions (functions, objects, component, etc.)
that we use in defining software systems are based on a
reductionist view of the world
• We need new abstractions which are more effective at
representing large-scale systems and accommodating
uncertainty to allow us to represent and reason about LSCITS
• Examples of possible abstractions
– Responsibilities
• A duty to achieve, maintain or avoid some state, subject to constraints.
– Capabilities
• The ability to completely or partially discharge a responsibility
LSCITS Engineering, York EngD Programme, 2010 Slide 27
Interoperability and integration
• The constituents of LSCITS have to interoperate
(ensuring that constituent systems that can operate
smoothly together) and integrate (ensuring that
constituent systems can exchange information in a
controlled way)
– Interoperability is about control; integration is about data
– Integration is not just about physical data exchange but also
must take into account business rules and data regulations
• To achieve effective interoperation and integration,
we need to pay attention to socio-technical issues,
system requirements and architecture
LSCITS Engineering, York EngD Programme, 2010 Slide 28
Standards
• General interoperability/integration can only be
achieved if standards are widely adopted and
systems are built that implement these standards
• Currently, the standards that have been accepted
and that are widely adopted are low-level standards
– Standards for data exchange
– Standards for service syntax
• We need standards based on semantics if true
interoperability is to be achieved
LSCITS Engineering, York EngD Programme, 2010 Slide 29
Research agenda for LSCITS
engineering
• Requirements engineering for LSCITS
– LSCITS means uncertainty and we need better tools and
techniques for understanding where uncertainties exist and
how the system should cope with these uncertainties.
– Better techniques are required to understand the
requirements from the socio-technical environment in which
the LSCITS is used
• Managing failure
– Moving from a world where failure is something to be avoided
to a world where failure is normal and simply has to be lived
with
– Ensuring the ‘small failures’ do not cascade to ‘large failures’
LSCITS Engineering, York EngD Programme, 2010 Slide 30
Research agenda for LSCITS
engineering
• LSCITS architecture
– Abstractions for representing LSCITS architecture
– Architectural styles and patterns for LSCITS
– Architecture trade-offs and system consequences
• Dynamic systems
– Integration mechanisms that allow systems to evolve rapidly
in response to changing demands and capabilities,
governance, standards and regulation
– Methods of understanding and managing these systems
LSCITS Engineering, York EngD Programme, 2010 Slide 31
Key points
• Reductionism is the basis of engineering, including
software engineering. However reductionism cannot
cope effectively with complexity
• Better reductionist approaches are not adequate, in
themselves, for building LSCITS but we cannot
simply discard our current approaches
• Key challenges for LSCITS engineering are
managing scale, developing new abstractions to
model LSCITS, integration and interoperation and
challenges

Más contenido relacionado

La actualidad más candente

Designing Complex Systems for Recovery (LSCITS EngD 2011)
Designing Complex Systems for Recovery (LSCITS EngD 2011)Designing Complex Systems for Recovery (LSCITS EngD 2011)
Designing Complex Systems for Recovery (LSCITS EngD 2011)Ian Sommerville
 
Expanding our Understanding: Complex Adaptive Systems
Expanding our Understanding: Complex Adaptive SystemsExpanding our Understanding: Complex Adaptive Systems
Expanding our Understanding: Complex Adaptive SystemsJon Stevens-Hall
 
System Dynamics And the Nexus Modeling
System Dynamics And the Nexus ModelingSystem Dynamics And the Nexus Modeling
System Dynamics And the Nexus ModelingUniversity of Waterloo
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligenceKitty Soso
 
Systematic Architecture Design
Systematic Architecture DesignSystematic Architecture Design
Systematic Architecture DesignGESSI UPC
 
Applying Systems Thinking to Solve Wicked Problems in Software Engineering
Applying Systems Thinking to Solve Wicked Problems in Software EngineeringApplying Systems Thinking to Solve Wicked Problems in Software Engineering
Applying Systems Thinking to Solve Wicked Problems in Software EngineeringMajed Ayyad
 
Right-sized Architecture: Integrity for Emerging Designs
Right-sized Architecture: Integrity for Emerging DesignsRight-sized Architecture: Integrity for Emerging Designs
Right-sized Architecture: Integrity for Emerging DesignsTechWell
 
People Dimension in Software Projects
People Dimension in Software ProjectsPeople Dimension in Software Projects
People Dimension in Software ProjectsEmanuele Della Valle
 
Secure DevOps - Evolution or Revolution?
Secure DevOps - Evolution or Revolution?Secure DevOps - Evolution or Revolution?
Secure DevOps - Evolution or Revolution?Security Innovation
 
Software Architecture is written with lowercase a
Software Architecture is written with lowercase aSoftware Architecture is written with lowercase a
Software Architecture is written with lowercase aRuben Gonzalez Blanco
 
Capturing Design (When you really have to)
Capturing Design (When you really have to)Capturing Design (When you really have to)
Capturing Design (When you really have to)Eoin Woods
 
Software Architecture as Systems Dissolve (OOP2016)
Software Architecture as Systems Dissolve (OOP2016)Software Architecture as Systems Dissolve (OOP2016)
Software Architecture as Systems Dissolve (OOP2016)Eoin Woods
 
Agile Architecture (MAE slides with speaker notes)
Agile Architecture (MAE slides with speaker notes)Agile Architecture (MAE slides with speaker notes)
Agile Architecture (MAE slides with speaker notes)Richard Green
 
No Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software EngineeringNo Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software EngineeringAditi Abhang
 
Leadership Without Management: Scaling Organizations by Scaling Engineers
Leadership Without Management: Scaling Organizations by Scaling EngineersLeadership Without Management: Scaling Organizations by Scaling Engineers
Leadership Without Management: Scaling Organizations by Scaling Engineersbcantrill
 
Agile and MBSE: Fusion or Fission - Modprod2013
Agile and MBSE: Fusion or Fission - Modprod2013Agile and MBSE: Fusion or Fission - Modprod2013
Agile and MBSE: Fusion or Fission - Modprod2013Pär Hammarström
 
P&msp2010 08 development-management
P&msp2010 08 development-managementP&msp2010 08 development-management
P&msp2010 08 development-managementEmanuele Della Valle
 
Building Software In-House: Too Much Control and Flexibility
Building Software In-House: Too Much Control and FlexibilityBuilding Software In-House: Too Much Control and Flexibility
Building Software In-House: Too Much Control and FlexibilityIvan Ruchkin
 

La actualidad más candente (19)

Designing Complex Systems for Recovery (LSCITS EngD 2011)
Designing Complex Systems for Recovery (LSCITS EngD 2011)Designing Complex Systems for Recovery (LSCITS EngD 2011)
Designing Complex Systems for Recovery (LSCITS EngD 2011)
 
Expanding our Understanding: Complex Adaptive Systems
Expanding our Understanding: Complex Adaptive SystemsExpanding our Understanding: Complex Adaptive Systems
Expanding our Understanding: Complex Adaptive Systems
 
System Dynamics And the Nexus Modeling
System Dynamics And the Nexus ModelingSystem Dynamics And the Nexus Modeling
System Dynamics And the Nexus Modeling
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligence
 
Systematic Architecture Design
Systematic Architecture DesignSystematic Architecture Design
Systematic Architecture Design
 
Applying Systems Thinking to Solve Wicked Problems in Software Engineering
Applying Systems Thinking to Solve Wicked Problems in Software EngineeringApplying Systems Thinking to Solve Wicked Problems in Software Engineering
Applying Systems Thinking to Solve Wicked Problems in Software Engineering
 
Right-sized Architecture: Integrity for Emerging Designs
Right-sized Architecture: Integrity for Emerging DesignsRight-sized Architecture: Integrity for Emerging Designs
Right-sized Architecture: Integrity for Emerging Designs
 
People Dimension in Software Projects
People Dimension in Software ProjectsPeople Dimension in Software Projects
People Dimension in Software Projects
 
Climbing the tree of unreachable fruits, reusing processes
Climbing the tree of unreachable fruits, reusing processesClimbing the tree of unreachable fruits, reusing processes
Climbing the tree of unreachable fruits, reusing processes
 
Secure DevOps - Evolution or Revolution?
Secure DevOps - Evolution or Revolution?Secure DevOps - Evolution or Revolution?
Secure DevOps - Evolution or Revolution?
 
Software Architecture is written with lowercase a
Software Architecture is written with lowercase aSoftware Architecture is written with lowercase a
Software Architecture is written with lowercase a
 
Capturing Design (When you really have to)
Capturing Design (When you really have to)Capturing Design (When you really have to)
Capturing Design (When you really have to)
 
Software Architecture as Systems Dissolve (OOP2016)
Software Architecture as Systems Dissolve (OOP2016)Software Architecture as Systems Dissolve (OOP2016)
Software Architecture as Systems Dissolve (OOP2016)
 
Agile Architecture (MAE slides with speaker notes)
Agile Architecture (MAE slides with speaker notes)Agile Architecture (MAE slides with speaker notes)
Agile Architecture (MAE slides with speaker notes)
 
No Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software EngineeringNo Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software Engineering
 
Leadership Without Management: Scaling Organizations by Scaling Engineers
Leadership Without Management: Scaling Organizations by Scaling EngineersLeadership Without Management: Scaling Organizations by Scaling Engineers
Leadership Without Management: Scaling Organizations by Scaling Engineers
 
Agile and MBSE: Fusion or Fission - Modprod2013
Agile and MBSE: Fusion or Fission - Modprod2013Agile and MBSE: Fusion or Fission - Modprod2013
Agile and MBSE: Fusion or Fission - Modprod2013
 
P&msp2010 08 development-management
P&msp2010 08 development-managementP&msp2010 08 development-management
P&msp2010 08 development-management
 
Building Software In-House: Too Much Control and Flexibility
Building Software In-House: Too Much Control and FlexibilityBuilding Software In-House: Too Much Control and Flexibility
Building Software In-House: Too Much Control and Flexibility
 

Similar a LSCITS-engineering

An introduction to LSCITS
An introduction to LSCITSAn introduction to LSCITS
An introduction to LSCITSIan Sommerville
 
Requirements Engineering for LSCITS
Requirements Engineering for LSCITSRequirements Engineering for LSCITS
Requirements Engineering for LSCITSIan Sommerville
 
META for Microservices: Getting your enterprise migration in motion
META for Microservices: Getting your enterprise migration in motionMETA for Microservices: Getting your enterprise migration in motion
META for Microservices: Getting your enterprise migration in motionMatt McLarty
 
Session 1: Overview of OOAD and UML 2.x
Session 1: Overview of OOAD and UML 2.xSession 1: Overview of OOAD and UML 2.x
Session 1: Overview of OOAD and UML 2.xMousuf Zaman C
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)fentrekin
 
Rethinking Software Engineering
Rethinking Software EngineeringRethinking Software Engineering
Rethinking Software EngineeringIan Sommerville
 
systems-thinking-summary-final.pptx
systems-thinking-summary-final.pptxsystems-thinking-summary-final.pptx
systems-thinking-summary-final.pptxSyedRizwan170045
 
Week4 lecture
Week4 lectureWeek4 lecture
Week4 lecturefentrekin
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineeringmoduledesign
 
Socio technical systems (LSCITS EngD)
Socio technical systems (LSCITS EngD)Socio technical systems (LSCITS EngD)
Socio technical systems (LSCITS EngD)Ian Sommerville
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineeringmoduledesign
 
Systems development fall 2006
Systems development   fall 2006Systems development   fall 2006
Systems development fall 2006eeetq
 
SE_conf2 Tomer and Ram final
SE_conf2 Tomer and Ram finalSE_conf2 Tomer and Ram final
SE_conf2 Tomer and Ram finalTomer Peretz
 
Research on Architecting Microservices: Trends, Focus, and Potential for Indu...
Research on Architecting Microservices: Trends, Focus, and Potential for Indu...Research on Architecting Microservices: Trends, Focus, and Potential for Indu...
Research on Architecting Microservices: Trends, Focus, and Potential for Indu...Paolo Di Francesco
 
.NET Fest 2018. Леонид Молотиевский. Как выжить с микросервисами
.NET Fest 2018. Леонид Молотиевский. Как выжить с микросервисами.NET Fest 2018. Леонид Молотиевский. Как выжить с микросервисами
.NET Fest 2018. Леонид Молотиевский. Как выжить с микросервисамиNETFest
 
NISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide DeckNISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide DeckUtrecht University
 
1-SoftwareEngineeringandBestPractices.ppt
1-SoftwareEngineeringandBestPractices.ppt1-SoftwareEngineeringandBestPractices.ppt
1-SoftwareEngineeringandBestPractices.pptMeenakshiPanda
 

Similar a LSCITS-engineering (20)

An introduction to LSCITS
An introduction to LSCITSAn introduction to LSCITS
An introduction to LSCITS
 
L6 LSCITS Engineering
L6 LSCITS EngineeringL6 LSCITS Engineering
L6 LSCITS Engineering
 
Requirements reality
Requirements realityRequirements reality
Requirements reality
 
Requirements Engineering for LSCITS
Requirements Engineering for LSCITSRequirements Engineering for LSCITS
Requirements Engineering for LSCITS
 
META for Microservices: Getting your enterprise migration in motion
META for Microservices: Getting your enterprise migration in motionMETA for Microservices: Getting your enterprise migration in motion
META for Microservices: Getting your enterprise migration in motion
 
Session 1: Overview of OOAD and UML 2.x
Session 1: Overview of OOAD and UML 2.xSession 1: Overview of OOAD and UML 2.x
Session 1: Overview of OOAD and UML 2.x
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)
 
Rethinking Software Engineering
Rethinking Software EngineeringRethinking Software Engineering
Rethinking Software Engineering
 
systems-thinking-summary-final.pptx
systems-thinking-summary-final.pptxsystems-thinking-summary-final.pptx
systems-thinking-summary-final.pptx
 
Week4 lecture
Week4 lectureWeek4 lecture
Week4 lecture
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineering
 
Resilience and recovery
Resilience and recoveryResilience and recovery
Resilience and recovery
 
Socio technical systems (LSCITS EngD)
Socio technical systems (LSCITS EngD)Socio technical systems (LSCITS EngD)
Socio technical systems (LSCITS EngD)
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineering
 
Systems development fall 2006
Systems development   fall 2006Systems development   fall 2006
Systems development fall 2006
 
SE_conf2 Tomer and Ram final
SE_conf2 Tomer and Ram finalSE_conf2 Tomer and Ram final
SE_conf2 Tomer and Ram final
 
Research on Architecting Microservices: Trends, Focus, and Potential for Indu...
Research on Architecting Microservices: Trends, Focus, and Potential for Indu...Research on Architecting Microservices: Trends, Focus, and Potential for Indu...
Research on Architecting Microservices: Trends, Focus, and Potential for Indu...
 
.NET Fest 2018. Леонид Молотиевский. Как выжить с микросервисами
.NET Fest 2018. Леонид Молотиевский. Как выжить с микросервисами.NET Fest 2018. Леонид Молотиевский. Как выжить с микросервисами
.NET Fest 2018. Леонид Молотиевский. Как выжить с микросервисами
 
NISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide DeckNISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide Deck
 
1-SoftwareEngineeringandBestPractices.ppt
1-SoftwareEngineeringandBestPractices.ppt1-SoftwareEngineeringandBestPractices.ppt
1-SoftwareEngineeringandBestPractices.ppt
 

Más de Ian Sommerville

Dependability requirements for LSCITS
Dependability requirements for LSCITSDependability requirements for LSCITS
Dependability requirements for LSCITSIan Sommerville
 
Conceptual systems design
Conceptual systems designConceptual systems design
Conceptual systems designIan Sommerville
 
Internet worm-case-study
Internet worm-case-studyInternet worm-case-study
Internet worm-case-studyIan Sommerville
 
Designing software for a million users
Designing software for a million usersDesigning software for a million users
Designing software for a million usersIan Sommerville
 
Security case buffer overflow
Security case buffer overflowSecurity case buffer overflow
Security case buffer overflowIan Sommerville
 
CS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failureCS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failureIan Sommerville
 
CS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disasterCS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disasterIan Sommerville
 
CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1Ian Sommerville
 
CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2Ian Sommerville
 
L17 CS5032 critical infrastructure
L17 CS5032 critical infrastructureL17 CS5032 critical infrastructure
L17 CS5032 critical infrastructureIan Sommerville
 
CS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breachCS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breachIan Sommerville
 
CS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systemsCS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systemsIan Sommerville
 
CS5032 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013CS5032 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013Ian Sommerville
 
CS5032 L10 security engineering 2 2013
CS5032 L10 security engineering 2 2013CS5032 L10 security engineering 2 2013
CS5032 L10 security engineering 2 2013Ian Sommerville
 
CS5032 L11 validation and reliability testing 2013
CS5032 L11 validation and reliability testing 2013CS5032 L11 validation and reliability testing 2013
CS5032 L11 validation and reliability testing 2013Ian Sommerville
 
CS 5032 L12 security testing and dependability cases 2013
CS 5032 L12  security testing and dependability cases 2013CS 5032 L12  security testing and dependability cases 2013
CS 5032 L12 security testing and dependability cases 2013Ian Sommerville
 
CS 5032 L7 dependability engineering 2013
CS 5032 L7 dependability engineering 2013CS 5032 L7 dependability engineering 2013
CS 5032 L7 dependability engineering 2013Ian Sommerville
 
CS 5032 L6 reliability and security specification 2013
CS 5032 L6 reliability and security specification 2013CS 5032 L6 reliability and security specification 2013
CS 5032 L6 reliability and security specification 2013Ian Sommerville
 
CS 5032 L5 safety specification 2013
CS 5032 L5 safety specification 2013CS 5032 L5 safety specification 2013
CS 5032 L5 safety specification 2013Ian Sommerville
 
CS 5032 L4 requirements engineering 2013
CS 5032 L4 requirements engineering 2013CS 5032 L4 requirements engineering 2013
CS 5032 L4 requirements engineering 2013Ian Sommerville
 

Más de Ian Sommerville (20)

Dependability requirements for LSCITS
Dependability requirements for LSCITSDependability requirements for LSCITS
Dependability requirements for LSCITS
 
Conceptual systems design
Conceptual systems designConceptual systems design
Conceptual systems design
 
Internet worm-case-study
Internet worm-case-studyInternet worm-case-study
Internet worm-case-study
 
Designing software for a million users
Designing software for a million usersDesigning software for a million users
Designing software for a million users
 
Security case buffer overflow
Security case buffer overflowSecurity case buffer overflow
Security case buffer overflow
 
CS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failureCS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failure
 
CS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disasterCS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disaster
 
CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1
 
CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2
 
L17 CS5032 critical infrastructure
L17 CS5032 critical infrastructureL17 CS5032 critical infrastructure
L17 CS5032 critical infrastructure
 
CS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breachCS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breach
 
CS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systemsCS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systems
 
CS5032 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013CS5032 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013
 
CS5032 L10 security engineering 2 2013
CS5032 L10 security engineering 2 2013CS5032 L10 security engineering 2 2013
CS5032 L10 security engineering 2 2013
 
CS5032 L11 validation and reliability testing 2013
CS5032 L11 validation and reliability testing 2013CS5032 L11 validation and reliability testing 2013
CS5032 L11 validation and reliability testing 2013
 
CS 5032 L12 security testing and dependability cases 2013
CS 5032 L12  security testing and dependability cases 2013CS 5032 L12  security testing and dependability cases 2013
CS 5032 L12 security testing and dependability cases 2013
 
CS 5032 L7 dependability engineering 2013
CS 5032 L7 dependability engineering 2013CS 5032 L7 dependability engineering 2013
CS 5032 L7 dependability engineering 2013
 
CS 5032 L6 reliability and security specification 2013
CS 5032 L6 reliability and security specification 2013CS 5032 L6 reliability and security specification 2013
CS 5032 L6 reliability and security specification 2013
 
CS 5032 L5 safety specification 2013
CS 5032 L5 safety specification 2013CS 5032 L5 safety specification 2013
CS 5032 L5 safety specification 2013
 
CS 5032 L4 requirements engineering 2013
CS 5032 L4 requirements engineering 2013CS 5032 L4 requirements engineering 2013
CS 5032 L4 requirements engineering 2013
 

Último

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Último (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

LSCITS-engineering

  • 1. LSCITS Engineering, York EngD Programme, 2010 Slide 1 LSCITS Engineering Prof. Ian Sommerville St Andrews University
  • 2. LSCITS Engineering, York EngD Programme, 2010 Slide 2 Objectives • To discuss why the traditional approach to engineering is not adequate for building LSCITS • To introduce the notion of LSCITS engineering and to introduce LSCITS engineering challenges • To suggest a research agenda for LSCITS engineering
  • 3. LSCITS Engineering, York EngD Programme, 2010 Slide 3 What is an LSCITS? • The key difference between an LSCITS and other classes of large system is that there are significant ‘unknowns’ in the environments in which LSCITS is procured, developed and operated. • An LSCITS is an LSITS (or a collection of LSITSs) where unknown, unstable and uncontrollable factors in the systems procurement, development and operational environment affect the design and use of the system • LSCITS have a close and entangled relationships with the socio-technical systems that rely on these LSCITS
  • 4. LSCITS Engineering, York EngD Programme, 2010 Slide 4 An LSCITS model S1 S3 S4 S5 S6 S7 S2 STS 1 STS 2
  • 5. LSCITS Engineering, York EngD Programme, 2010 Slide 5 The basis of engineering A discussion of the fundamental assumption that is a foundation for engineering and systems development
  • 6. LSCITS Engineering, York EngD Programme, 2010 Slide 6 Reductionism • Reductionism – “an approach to understanding the nature of complex things by reducing them to the interactions of their parts, or to simpler or more fundamental things”. • Reductionism underpins most engineering, including software engineering • We see reductionism in notions such as • Contractor/sub-contractor relationships • Top-down design
  • 7. LSCITS Engineering, York EngD Programme, 2010 Slide 7 Reductionist assumptions • Control – Reductionist approaches assume that we have control over the organisation of the system. It is then possible to decompose the system into parts that can themselves be engineered using reductionist approaches • Understandable relationships – The relationships between the parts are visible and understandable • A rational world – Reductionist approaches assume that rationality will be the principal influence in decision making • Definable problems – Reductionist approaches assume that the problem can be defined and the system boundaries established
  • 8. LSCITS Engineering, York EngD Programme, 2010 Slide 8 Software engineering • Developments in software engineering have largely adopted a reductionist perspective: – Design methodologies – Formal methods – Agile approaches – Software architecture – Model-driven engineering • Reductionist approaches to software engineering have been successful in allowing us to construct larger software systems • More effective reductionist approaches allow us to deal with increasingly complicated systems.
  • 9. LSCITS Engineering, York EngD Programme, 2010 Slide 9 Problems with reductionism • Scale • When things get too big, then reductionist approaches become intellectually unmanageable because of the complexity of the interactions between the parts of the whole • Environment • The relationships between a system and its environment are often uncontrollable • People • Who refuse to behave in a rational and deterministic way
  • 10. LSCITS Engineering, York EngD Programme, 2010 Slide 10 Engineering project failures • Engineering projects ‘fail’ (go over schedule and budget) when reductionist assumptions break down • Edinburgh tramways project – Environment problems. There are no maps of existing utilities and there have been complex problems of moving pipes and cabling to accommodate the tram system – There has been considerable political wrangling between the local government and the national government • Software project failures – Relatively common because, even for LSITS, reductionist assumptions are dubious
  • 11. LSCITS Engineering, York EngD Programme, 2010 Slide 11 Complex and complicated systems • Reductionist approaches are intended to help deal with complicated systems i.e. systems where the relationships between elements are largely static and which can (in principle) be understood and controlled • However, LSCITS are complex systems, with dynamic relationships between elements. It is is impossible to acquire and maintain a complete understanding of the system and where elements are independently controlled and often have undocumented side-effects
  • 12. LSCITS Engineering, York EngD Programme, 2010 Slide 12 LSCITS engineering Reductionism + Reality
  • 13. LSCITS Engineering, York EngD Programme, 2010 Slide 13 LSCITS development Software capabilities S1 S2 S3 S4 LSCITS Systems contribute capabilities Used to construct Systems Development Creates new ??? ???
  • 14. LSCITS Engineering, York EngD Programme, 2010 Slide 14 Continuous development • It is rare (perhaps unknown) for an LSCITS to be developed from ‘scratch’ • Rather, an LSCITS emerges from an assembly of existing technical and socio-technical systems that are supplemented by the development of new software to help achieve a broad set of goals • LSCITS engineering is a continual process of procurement, development, deployment, operation and de-commissioning
  • 15. LSCITS Engineering, York EngD Programme, 2010 Slide 15 Brownfield development • LSCITS are rarely, if ever, developed from scratch • It is often the case that an LSCITS emerges after experience with a range of individual systems • By the time we recognise the need for an LSCITS, we have already accumulated a range of constraints: – Legacy systems – Technologies – Socio-technical systems – Laws and regulations
  • 16. LSCITS Engineering, York EngD Programme, 2010 Slide 16 Alternatives to reductionism • Bricolage – Systems are developed opportunistically by integrating available systems and components and by using whatever integration mechanisms work at the time – Mashups, where different web services are combined opportunistically, are examples of bricolage • Problems with fit to socio-technical world, security, dependability, maintainability
  • 17. LSCITS Engineering, York EngD Programme, 2010 Slide 17 Alternatives to reductionism • Emergence – Systems are developed using an evolutionary ‘survival of the fittest’ approach based on genetic algorithms, etc. – The argument is made that this is what underlies the development of the web • Problems – Uncontrollable. You cannot be sure that you get the system that you need or that the system will not have undesirable properties – Visibility. It is hard to demonstrate compliance, safety, etc. – Scale. Notwithstanding the example of the web, there is no evidence that current approaches based on emergence scale to large systems
  • 18. LSCITS Engineering, York EngD Programme, 2010 Slide 18 Has reductionism had its day? • At the moment, reductionism is the only tool that we have for the specification, design and construction of LSCITS • The problem is not in reductionism in itself, but in believing that it is all that is required to engineering complex systems • We need to move to a situation where we use reductionism as far as possible but recognise that we need to temper this with a dose of reality
  • 19. LSCITS Engineering, York EngD Programme, 2010 Slide 19 Better software engineering? • LSCITS engineering problems cannot be solved by – improved software processes, process maturity, quality management etc. – better tools and technology – more rigorous methods of development – Better project management • These can all contribute and are worth doing but break down in the face of large-scale uncertainty • A key requirement for LSCITS engineering is the ability to represent, model and demanage both scale and uncertainty
  • 20. LSCITS Engineering, York EngD Programme, 2010 Slide 20 LSCITS Engineering • LSCITS Engineering (LSCITS-E) is the process of creating, evolving and managing LSCITSs. • Not just a technical discipline – needs involvement of people with a wide range of expertise (social science, psychology, engineering, management, etc.) • We need new systems and software engineering approaches (e.g. designing for failure) that take into account the inherent complexities of LSCITS and the need to cope with uncertainty • LSCITS-E will incorporate current software engineering activities(notably requirements engineering and system architecture), you should bear in mind that current methods are what we’ve got rather than what we need
  • 21. LSCITS Engineering, York EngD Programme, 2010 Slide 21 The realities of LSCITS-E • Social and technical are inseparable – Focus on the social and the technical together rather than consider technical issues in isolation • Perfection is unattainable – Adopt a pragmatic acceptance of the world as it is, populated by imperfect people • You can’t win – Accept that systems will always be a compromise, with multiple, often conflicting, notions of what is meant by ‘success’ and where the system boundaries lie • Things will go wrong – Adopt a view of dependability where partial failure is normal and tolerable
  • 22. LSCITS Engineering, York EngD Programme, 2010 Slide 22 LSCITS-E Challenges Problems that we have to address to make LSCITS engineering a reality
  • 23. LSCITS Engineering, York EngD Programme, 2010 Slide 23 LSCITS – E challenges • Managing scale • Dealing with uncertainty • Thinking and reasoning about LSCITS • Making systems work together effectively • Standards for LSCITS
  • 24. LSCITS Engineering, York EngD Programme, 2010 Slide 24 Scale causes problems • No centralised or unified understanding of the ‘system as a whole’ • The ability to understand an individual constituent of the system and its relationships decreases as the number of constituents increases • Problems of management and governance are exacerbated and increase as new systems are added and the overall LCSITS increases in size • The (socio-technical) effects of changes to constituents of the system become impossible to predict • Size makes it more difficult to reach consensus about system requirements
  • 25. LSCITS Engineering, York EngD Programme, 2010 Slide 25 Coping with uncertainty • Uncertainty is a universal characteristics of LSCITS and the principal cause of system problems is unpredicted events and behaviour in both the technical and socio-technical systems – Aleatory uncertainty • Uncertainty that relates to the fact that the world is uncertain. – Epistemic uncertainty • Uncertainty that arises because our knowledge of the world is incomplete • Coping with uncertainty is about designing for flexibility and utilising the abilities of people to deal with unseen problems • Will be discussed in more detail in the following lecture
  • 26. LSCITS Engineering, York EngD Programme, 2010 Slide 26 LSCITS abstractions • Our existing abstractions (functions, objects, component, etc.) that we use in defining software systems are based on a reductionist view of the world • We need new abstractions which are more effective at representing large-scale systems and accommodating uncertainty to allow us to represent and reason about LSCITS • Examples of possible abstractions – Responsibilities • A duty to achieve, maintain or avoid some state, subject to constraints. – Capabilities • The ability to completely or partially discharge a responsibility
  • 27. LSCITS Engineering, York EngD Programme, 2010 Slide 27 Interoperability and integration • The constituents of LSCITS have to interoperate (ensuring that constituent systems that can operate smoothly together) and integrate (ensuring that constituent systems can exchange information in a controlled way) – Interoperability is about control; integration is about data – Integration is not just about physical data exchange but also must take into account business rules and data regulations • To achieve effective interoperation and integration, we need to pay attention to socio-technical issues, system requirements and architecture
  • 28. LSCITS Engineering, York EngD Programme, 2010 Slide 28 Standards • General interoperability/integration can only be achieved if standards are widely adopted and systems are built that implement these standards • Currently, the standards that have been accepted and that are widely adopted are low-level standards – Standards for data exchange – Standards for service syntax • We need standards based on semantics if true interoperability is to be achieved
  • 29. LSCITS Engineering, York EngD Programme, 2010 Slide 29 Research agenda for LSCITS engineering • Requirements engineering for LSCITS – LSCITS means uncertainty and we need better tools and techniques for understanding where uncertainties exist and how the system should cope with these uncertainties. – Better techniques are required to understand the requirements from the socio-technical environment in which the LSCITS is used • Managing failure – Moving from a world where failure is something to be avoided to a world where failure is normal and simply has to be lived with – Ensuring the ‘small failures’ do not cascade to ‘large failures’
  • 30. LSCITS Engineering, York EngD Programme, 2010 Slide 30 Research agenda for LSCITS engineering • LSCITS architecture – Abstractions for representing LSCITS architecture – Architectural styles and patterns for LSCITS – Architecture trade-offs and system consequences • Dynamic systems – Integration mechanisms that allow systems to evolve rapidly in response to changing demands and capabilities, governance, standards and regulation – Methods of understanding and managing these systems
  • 31. LSCITS Engineering, York EngD Programme, 2010 Slide 31 Key points • Reductionism is the basis of engineering, including software engineering. However reductionism cannot cope effectively with complexity • Better reductionist approaches are not adequate, in themselves, for building LSCITS but we cannot simply discard our current approaches • Key challenges for LSCITS engineering are managing scale, developing new abstractions to model LSCITS, integration and interoperation and challenges