Title: Open Specifications for Assisted Living Infrastructure
1Open Specifications for Assisted Living
Infrastructure
2Need for Specifcations
- What You See Is What You Get systems are
- Fragile, buggy, hard to revise
- Reliable and flexible architectures require
- Clear and precise statements of expected /
guaranteed system behavior, and - Clear statements of what expectations from
environment where system is used
3Specification Artifacts
- W World Knowledge (Domain Knowledge or
Environment) - R Requirements (what the end user really needs)
- S Specification (restricted form of
requirements, stated in terms understood by both
the end user and the developer) - P Program (Implementation deliverable)
- M Machine (Programming Platform)
- Most developer focus on P and at most S
- We need to focus on W and R
4Specification Artifacts
Environment
System
W
R
S
P
M
Domain (World) knowledge provides presumed
facts about the environment.
5Specification Artifacts
Environment
System
W
R
S
P
M
Requirements that indicate what the customer
needs from the system, described in terms of its
effect on the environment.
6Specification Artifacts
Environment
System
W
R
S
P
M
Specification providing enough information for a
programmer to build a system that satisfies the
requirements.
7Specification Artifacts
Environment
System
W
R
S
P
M
Program implementing the specification on the
given program platform.
8Specification Artifacts
Environment
System
W
R
S
P
M
Programming platform (Machine) provides a basis
for programming a machine to satisfy the
specification.
9Designations
Environment
System
eh
ev
sv
sh
Visibility
Control
10Specification Artifacts
Environment
System
W
R
S
P
M
End-user wishes for
11Specification Artifacts
Environment
System
W
R
S
P
M
Developer must supply
12Specification Artifacts
Environment
System
W
R
S
P
M
13Specification Artifacts
Environment
System
W
R
S
P
M
End-user must guarantee
14Specification Artifacts
Environment
System
W
R
S
P
M
Common Language Refinement
15Example Patient Monitoring System
Requirement a system to warn a nurse if a
patients heart stops beating.
16Artifacts
- Domain knowledge W
- A nurse is always at the nurses station and can
hear a bell. - If the patients heart has stopped, then a sensor
on the patients chest ceases detecting the sound
of a heartbeat. - Programming platform M
- Sound sensor.
- Bell.
- Computer that can activate the bell based on
information from the sensor. - Specification S
- If the sensor has not reported a signal above a
cutoff threshold in the last two seconds, sound
the bell.
17Role of the Specification
- Specification provides communication between user
and developer expressed in the common vocabulary
of environment and system. - Enables factorization of responsibilities between
user and developer. - Users work with designations visible in the
environment (viz. W and R). - Developers work with designations visible in the
system (viz. P and M).
18Kinds of Formal Specifications
- Basic functional (relates input sequences to
output sequences) - Real-times specs
- Security specs
- Resource specs (e.g. power)
19What I Need From You
- Your Requirements
- What do elderly need
- Usability
- What does the medical profession need
- Reliability
- Security (HIPPA)
- Interoperability
- Medical Social Domain Knowledge
- How do patients actually live?
- How is information recorded and reported
- Review of Specifications
20What I Give (to You?)
- Open Database of
- Domain Knowledge
- Given in English as experts expressed it
- Model in formal mathematics suitable for proofs
- Proofs of sensibility
- Requirements
- English, math, sensibility proofs
- Specifications
- English, math
- Proofs that Specification satisfies Requirements
- Allows for multiple implementations
(interoperablility)