Presentation is loading. Please wait.

Presentation is loading. Please wait.

Methods: Deciding What to Design In-Young Ko iko.AT. icu.ac.kr Information and Communications University (ICU) iko.AT. icu.ac.kr Fall 2005 ICE0575 Lecture.

Similar presentations


Presentation on theme: "Methods: Deciding What to Design In-Young Ko iko.AT. icu.ac.kr Information and Communications University (ICU) iko.AT. icu.ac.kr Fall 2005 ICE0575 Lecture."— Presentation transcript:

1 Methods: Deciding What to Design In-Young Ko iko.AT. icu.ac.kr Information and Communications University (ICU) iko.AT. icu.ac.kr Fall 2005 ICE0575 Lecture #11 Problem Frames II

2 Fall 2005 2 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Announcements Please check the updated course schedule Please check the updated course schedule 11/8 & 11/11: No fall recession, regular classes will be held 11/8 & 11/11: No fall recession, regular classes will be held 11/18: No class 11/18: No class 11/25: Special session: Software Engineering Economics 11/25: Special session: Software Engineering Economics 12/13: Regular class 12/13: Regular class 12/16: No class 12/16: No class

3 Fall 2005 3 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Picture of the Day: PNC Park

4 Fall 2005 4 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University The content of this slide is adopted from the lecture materials of the Methods course (17-652) at Carnegie Mellon University.

