Design for failure: Software challenges of digital ecosystems Prof. Ian Sommerville School of Computer Science St Andrews University Scotland

St Andrews 

 



Small Scottish town, on the north-east coast of the UK Home of golf Scotland’s oldest university (founded in 1413) Small university focusing on research and teaching excellence 2

Trust and dependability  

Trust is fundamental to business dealings Trust  Reputation and recommendation  Companies establish trust through reputation and recommendation

 Regulation  Organisations are trusted because they are externally regulated

 Dependability  Positive experiences lead to trust. If users of a system find that it meets there needs, is available when required and doesn’t go wrong then they trust the system.

3

What is dependability? 

System dependability is a critical factor in delivering a high quality of service  Availability. Is the system up and running?  Reliability. Does the system produce correct results?  Integrity. Does the system protect itself and its data from damage?  Confidentiality. Does the system ensure that information is only accessed by agents authorised agents?  Timeliness. Are the system responses produced within the required time frame? 4

Why dependability?   

Dependability is a major factor in establishing reputation and brand. In e-business systems, undependability leads to loss of confidence, business and revenue. Dependability is necessary for a service to be trusted by its users.

5

Achieving system dependability 



Fault avoidance  Detailed analysis of specification  Extensive reviews and testing of system  Careful configuration control Fault tolerance  Redundancy  Additional capacity that can be used in the event of failure

 Diversity  Different ways of doing things 6

Business system engineering System Specify

Instantiate

Deploy

Evolve

Process Plan

Enact

Evolve 7

Top-down software engineering        

System vision Single specification Control of changes Complicated but not complex Client-contractor-subcontractor relationships ‘Clear’ assignment of responsibilities Scope for whole-system analysis Trusted parties in collaboration 8

Ownership and control     

In top-down software engineering, a single organisation owns all parts of the system: Specification  Architecture and services offered can be controlled Instantiation  Engineering process can be controlled Deployment  Use can be controlled Evolution  Changes can be controlled

9

Ownership and dependability  

There is a close relationship between ownership (control) and dependability The more that is under the control of a single owner, the easier it is to produce dependable systems  Dependability through process  Fault avoidance

 Dependability by design  Fault tolerance

10

Digital business ecosystems 



“A distributed environment that can support the spontaneous evolution and composition of software services, components, and applications”. DBEs are socio-technical entities that are not just populated by digital species  They include organisations, people, processes, regulations, etc.  Social, economic and political considerations are as important as technical issues.

11

Software engineering in a DBE   

System of systems. System instantiation involves cooperation and communication between entities in the ecosystem. Dynamic system re-configuration  The entities in the ecosystem evolve and become more/less suitable for some applications.



Ecosystem evolution  The ecosystem itself exhibits a degree of selforganising behaviour. Applications may have to adapt to changes in the underlying environment.

12

System ownership in a DBE 

Specification  Constrained by capabilities and entities of DBE



Instantiation  Many owners of different parts of the system  The self-organising nature of the DBE means that the system owner has only partial control.



Deployment  May be influenced by self-organising nature of DBE



Evolution  Uncontrollable! 13

System failure  

 

Failure is inevitable. Failure is generally due to some conjunction of environmental effects which system designers have not considered. There are a huge number of possibilities and, eventually, if a system can fail, it will. Time to market pressures for new systems increase the chances of system failure. 14

DBE technology stack E-business applications Business ‘services’ RAD support Domain/business knowledge

Construction Communication

Shared business data

Organisation Dependability

Implementation infrastructure (SOA, P2P…) 15

Technical failures in DBEs   

 

Infrastructure failure  Technology infrastructure is unavailable/corrupt Data failure  Required data is incorrect or unavailable Knowledge failure  Required knowledge does not exist, is unavailable, is incomplete or is incorrect Service failure  DE components are faulty/unavailable RAD support failure  RAD run-time system is faulty  Application composition mechanism is faulty  Application composition is faulty

16

Security failures in DBEs 

Malicious component  Deliberate interference with the functioning of the application system



Malicious data and knowledge  Deliberate introduction of incorrect data/knowlege



Insecure infrastructure  DBE infrastructure is compromised by malicious components



Insecure component  Digital ‘species’ is compromised by malicious code 17

Socio-technical systems

Laws, regulations, custom & practice System users

Technical system

Business processes

Organisational culture

18

Coping with failure 



Socio-technical systems are remarkably robust because people are good at coping with unexpected situations when things go wrong.  We have the unique ability to apply previous experience from different areas to unseen problems.  Processes are designed to recognise and deal with exceptions.  We often have channel redundancy ie email, phone, walk up and talk.  Information is held in diverse forms (paper, electronic). Failure of software does not mean that information is unavailable. Coping with failure often involves ‘breaking the rules’. 19

Consequences of automation 





Increasing automation reduces minor human error but makes it more difficult to cope with serious failures Rules enforced by system  Lead to dependability by catching failures and errors.  But it makes it harder to break the rules. Information redundancy is minimised  There is a single copy of information, maintained by the system and inaccessible in the event of failure. 20

What’s different about DBEs  

Many rules enforced in different ways by different systems. No single manager or owner of the system  Who do you call when failures occur?

 

Information is distributed - users may not be aware of where information is located, who owns information, etc.. Probable blame culture  Owners of components will blame other components for system failure. Learning is inhibited and trust compromised. 21

Dependability challenges     

Trust and confidence Reasoning about DBEs Fault tolerance and recovery Self-organisation Socio-technical reconfiguration

22

Trust in technology 

Provenance  Who are the suppliers of the technology? What business environment do they operate in?



