SlideShare una empresa de Scribd logo
1 de 31
LSCITS Engineering Prof. Ian Sommerville St Andrews University
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
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. ,[object Object]
LSCITS have a close and entangled relationships with the socio-technical systems that rely on these LSCITS,[object Object]
The basis of engineering 	A discussion of the fundamental assumption that is a foundation for engineering and systems development
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”. ,[object Object]
We see reductionism in notions such as
Contractor/sub-contractor relationships
Top-down design,[object Object]
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.
Problems with reductionism ,[object Object]
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,[object Object]
Complex and complicated systems Reductionist approaches are intended to help deal with complicated systems i.e. systems where there are many interactions between components but which can (in principle) be understood and controlled However, LSCITS are complex systems where 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 Reductionism + Reality
LSCITS development Systems contribute capabilities Software capabilities S1 Creates new S2 Used to construct S3 Systems Development ??? S4 LSCITS ???
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
Brownfield development LSCITS are never 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
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
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
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
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 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
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-E Challenges 	Problems that we have to address to make LSCITS engineering a reality
LSCITS – E challenges Managing scale Dealing with uncertainty Thinking and reasoning about LSCITS Making systems work together effectively Standards for LSCITS
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
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

Más contenido relacionado

Destacado

L3 Requirements Eng Overview
L3 Requirements Eng OverviewL3 Requirements Eng Overview
L3 Requirements Eng OverviewIan Sommerville
 
L5 Dependability Requirements
L5 Dependability RequirementsL5 Dependability Requirements
L5 Dependability RequirementsIan Sommerville
 
Requirements engineering challenges
Requirements engineering challengesRequirements engineering challenges
Requirements engineering challengessommerville-videos
 
Architectural patterns for real-time systems
Architectural patterns for real-time systemsArchitectural patterns for real-time systems
Architectural patterns for real-time systemssommerville-videos
 

Destacado (7)

L3 Requirements Eng Overview
L3 Requirements Eng OverviewL3 Requirements Eng Overview
L3 Requirements Eng Overview
 
L2 Socio Tech Systems
L2 Socio Tech SystemsL2 Socio Tech Systems
L2 Socio Tech Systems
 
L5 Dependability Requirements
L5 Dependability RequirementsL5 Dependability Requirements
L5 Dependability Requirements
 
Emergent properties
Emergent propertiesEmergent properties
Emergent properties
 
Intro to requirements eng.
Intro to requirements eng.Intro to requirements eng.
Intro to requirements eng.
 
Requirements engineering challenges
Requirements engineering challengesRequirements engineering challenges
Requirements engineering challenges
 
Architectural patterns for real-time systems
Architectural patterns for real-time systemsArchitectural patterns for real-time systems
Architectural patterns for real-time systems
 

Similar a L6 LSCITS Engineering

Rethinking Software Engineering
Rethinking Software EngineeringRethinking Software Engineering
Rethinking Software EngineeringIan Sommerville
 
An introduction to LSCITS
An introduction to LSCITSAn introduction to LSCITS
An introduction to LSCITSIan Sommerville
 
Keating and Katina (2015) Foundational perspectives for the emerging complex ...
Keating and Katina (2015) Foundational perspectives for the emerging complex ...Keating and Katina (2015) Foundational perspectives for the emerging complex ...
Keating and Katina (2015) Foundational perspectives for the emerging complex ...Polinho Katina
 
systems-thinking-summary-final.pptx
systems-thinking-summary-final.pptxsystems-thinking-summary-final.pptx
systems-thinking-summary-final.pptxSyedRizwan170045
 
David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...
David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...
David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...EnergyTech2015
 
Software Ecosystem Evolution. It's complex!
Software Ecosystem Evolution. It's complex!Software Ecosystem Evolution. It's complex!
Software Ecosystem Evolution. It's complex!Tom Mens
 
Concept of systemThe word “system” has a very wide connotation. B.pdf
Concept of systemThe word “system” has a very wide connotation. B.pdfConcept of systemThe word “system” has a very wide connotation. B.pdf
Concept of systemThe word “system” has a very wide connotation. B.pdfsutharbharat59
 
Architectural Thinking - What Is Architecture?
Architectural Thinking - What Is Architecture?Architectural Thinking - What Is Architecture?
Architectural Thinking - What Is Architecture?ingo
 
socio technical system theory.pdf
socio technical system theory.pdfsocio technical system theory.pdf
socio technical system theory.pdfOgunleye Samuel
 
MarvinAndGarrett-SoS_ArchitectureModeling
MarvinAndGarrett-SoS_ArchitectureModelingMarvinAndGarrett-SoS_ArchitectureModeling
MarvinAndGarrett-SoS_ArchitectureModelingBob Garrett
 
Designing the Systems Sciences - AHO, Oslo, Oct 2012
Designing the Systems Sciences - AHO, Oslo, Oct 2012 Designing the Systems Sciences - AHO, Oslo, Oct 2012
Designing the Systems Sciences - AHO, Oslo, Oct 2012 Peter Jones
 
Socio Technical Systems
Socio Technical SystemsSocio Technical Systems
Socio Technical SystemsVikram Rao
 
