Ivan Marsic • Rutgers
University 142
Figure 3-23 shows the key idea behind the frame decomposition. Given a problem represented as a complex set of requirements relating to a complex application domain, our goal is to represent
the problem using a set of basic problem frames.
3.3.3 Composition of Problem Frames
Real-world problems almost always consist of combinations of simple problem frames. Problem frames help us achieve understanding of simple subproblems and derive solutions machines for
these problem frames. Once the solution is reached at the local level of specialized frames, the integration or composition or specialized understanding is needed to make a coherent whole.
There are some standard composite frames, consisting of compositions of two or more simple problem frames.
a c
Editing tool Workpieces
Command effects
c: TR {Place[i], Cancel[i], Executed[i], Expired[i]} [Y3]
a: TM {Create[i]} [E1] b: TR {PriceQuotes, Place[i]} [Y2]
Trading machine
Trading machine
Order placing rules
Trader B
Trader B
User
b d
Trading order
X Trading
order X
Figure 3-22: Example of a Simple Workpieces basic frame: placing a trading order.
Chapter 3 • Modeling and System Specification
143
3.3.4 Models
Software system may have world representation and this is always idealized. E.g., in our lock system, built-in as opposed to runtime sensedacquired knowledge is: IF valid key entered AND
sensing dark THEN turn on the light.
The Machine
Domain 1
The Requirements
Domain 2
Domain 3
Domain 4
Domain 5
The Machine
The Machine
Domain 1
The Requirements
Domain 2
Domain 3
Domain 4
Domain 5
a
M a
c h
in e
1 D
o m
a in
1 R
e q
u ir
e m
e n
t 1
M a
c h
in e
1 M
a c
h in
e 1
D o
m a
in 1
R e
q u
ir e
m e
n t
1
M a
ch in
e 3
R e
q u
ir e
m e
n t
3
D o
m a
in 3
D o
m a
in 4
M a
ch in
e 3
M a
ch in
e 3
R e
q u
ir e
m e
n t
3
D o
m a
in 3
D o
m a
in 4
Ma ch
in e
2 Dom
a in
2 R
e qu
ir em
e n
t 2
Ma ch
in e
2 Ma
ch in
e 2
Dom a
in 2
R e
qu ir
em e
n t
2
M ac
hi ne
4 Do
m ai
n 5
Re qu
ire m
en t
4
M ac
hi ne
4 M
ac hi
ne 4
Do m
ai n
5 Re
qu ire
m en
t 4
b
Figure 3-23: The goal of frame decomposition is to represent a complex problem a as a set of basic problem frames b.
Ivan Marsic • Rutgers
University 144
3.4 Specifying Goals
The basic idea of goal-oriented requirements engineering is to start with the aggregate goal of the whole system, and to refine it by successive steps into a goal hierarchy.
AND-OR refinements … Problem frames can be related to goals. Goal-oriented approach distinguishes different kinds of
goal, as problem-frames approach distinguishes different problem classes. Given a problem decomposition into basic frames, we can restate this as an AND-refinement of the goal hierarchy:
to satisfy the system requirement goal, it is necessary to satisfy each individual subgoal of each basic frame.
When programmed, the program “knows” its goals implicitly rather than explicitly, so it cannot tell those to another component. This ability to tell its goals to others is important in autonomic
computing, as will be seen in Section 9.3 below.
State the goal as follows: given the states A=locked, B=lightOff, C=user positively identified, D=daylight
Goal is the equilibrium state to be reached after a perturbation. Initial state: A
∧B, goal state: ¬A∧¬B. Possible actions:
α—setOpen; β—setLit Preconditions for
α: C; for β: D We need to make a plan to achieve
¬A∧¬B by applying the permitted actions.
Program goals, see also “fuzzy” goals for multi-fidelity algorithms, MFAs, [Satyanarayanan Narayanan, 2001]. http:www.cs.yale.eduhomeselkin Michael Elkin
The survey “Distributed approximation,” by Michael Elkin. ACM SIGACT News, vol. 36, no. 1, Whole Number 134, March 2005.
http:theory.lcs.mit.edu~rajsbaumsigactNewsDC.html The purpose of this formal representation is not to automatically build a program; rather, it is to
be able to establish that a program meets its specification.