Transparency  What information is available about the operation, structure and implementation of the technology?



Predictability  Does the technology behave in the way we expect each time that we use it? Is it dependable?

23

Trusting systems of systems 

What mechanisms do we need to convince ourselves that DBEs and application systems in these DBEs are trustworthy and dependable  New approaches to constructing dependability arguments because existing approaches are designed for top-down software engineering  Methods and tools for testing DBE infrastructures and configurations  Self-aware systems that make information about their operation and failure available for scrutiny and use  Regulatory and social mechanisms to ensure that undependable and untrustworthy elements of the system are excluded from the DBE

24

Reasoning about DBEs 

We need to be able to reason about DBE configurations to convince ourselves that they are ‘good enough’  What abstractions should be used to represent DBEs?  How do we express assumptions about DBE instances and how do we monitor the DBE to ensure that these assumptions remain valid?  How do current approaches to risk analysis need to evolve to reason about system risks?

25

Fault tolerance 

The DBE has the potential to be a fault-tolerant execution environment as it may contain multiple diverse instances of the same service.  What mechanisms are required to create fault-tolerant configurations?  How are faults automatically detected?  How do we recognise redundant and diverse services?  How do we handle partial computations and compensating actions?

26

Self-organising DBEs 

   

It has been suggested that DBEs will have some degree of selforganisation where the system will organise itself without human intervention. How do we know that each possible reorganisation is trustworthy? Does the reorganisation optimise service to the community or to an individual? How do we ensure that QoS to a community member is not unacceptably degraded? How do we know that each possible instance of the DBE conforms to regulations?

27

Socio-technical reconfiguration 

To cope with failure, DBEs must have the capacity to dynamically reconfigure themselves to replace automated with non-automated components.  How do we describe failures that might be solved by socio-technical reconfiguration? How do we recognise the symptoms of these failures?  How do we find a person with the appropriate knowledge to address the problem?  How do we ensure that they are provided with the necessary information and access to resources to solve the problem? 28

Conclusions   

DBEs offer an opportunity to radically change the business environment for SMEs. Their adoption is dependent on users trusting the resultant socio-technical systems. Failure by researchers and practitioners to design for failure will inevitable lead to the failure of the vision of digital business ecosystems. 29

Design for failure: Software challenges of digital ...

The more that is under the control of a single owner, the easier it is to produce ... Many owners of different parts of the system ... Domain/business knowledge.

2MB Sizes 0 Downloads 180 Views

Recommend Documents

Potentials and Challenges of Recommendation Systems for Software ...
of software development recommendation systems and line out several .... It builds a group memory consisting of four types of artifacts: source ... tion with the file.

design challenges of technology scaling
are not ad hoc goals; rather, they follow scal- ing theory. This article looks .... design ported to the next-generation tech- .... A good metric for this pur- pose would ...

Read Digital DNA: Disruption and the Challenges for ...
The rise of Cloud Computing and trans-border data flows; international collaboration to reduce cybersecurity risks; and the consequences of different national ...

Digital Footprints.. Opportunities and Challenges for Online Social ...
Digital Footprints.. Opportunities and Challenges for Online Social Research.pdf. Digital Footprints.. Opportunities and Challenges for Online Social Research.

Human Rights Challenges in the Digital Age
May 25, 2018 - 55 Although not referred to in the Long Title of BORA, international conventions other ...... under pain of legal penalty.116. The existence of a ...

Software Design for Non Designer.pdf
Software Design for Non Designer.pdf. Software Design for Non Designer.pdf. Open. Extract. Open with. Sign In. Main menu. Displaying Software Design for ...

Challenges in Cross Layer Design for Multimedia ...
... wireless networks. In wireless networks multimedia data transmission inherits ... applications characteristics and to wireless network conditions. For example ..... result of the big number of possible strategies and the associated parameters ...

Challenges in Cross Layer Design for Multimedia ... - Semantic Scholar
adaptation schemes for multimedia transmission over wireless networks. In addition this paper .... wireless networks. Section 4 presents the future trends in ..... the transition from one wireless network technology to other. This paper presents ...

verilog for digital design pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. verilog for digital design pdf. verilog for digital design pdf. Open. Extract. Open with. Sign In. Main menu

A Framework for Software Product Line Practice ... - SEI Digital Library
line development. The framework is a product line encyclopedia; it is a Web-based document describing the essential activities and practices, in both the technical and ... ence decisions regarding the adoption of product line practices, as well as th

designing software for 3d object modelling using digital ...
KEYWORDS : Software, Design ,Point Cloud, Modelling, Non-metric, Calibration, Matching ... images to prepare coordinate of control points in image coordinate system and .... conjugate points in other images . output file consist following.

digital design
University of Colorado, Colorado Springs rev 01/21/2007. © 2007 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. This publication is protected by Copyright and written permission should be obtained from the publisher prior to an

A Framework for Technology Design for ... - ACM Digital Library
learning, from the technological to the sociocultural, we ensured that ... lives, and bring a spark of joy. While the fields of ICTD and ..... 2015; http://www.gsma.com/ mobilefordevelopment/wp-content/ uploads/2016/02/Connected-Women-. Gender-Gap.pd

facing challenges in testing software security
in order to prevent the possibility of piracy, willful damage, and unauthorized access. Insufficiently protected software is most prone to attacks; also, less secured systems can further encourage hackers. Testing can be powerful enough to tackle thi

Challenges and Solutions in Test Staff Relocations within a Software ...
software company can facilitate test staff relocation practices. ..... objects. External files that extend the TET. Noted by. Author of TE. Comment. Information that ...