• No results found

Dependable (Safe/Reliable) Systems. ARO Reliability Workshop Software Intensive Systems

N/A
N/A
Protected

Academic year: 2021

Share "Dependable (Safe/Reliable) Systems. ARO Reliability Workshop Software Intensive Systems"

Copied!
18
0
0

Loading.... (view fulltext now)

Full text

(1)

Dependable (Safe/Reliable) Systems

Composing, Analyzing and Validating Software Designs

to Assess / Develop / Validate Methods and Supporting

Tools for the Creation of Dependable Systems

Frederick T. Sheldon, Ph.D.

Oak Ridge National Laboratory

Applied Software Engineering Research Laboratory

Software Engineering for Dependable Systems Research

ARO Reliability Workshop

Software Intensive Systems

(2)

What is a software process?



Activities – things that are done



Products – inputs and outputs



Sequencing – relationship among the activities and

products

How does

sequencing

work?

Present

Phase

Next

Phase

Adequate basis for

subsequent phases

Verification Check

Previous

Phase

Compliance with previous

phase requirements

(3)

3

Software Engineering for Dependable Systems Research, F.T. Sheldon Applied S/E Research, Computational Sciences and Engineering Div. ORNL

Verification versus Validation



Verification

determines if the products of a given

phase of the

SLC

fulfill the

requirements

established during the previous phase



Proof of transformation conformance



Did we build the

product right ?



Validation

checks

if

the program, as implemented,

meets the

expectations

of the customer to ensure

compliance with software requirements

(4)

Is the Software doing

what it is supposed to do?

Software

Verification

Is the System doing what

it is supposed to do?

Requirements

Definition

System

Definition

What the System is

supposed to do?

Software Development

System Validation

Testing

System

Validation

What the software

is supposed to do?

Software

Validation

System Development

Coding &

Component

Testing

Software

Validation

Testing

Hardware Software

Integration

Integration & SW

System Testing

Software

Requirements

Generation

Software

Design

(5)

5

Software Engineering for Dependable Systems Research, F.T. Sheldon Applied S/E Research, Computational Sciences and Engineering Div. ORNL

Right process for the product to

ensure … and no

silver bullet!



High quality software with competitive cost

and cycle time...

Quality [Defects]

Cycle Time

Cost

(6)

Quality Attribute(s) Versus Cost

Relation

Co

s

t

Product Attr ibute(s) (e .g., Reliability , Safety)

(7)

7

Software Engineering for Dependable Systems Research, F.T. Sheldon Applied S/E Research, Computational Sciences and Engineering Div. ORNL

SLC Expenditure Profile

Without Formal

Specification

Specification

Cost

Validation

Design and

Implementation

With Formal

Specification

Maintenance

Specification

Design and

Implementation

Validation

Maintenance

Need to validate

effective SE methods

and tools…

(8)

Generic Process Models



The waterfall model



Separate and distinct phases of specification and development



Evolutionary development



Specification and development are interleaved (e.g., Extreme Prgming)



Formal transformation



Mathematical system model formally transformed to an implementation



Reuse-based development



The system is assembled from existing components



Hybrid Methodologies



Prototyping for high-risk specifications (e.g., Spiral Model)



A heavyweight methodology has many rules, practices, and documents.

(9)

9

Software Engineering for Dependable Systems Research, F.T. Sheldon Applied S/E Research, Computational Sciences and Engineering Div. ORNL

Evolutionary development

Initial Version

Intermediate

versions

Final Version

Concurrent

Activities

Development

Validation

Specification

Outline

Description

(10)

Transformational development

R2

R1

Formal

specification

R3

Executable

program

P1

P2

P3

P4

T1

T2

T3

T4

Proofs of transformation correctness

Formal transformations

Formal Transformations

(11)

11

Software Engineering for Dependable Systems Research, F.T. Sheldon Applied S/E Research, Computational Sciences and Engineering Div. ORNL

Spiral Model – Boehm

Prototype 1

Prototype

2

Prototype

3

Operational

Prototype

Risk

Analysis

Requirements

and

Life Cycle Plan

Concept of

Operation

RequirementsSoftware

Software

Product

Design

Plan Next Phases

Design Validation

and Verification

Integration and

Test Plan

Development

Plan

Requirements

Validation

Commitment Partition Review

Risk

Analysis

Risk

Analysis

Risk Analy-sis

Progress Through Steps

Cumulative

Cost

Determine Objectives,

Alternatives,

and Constraints

Evaluate Alternatives;

Identify and Resolve

Risks

Develop, Verify Next

Level Product

Implementation Integration and Test Acceptance Test

Unit

Test

Detailed

Design

Code

Simulations, Models, Benchmarks

(12)

Risk Analy-sis Prototype 1 Requirements Validation Software Requirement Development Plan Requirements Plan

Life-Cycle Plan Concept of Operation Prototype 1 Prototype2 Prototype3 Requirements Validation Development Plan Requirements Plan

Life-Cycle Plan Concept of Operation Risk Analysis Risk Analysis Benchmarks Detailed Design Code Unit Test Integration and Test Acceptance Integration and Test Plan Design Validation & Verification Operational Prototype Risk Analysis

Progress

Through

Steps

Determine

Objective,

Alternatives,

Constraints

Commitment

Partition

Cumulative

Cost

Evaluate Alternatives

