Problem Decomposition into Frames

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.