Download - Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003
![Page 1: Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/1.jpg)
Deriving Operational Software Specification from System
Goals
Xin BaiEEL 5881 Course
Fall, 2003
![Page 2: Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/2.jpg)
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 Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/3.jpg)
Content
Introduction Goal-Oriented Elaboration of Require
ments Semantics of Operationalization Operationalization Patterns Analysis
![Page 4: Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/4.jpg)
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 Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/5.jpg)
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 Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/6.jpg)
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 Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/7.jpg)
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 Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/8.jpg)
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 Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/9.jpg)
The goal model The various objectives the system
should meet are defined in this model
![Page 10: Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/10.jpg)
The goal model
Temporal operators
![Page 11: Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/11.jpg)
The goal model
![Page 12: Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/12.jpg)
The goal model A sample
![Page 13: Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/13.jpg)
The object model
Defines the domain entities, relationships and attributes
A sample
![Page 14: Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/14.jpg)
The agent model
Defines the responsibilities and interfaces of the various agents
A sample
![Page 15: Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/15.jpg)
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 Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/16.jpg)
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 Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/17.jpg)
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 Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/18.jpg)
The operation model A sample for domain conditions
![Page 19: Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/19.jpg)
The operation model A sample for required conditions
![Page 20: Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/20.jpg)
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 Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/21.jpg)
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 Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/22.jpg)
Semantics of operationalization Correctness of goal operationalizatio
n Completeness Consistency minimality
![Page 23: Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/23.jpg)
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 Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/24.jpg)
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 Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/25.jpg)
Operationalization patterns The Immediate Achieve pattern
![Page 26: Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/26.jpg)
Operationalization patterns The Bounded Achieve pattern
![Page 27: Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/27.jpg)
Operationalization patterns The “InBetween” Invariance patter
n
![Page 28: Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/28.jpg)
A taxonomy of goal patterns
![Page 29: Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/29.jpg)
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 Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/30.jpg)
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 Xin Bai EEL 5881 Course Fall, 2003](https://reader035.vdocuments.us/reader035/viewer/2022070403/56649f2f5503460f94c496f3/html5/thumbnails/31.jpg)
Thank you!