Identify, Resolve Risks

Operational

Simulations, Models, and Benchmarks Prototype 3 Risk Analysis Risk Analysis Prototype 2 Software Product Design

Prototyping

Environment

Review

Testbed/Fielded

Prototypes

Risk Analy-sis Software Requirement

Plan

Next Phase

(13)

13

Software Engineering for Dependable Systems Research, F.T. Sheldon Applied S/E Research, Computational Sciences and Engineering Div. ORNL

How does a process work?

System Require-ments Analysis System Design Hardware Requirements Analysis Preliminary Design Detailed Design Coding and CSU Testing CSC Integration and Testing CSCI Testing HWCI Testing Fabrication Functional Baseline Allocated Baseline Product Baseline SDR SSR PDR CDR PDR TRR Testing And Evaluation Production and Deployment System Integration And Testing FQR FCA PCA FCA PCA CDR

Reviews

SRR - System Requirements Review

SDR - System Design Review SSR - Software Specification Review

PDR - Preliminary Design Review

CDR - Critical Design Review TRR - Test Readiness Review FCA - Functional Configuration Audit

PCA - Physical Configuration Audit

FQR - Formal Qualification Review

SRR

† - May be multiple reviews and may be integrated with hardware reviews

Detailed Design Preliminary Design Software Requirements Analysis

Software (CSCI) Development

Hardw

are (H

WC

I) D

evelopm

ent

(14)

CMM

Risk

Optimizing

Managed

Defined

Repeatable

Initial

• Focus on process improvement

• Data gathering is automated and used to identify weakest process elements • Numerical evidence used to justify application of technology to critical tasks • Rigorous defect-cause analysis and detect prevention

• Focus on process optimization to reduce errors

• Still human-intensive process • Maintain organization at optimizing level

(Quantitative)

• Measured process: estimates/actuals, error-cause analysis

• Minimum set of quality and productivity measurements established • Process database established & resources to analyze & maintain its data • Focus on technology management and insertion

• Changing technology • Problem analysis • Problem prevention

(Quantitative)

• Process defined and institutionalized

• Software Engineering Process Group established to direct improvements • Focus on Software design skills, design tracking

• Focus on various types of traceability

• Process measurement • Process analysis

• Quantitative quality plans (Intuitive)

• Process dependent on individuals

• Established basic project controls with strength in doing similar work • Process faces major risk when presented with new challenges • Lacks orderly framework for improvement

• Focus on collecting various types of "trend" data • Focus on management and tight project control (Ad hoc/chaotic process)

• No formal procedures, cost estimates, project plans

• No management mechanism to ensure procedures are followed, tools not well integrated, and change control is lax

• Training

• Technical practices (reviews, testing)

• Process focus (standards, process groups) • Project management • Project planning • Configuration management

Productivity

& quality

Risk

Level

Characteristics

Key Challenges

Result

5

4

3

2

(15)

15

Software Engineering for Dependable Systems Research, F.T. Sheldon Applied S/E Research, Computational Sciences and Engineering Div. ORNL

Key Issues in Software Reliability



Provide readier access to formal methods for

developers of critical systems by further integration

of informal and formal methods.



Develop better methods for analysis of product

families and safe reuse of

Commercial-Off-The-Shelf software.



Improve the testing and evaluation of critical

systems through the use of requirements-based

testing, evaluation from multiple sources, model

consistency, and virtual environments.

(16)



Ensure SW technology transfer from the lab to

practice with case studies to

facilitate

earlier adoption

of potentially cost savings / safety ensuring advances.



Advance the use of runtime monitoring to detect

faults and recover to a safe state, as well as to

profile

system usage to enhance reliability/safety analyses

.



Promote collaboration with related fields in order to

exploit advances in areas such as security and

survivability, software architecture, theoretical

computer science, human factors engineering, and

software engineering education.

(17)

17

Software Engineering for Dependable Systems Research, F.T. Sheldon Applied S/E Research, Computational Sciences and Engineering Div. ORNL

Research Summary and Plans



Experience with numerous formalisms/tools and will

continue to …



Assess, develop and validate methods and supporting

tools for the creation of

dependable

systems



Develop an integrated framework for composing,

analyzing and

validating

system and software models

(18)

Contact Information

Frederick T. Sheldon, Ph.D.

Software Engineering for Dependable for Systems

Oak Ridge National Laboratory

Phone: 865-576-1339

Fax:

865-574-6275

References

Related documents

One possible approach, found in the Obama campaign plan, would be to establish a purchasing exchange at the federal level. Ensuring that health insurance is uniformly available

Superintendent Myers explained that the current City Code restricting the hours of operation is not just for leaf blowers but all landscaping equipment.. If the Committee would

That the National Council on Privatization should rescind the sale of Abuja International Hotels Limited (Nicon Luxury Hotel) for failure of the core investor to deliver on

By this we mean that the wages of university staff that serve as a base of economic impact studies cannot be simply connected to first, second and third mission

To obtain the time evolution for the excited state population one can numerically solve the system of equations in Eq.. PROBLEM

Strategic Human Resource Practices And Innovation Performance: The Mediating Role Of Knowledge Management Capacity, Journal Of Business Research, Vol.62, No:1.. The

Given the location of the bidding generators, their supply curves, the transmission constraint set by the TSO and the forecast demand in each zone, the MO solves the problem of