1 Ivan Marsic Rutgers University LECTURE 13: Problem Frames Part II: Modeling & Recombination
2 Topics Problem Domain Modeling Recombining Problem Frames
3 Typical System Requirements REQ-1: Map input data to output data as said by given rules REQ-2: Allow repository (or document) editing, where “repository” is a collection of data REQ-3: Automatically control a physical object/device REQ-4: Interactively control a physical object/device REQ-5: Monitor and display information about an object Required Behavior Commanded Behavior Information Display Simple Workpieces Transformation
4 Machine and Problem Domain Software-to-be (“Machine”) Problem Domain Requirement ab Software-to-be (“Machine”) Problem Domain Requirement Specification Domain properties seen by the software-to-be Domain properties seen by the requirement Requirement a: specification interface phenomena b: requirement interface phenomena (a) (b) ab
5 Basic Frame 1: Required Behavior Control software Controlled domain Required behavior CS!C1C3 CD!C2 C Broker software Stock exchange Order handling rules ab C Example: Execute a Trading order Control Software Controlled Domain Required Behavior b: SE! {Place[i], Cancel[i], Executed[i], Expired[i]} [C3] a: BS! {Execute[i]} [C1] SE! {PriceQuotes, Ack[i], Failed[i]} [C2] C Causal domain Key: B Biddable domain X Lexical domain Causal phenomena Events Symbolic requirement phenomena [C ] [E ] [Y ]
6 Notation Syntax for Shared Phenomena C – causal domain predictable causal relationships among its causal phenomena such as physical laws or business contracts or social norms B – biddable domain usually people: unpredictable, incoercible X – lexical domain a physical representation of data (i.e., symbolic phenomena) [ C ] - causal phenomena events, states; directly produced or controlled by an entity; can give rise to other phenomena in turn [ E ] - events [ Y ] – symbolic requirement phenomena values, and truths and states relating only values; symbolize other phenomena and relationships among them Causal domain C Biddable domain B Lexical domain X a Machine Problem Domain a: M ! E1 PD ! C2
7 Basic Frame 2: Commanded Behavior Control software Command behavior CS!C1 C3 CD!C2 ab Example: Place a Trading order Control software Controlled domain Command behavior c: TR! {Place[i], Cancel[i], Executed[i], Expired[i]} [Y3] a: TS! {Create[i]} [E1] b: TR! {PriceQuotes, Place[i]} [Y2] Controlled domain C Operator B OP!E4 E4 C D A C B B Operator cc
8 Basic Frame 3: Information Display Information software Display ~ Real world C3RW!C1 ac Example: Place a Trading order Information software Real world Display ~ Real world c: TR! {Place[i], Cancel[i], Executed[i], Expired[i]} [Y3] a: TS! {Create[i]} [E1] b: TR! {PriceQuotes, Place[i]} [Y2] Real world C Display C IS!E2 Y4 C D A C B C Display bd
9 Basic Frame 4: Simple Workpieces Editing tool Command effects ET!E1 Y3 WP!Y2 ac Example: Place a Trading order Editing tool Workpieces Command effects c: TR! {Place[i], Cancel[i], Executed[i], Expired[i]} [Y3] a: TS! {Create[i]} [E1] b: TR! {PriceQuotes, Place[i]} [Y2] User B US!E3 E3 Trading software Order placing rules Trader B User bd Work pieces X Trading order X
10 Basic Frame 5: Transformation Transform software IO relation Y3IN!Y1 ac Example: Place a Trading order Transform software Inputs IO relation c: TR! {Place[i], Cancel[i], Executed[i], Expired[i]} [Y3] a: TS! {Create[i]} [E1] b: TR! {PriceQuotes, Place[i]} [Y2] Inputs X Outputs X TS!Y2 Y4 C D A X B X Outputs bd
11 Example: Personal Health Monitoring REQ1: keep track of person’s data (vital signs, activities, food, etc.)[ Information Display ] or [ Simple Workpieces ] when user enters food data REQ2: Calculate statistics of the data [ Transformation? ] but also [ Model Building ] in real time REQ3: Allow the user to query for trends and issues[ Model Operating ] REQ4: Propose a fitness regime suitable for this user[ Information Display ] or [ Model Operating ]?
Personal Health Monitoring 12 Monitoring Software c BP Sensor HR Sensor d User Person’s Body a b e a = blood vessel pressure (upper right arm) b = pulse (upper right arm) c = blood pressure values (systolic/diastolic) measured every x minutes d = heart rate values, measure every y minutes e = querying commands
13
14