5 Fall 2005 5 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University The One-way Traffic Lights Problem Lights regime Light units Lights controller a: LC! {Rpulse[i], Lpulse[i] b: LU! {Stop[I], Go[I]} a b Is this Designed? Given? Machine? Causal? Biddable? Lexical? Static? Dynamic? Discrete? Continuous? Active? Passive? Reactive? The content of this slide is adopted from the lecture materials of the Methods course (17-652) at Carnegie Mellon University.

6 Fall 2005 6 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Lights controller Is this Designed? Given? Machine? Causal? Biddable? Lexical? Static? Dynamic? Discrete? Continuous? Active? Passive? Reactive? Lights regime Light units a: LC! {Rpulse[i], Lpulse[i] b: LU! {Stop[I], Go[I]} a b The content of this slide is adopted from the lecture materials of the Methods course (17-652) at Carnegie Mellon University. The One-way Traffic Lights Problem

7 Fall 2005 7 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Today ’ s Plan Highlights of problem frames Highlights of problem frames Separation of concerns as a way to manage complexity Separation of concerns as a way to manage complexity Expertise as a large body of knowledge Expertise as a large body of knowledge Language as a way to describe phenomena Language as a way to describe phenomena Abstraction as a way to manage detail Abstraction as a way to manage detail The relation between requirement and specification The relation between requirement and specification Types as a way to identify allowable operations Types as a way to identify allowable operations Revisit language, associate types with primitives Revisit language, associate types with primitives Template matching as a way to search alternatives Template matching as a way to search alternatives Types to judge how tight the fit is Types to judge how tight the fit is State transition models as a way to describe activity State transition models as a way to describe activity Relation to individual scenarios, cases Relation to individual scenarios, cases The content of this slide is adopted from the lecture materials of the Methods course (17-652) at Carnegie Mellon University.

8 Fall 2005 8 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Frame Concerns Chapter 5 of Problem Frames deals with how you argue the correctness of your analysis Chapter 5 of Problem Frames deals with how you argue the correctness of your analysis You ’ ll see similarities to the ADT example You ’ ll see similarities to the ADT example You ’ ll also see how this associates semantics with a diagram formulated in the problem frame language You ’ ll also see how this associates semantics with a diagram formulated in the problem frame language The content of this slide is adopted from the lecture materials of the Methods course (17-652) at Carnegie Mellon University.

9 Fall 2005 9 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Lights regime Light units Lights controller … we’ll be sure the resuming lights sequence will be this [rqt] 3 … knowing that the light units work like this, … [domain] 2 We will build the machine to behave like this, so that … [spec] 1 The content of this slide is adopted from the lecture materials of the Methods course (17-652) at Carnegie Mellon University. The One-way Traffic Lights Problem

10 Fall 2005 10 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Simple Workpieces Frame Concern Data entry rules Medical staff PREdit machine Periods & ranges When the user issues this command, it may be out of context or syntactically incorrect, then … [rqt] 1 …in that case the machine will reject it … [spec] 2 … or ignore it if it isn’t viable, or else invoke these operations … [spec] 3 … resulting in this change of workpiece values and states … [dom] 4 … thus achieving the desired result in every case [rqt] 5 Correct editing John & Lucy Party editor Party plan The content of this slide is adopted from the lecture materials of the Methods course (17-652) at Carnegie Mellon University.

11 Fall 2005 11 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Today ’ s Plan Highlights of problem frames Highlights of problem frames Separation of concerns as a way to manage complexity Separation of concerns as a way to manage complexity Expertise as a large body of knowledge Expertise as a large body of knowledge Language as a way to describe phenomena Language as a way to describe phenomena Abstraction as a way to manage detail Abstraction as a way to manage detail The relation between requirement and specification The relation between requirement and specification Types as a way to identify allowable operations Types as a way to identify allowable operations Revisit language, associate types with primitives Revisit language, associate types with primitives Template matching as a way to search alternatives Template matching as a way to search alternatives Types to judge how tight the fit is Types to judge how tight the fit is State transition models as a way to describe activity State transition models as a way to describe activity Relation to individual scenarios, cases Relation to individual scenarios, cases The content of this slide is adopted from the lecture materials of the Methods course (17-652) at Carnegie Mellon University.

12 Fall 2005 12 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Programming Languages, Revisited A symbolic language has syntax A symbolic language has syntax Primitive elements (entities) Primitive elements (entities) Primitive operations (things you can do to entities) Primitive operations (things you can do to entities) Encapsulation and composition mechanism Encapsulation and composition mechanism Extension mechanism (a way to add new primitives) Extension mechanism (a way to add new primitives) To be useful, it also has semantics To be useful, it also has semantics Rules for relating consequences within the language to consequences in the larger world Rules for relating consequences within the language to consequences in the larger world Types provide a way to distinguish entities that allow different operations Types provide a way to distinguish entities that allow different operations The content of this slide is adopted from the lecture materials of the Methods course (17-652) at Carnegie Mellon University.

13 Fall 2005 13 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Domain Types Domain: {Problem, Machine} [p21] Domain: {Problem, Machine} [p21] Set of related phenomena treated as a unit Set of related phenomena treated as a unit Problem = {Designed, Given, Connection, [more later]} Problem = {Designed, Given, Connection, [more later]} Role of designer: Role of designer: constructs machine, constructs machine, creates representation for designed, creates representation for designed, accepts given, accepts given, interposes connection between machine & problem domain interposes connection between machine & problem domain Domain types: {Causal, Biddable, Lexical} [p83] Domain types: {Causal, Biddable, Lexical} [p83] Causal: predictable causal relations among causal phenomena Causal: predictable causal relations among causal phenomena Biddable: physical but not fully predictable Biddable: physical but not fully predictable Lexical: physical (symbolic) representation of data Lexical: physical (symbolic) representation of data The content of this slide is adopted from the lecture materials of the Methods course (17-652) at Carnegie Mellon University.

14 Fall 2005 14 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Domain Flavors Domain characteristics need finer discriminations to describe the particular needs of various frames [p145] Domain characteristics need finer discriminations to describe the particular needs of various frames [p145] Static: structural distinctions (e.g. sequence, tree) useful in lexical and some causal (static physical) domains Static: structural distinctions (e.g. sequence, tree) useful in lexical and some causal (static physical) domains Dynamic: small-scale, short-term behavioral differences Dynamic: small-scale, short-term behavioral differences {Robust, Inhibiting, Fragile} behavior {Robust, Inhibiting, Fragile} behavior {Continuous, Discrete} behavior {Continuous, Discrete} behavior Control: larger-scale behavior {Active, Passive} + Control: larger-scale behavior {Active, Passive} + Informal: things that make formal reasoning hard Informal: things that make formal reasoning hard Conceptual: things that are inconveniently subjective Conceptual: things that are inconveniently subjective The content of this slide is adopted from the lecture materials of the Methods course (17-652) at Carnegie Mellon University.

15 Fall 2005 15 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Domain Descriptions Domain descriptions: {Indicative, Optative} Domain descriptions: {Indicative, Optative} Problem domain descriptions are indicative (descriptive) Problem domain descriptions are indicative (descriptive) Machine domain descriptions are optative (prescriptive) Machine domain descriptions are optative (prescriptive) Domain characteristics: {Active, Autonomous, Inert (Passive)} Domain characteristics: {Active, Autonomous, Inert (Passive)} Active: can initiate activity (events, state changes) without external stimulus from another domain [p93] Active: can initiate activity (events, state changes) without external stimulus from another domain [p93] Autonomous: active, and nothing outside affects it [p93] Autonomous: active, and nothing outside affects it [p93] Inert: may react to external events, does not initiate – domains with passive states [p97] Inert: may react to external events, does not initiate – domains with passive states [p97] Informal domains: no exact descriptions [p124] Informal domains: no exact descriptions [p124] The content of this slide is adopted from the lecture materials of the Methods course (17-652) at Carnegie Mellon University.

16 Fall 2005 16 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Phenomena Phenomena = {Individuals, Relations} [p78] Phenomena = {Individuals, Relations} [p78] Individuals = {Entities, Events, Values} Individuals = {Entities, Events, Values} Relations = {Roles, States, Truths} Relations = {Roles, States, Truths} Most common: {Events, Values, States} Most common: {Events, Values, States} {Causal, Symbolic} phenomena [83] {Causal, Symbolic} phenomena [83] Causal: events, roles, or states relating entities Causal: events, roles, or states relating entities Symbolic: values, truths, states relating only values Symbolic: values, truths, states relating only values {Specification, Requirement} phenomena {Specification, Requirement} phenomena Specification: shared with problem machine Specification: shared with problem machine Requirement: subject of requirement references Requirement: subject of requirement references Interfaces are physical sharing of phenomena Interfaces are physical sharing of phenomena The content of this slide is adopted from the lecture materials of the Methods course (17-652) at Carnegie Mellon University.

17 Fall 2005 17 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Today ’ s Plan Highlights of problem frames Highlights of problem frames Separation of concerns as a way to manage complexity Separation of concerns as a way to manage complexity Expertise as a large body of knowledge Expertise as a large body of knowledge Language as a way to describe phenomena Language as a way to describe phenomena Abstraction as a way to manage detail Abstraction as a way to manage detail The relation between requirement and specification The relation between requirement and specification Types as a way to identify allowable operations Types as a way to identify allowable operations Revisit language, associate types with primitives Revisit language, associate types with primitives Template matching as a way to search alternatives Template matching as a way to search alternatives Types to judge how tight the fit is Types to judge how tight the fit is State transition models as a way to describe activity State transition models as a way to describe activity Relation to individual scenarios, cases Relation to individual scenarios, cases The content of this slide is adopted from the lecture materials of the Methods course (17-652) at Carnegie Mellon University.

18 Fall 2005 18 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Frame Signatures Problem FrameProblem Domain Characteristics Required behavior1 causal Commanded behavior1 causal, 1 biddable Information display2 causal Simple workpieces1 lexical, 1 biddable Transformation2 lexical Patient monitoring, periods and ranges1 lexical, 1 biddable Domain mismatch indicates the frame isn ’ t applicable, BUT match does not assure the frame is applicable The content of this slide is adopted from the lecture materials of the Methods course (17-652) at Carnegie Mellon University.

19 Fall 2005 19 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Next Weeks For Tuesday (10/18): For Tuesday (10/18): Read Jackson, Ch 10-11 Read Jackson, Ch 10-11 We ’ ll skip 7-9, though you may need to refer to those We ’ ll skip 7-9, though you may need to refer to those Tuesday (10/18): Tuesday (10/18): Finding the subproblems in a larger problem Finding the subproblems in a larger problem Framing them individually Framing them individually Fitting them together to solve the main problem Fitting them together to solve the main problem Tuesday (10/25): Tuesday (10/25): Problem frames for your studio problem Problem frames for your studio problem Use Sec 10.2 as a template Use Sec 10.2 as a template The content of this slide is adopted from the lecture materials of the Methods course (17-652) at Carnegie Mellon University.

20 Fall 2005 20 ICE 0575 – Methods: Deciding What to Design © In-Young Ko, Information and Communications University Questions??


Download ppt "Methods: Deciding What to Design In-Young Ko iko.AT. icu.ac.kr Information and Communications University (ICU) iko.AT. icu.ac.kr Fall 2005 ICE0575 Lecture."

Similar presentations


Ads by Google