31
Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003

Deriving Operational Software Specification from System Goals

  • Upload
    thy

  • View
    32

  • Download
    3

Embed Size (px)

DESCRIPTION

Deriving Operational Software Specification from System Goals. Xin Bai EEL 5881 Course Fall, 2003. Reference Paper. “ Deriving Operational Software Specification from System Goals ” November 2002, Proceedings of the tenth ACM SIGSOFT symposium on Foundations of software engineering. Content. - PowerPoint PPT Presentation

Citation preview

Page 1: Deriving Operational Software Specification from System Goals

Deriving Operational Software Specification from System

Goals

Xin BaiEEL 5881 Course

Fall, 2003

Page 2: Deriving Operational Software Specification from System Goals

Reference Paper

“Deriving Operational Software Specification from System Goals” November 2002, Proceedings of the tenth

ACM SIGSOFT symposium on Foundations of software engineering

Page 3: Deriving Operational Software Specification from System Goals

Content

Introduction Goal-Oriented Elaboration of Require

ments Semantics of Operationalization Operationalization Patterns Analysis

Page 4: Deriving Operational Software Specification from System Goals

Introduction Lots of techniques and tools for

specification analysis Algorithmic model checking, Deductive

verification etc. Building formal specifications for

complex software is not easy Translate natural language statements to

some formal language To be elaborated, structured, interrelated

and negotiated

Page 5: Deriving Operational Software Specification from System Goals

Introduction

Goal-oriented requirements engineering The use of goals for requirements

elicitation, elaboration, organization, specification, analysis, negotiation, assignment, documentation and evolution.

Page 6: Deriving Operational Software Specification from System Goals

Introduction

Goals Objectives the system under consideratio

n must achieve E.g. “safe transportation” and “reverse th

rust enabled when wheels pulse on” Achieving goals require the cooperation

of multiple agents (humans, devices or software)

Page 7: Deriving Operational Software Specification from System Goals

Introduction

Goal refinement To decompose a goal into subgoals so th

at each subgoal requires the cooperation of fewer agents

Stops when goals can be assigned as responsibility of single agents

Page 8: Deriving Operational Software Specification from System Goals

Goal-oriented elaboration of requirements An application model is composed of f

our submodels: Goal model Object model Agent model Operation model

Page 9: Deriving Operational Software Specification from System Goals

The goal model The various objectives the system

should meet are defined in this model

Page 10: Deriving Operational Software Specification from System Goals

The goal model

Temporal operators

Page 11: Deriving Operational Software Specification from System Goals

The goal model

Page 12: Deriving Operational Software Specification from System Goals

The goal model A sample

Page 13: Deriving Operational Software Specification from System Goals

The object model

Defines the domain entities, relationships and attributes

A sample

Page 14: Deriving Operational Software Specification from System Goals

The agent model

Defines the responsibilities and interfaces of the various agents

A sample

Page 15: Deriving Operational Software Specification from System Goals

The operation model Defines the various services to be provided

by agents Domain pre/post conditions

Capture the elementary state transitions defined by operation applications in the domain

Required pre/post/trigger conditions Capture additional strengthenings to ensure tha

t the goals are met

Page 16: Deriving Operational Software Specification from System Goals

The operation model A required preconditions

Captures a permission to perform the operation when the condition is true

A required trigger condition Captures an obligation to perform the operation

when the condition becomes true provided the domain precondition is true

A required postcondition Captures an additional condition that must hold

after any application of the operation

Page 17: Deriving Operational Software Specification from System Goals

The operation model Difference between domain and

required conditions Domain conditions describe what an

application of the operation means in the domain without any prescription as to when the operation must be applied and when it may not be applied.

Page 18: Deriving Operational Software Specification from System Goals

The operation model A sample for domain conditions

Page 19: Deriving Operational Software Specification from System Goals

The operation model A sample for required conditions

Page 20: Deriving Operational Software Specification from System Goals

Semantics of operationalization Functional goals need to be operation

alized into specifications of services the agents should provide to meet them

Operationalization is a process that maps declarative property specifications to operational specifications satisfying them

Page 21: Deriving Operational Software Specification from System Goals

Semantics of operationalization It takes the form of a set of

operations specified by domain and required pre, post- and trigger conditions.

Page 22: Deriving Operational Software Specification from System Goals

Semantics of operationalization Correctness of goal operationalizatio

n Completeness Consistency minimality

Page 23: Deriving Operational Software Specification from System Goals

Operationalization patterns A pattern-based technique for operati

onalizing goals, specified in real-time linear temporal logic (RT-LTL), into operations specified by pre-, post- and trigger conditions

Page 24: Deriving Operational Software Specification from System Goals

Operationalization patterns An operationalization pattern is an ab

stract AND-operationalization link between a goal specification pattern in RT-LTL and a set of required pre-, trigger and postcondition specification patterns that operationalize the root correctly.

Page 25: Deriving Operational Software Specification from System Goals

Operationalization patterns The Immediate Achieve pattern

Page 26: Deriving Operational Software Specification from System Goals

Operationalization patterns The Bounded Achieve pattern

Page 27: Deriving Operational Software Specification from System Goals

Operationalization patterns The “InBetween” Invariance patter

n

Page 28: Deriving Operational Software Specification from System Goals

A taxonomy of goal patterns

Page 29: Deriving Operational Software Specification from System Goals

Operationalization patterns In every but very rare cases, the

goals match one of the general patterns in the previous taxonomy diagram

Not complete, could be enriched with additional goal patterns

Page 30: Deriving Operational Software Specification from System Goals

Analysis

Benefits Abstraction from formal details Completeness assurance Guidance in writing operational

specifications Goal mining from operational

specifications

Page 31: Deriving Operational Software Specification from System Goals

Thank you!