4.2 architecture introduction
4.2 architecture introduction4.2 architecture introduction
4.2 architecture introductioningo
 
Se bo kv1.0-part2_final
Se bo kv1.0-part2_finalSe bo kv1.0-part2_final
Se bo kv1.0-part2_finalErick Guerrero
 
Complex Systems
Complex SystemsComplex Systems
Complex Systemseghafari
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notesSudarshan Dhondaley
 
International journal of engineering issues vol 2015 - no 2 - paper4
International journal of engineering issues   vol 2015 - no 2 - paper4International journal of engineering issues   vol 2015 - no 2 - paper4
International journal of engineering issues vol 2015 - no 2 - paper4sophiabelthome
 

Similar a L6 LSCITS Engineering (20)

Rethinking Software Engineering
Rethinking Software EngineeringRethinking Software Engineering
Rethinking Software Engineering
 
LSCITS engineering
LSCITS engineeringLSCITS engineering
LSCITS engineering
 
LSCITS-engineering
LSCITS-engineeringLSCITS-engineering
LSCITS-engineering
 
An introduction to LSCITS
An introduction to LSCITSAn introduction to LSCITS
An introduction to LSCITS
 
Keating and Katina (2015) Foundational perspectives for the emerging complex ...
Keating and Katina (2015) Foundational perspectives for the emerging complex ...Keating and Katina (2015) Foundational perspectives for the emerging complex ...
Keating and Katina (2015) Foundational perspectives for the emerging complex ...
 
systems-thinking-summary-final.pptx
systems-thinking-summary-final.pptxsystems-thinking-summary-final.pptx
systems-thinking-summary-final.pptx
 
David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...
David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...
David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...
 
Software Ecosystem Evolution. It's complex!
Software Ecosystem Evolution. It's complex!Software Ecosystem Evolution. It's complex!
Software Ecosystem Evolution. It's complex!
 
Concept of systemThe word “system” has a very wide connotation. B.pdf
Concept of systemThe word “system” has a very wide connotation. B.pdfConcept of systemThe word “system” has a very wide connotation. B.pdf
Concept of systemThe word “system” has a very wide connotation. B.pdf
 
Architectural Thinking - What Is Architecture?
Architectural Thinking - What Is Architecture?Architectural Thinking - What Is Architecture?
Architectural Thinking - What Is Architecture?
 
socio technical system theory.pdf
socio technical system theory.pdfsocio technical system theory.pdf
socio technical system theory.pdf
 
MarvinAndGarrett-SoS_ArchitectureModeling
MarvinAndGarrett-SoS_ArchitectureModelingMarvinAndGarrett-SoS_ArchitectureModeling
MarvinAndGarrett-SoS_ArchitectureModeling
 
Designing the Systems Sciences - AHO, Oslo, Oct 2012
Designing the Systems Sciences - AHO, Oslo, Oct 2012 Designing the Systems Sciences - AHO, Oslo, Oct 2012
Designing the Systems Sciences - AHO, Oslo, Oct 2012
 
Socio Technical Systems
Socio Technical SystemsSocio Technical Systems
Socio Technical Systems
 
4.2 architecture introduction
4.2 architecture introduction4.2 architecture introduction
4.2 architecture introduction
 
Se bo kv1.0-part2_final
Se bo kv1.0-part2_finalSe bo kv1.0-part2_final
Se bo kv1.0-part2_final
 
Complex Systems
Complex SystemsComplex Systems
Complex Systems
 
Systems Oriented Design in a Nutshell
Systems Oriented Design in a NutshellSystems Oriented Design in a Nutshell
Systems Oriented Design in a Nutshell
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
 
International journal of engineering issues vol 2015 - no 2 - paper4
International journal of engineering issues   vol 2015 - no 2 - paper4International journal of engineering issues   vol 2015 - no 2 - paper4
International journal of engineering issues vol 2015 - no 2 - paper4
 

Último

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 

Último (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 

L6 LSCITS Engineering

  • 1. LSCITS Engineering Prof. Ian Sommerville St Andrews University
  • 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.
  • 4.
  • 5. The basis of engineering A discussion of the fundamental assumption that is a foundation for engineering and systems development
  • 6.
  • 7. We see reductionism in notions such as
  • 9.
  • 10. 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.
  • 11.
  • 12. When things get too big, then reductionist approaches become intellectually unmanageable because of the complexity of the interactions between the parts of the whole
  • 14. The relationships between a system and its environment are often uncontrollable
  • 16.
  • 17. Complex and complicated systems Reductionist approaches are intended to help deal with complicated systems i.e. systems where there are many interactions between components but which can (in principle) be understood and controlled However, LSCITS are complex systems where 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
  • 19. LSCITS development Systems contribute capabilities Software capabilities S1 Creates new S2 Used to construct S3 Systems Development ??? S4 LSCITS ???
  • 20. 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
  • 21. Brownfield development LSCITS are never 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
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. LSCITS-E Challenges Problems that we have to address to make LSCITS engineering a reality
  • 29. LSCITS – E challenges Managing scale Dealing with uncertainty Thinking and reasoning about LSCITS Making systems work together effectively Standards for LSCITS
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 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
  • 34. 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
  • 35. 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’
  • 36. 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
  • 37. 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