1 / 26

Object Oriented Modelling

Object Oriented Modelling. Object Oriented Modelling. Develop cognitive models to help discover and design OO software Focus is on finance applications High-level Concept Mapping techniques Map CMs to UML, patterns and code. What is a Concept?.

jamese
Download Presentation

Object Oriented Modelling

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Object Oriented Modelling

  2. Object Oriented Modelling • Develop cognitive models to help discover and design OO software • Focus is on finance applications • High-level Concept Mapping techniques • Map CMs to UML, patterns and code

  3. What is a Concept? • A regularity in entities, objects, activities or events • Designate a concept by a label • We use concepts as recognition devices • Concepts can be abstract/high-level or concrete/low-level

  4. Examples of Concepts • Instrument, option, IBM stock • Pricing model, PDE, FDM • MC pricing engine • Risk System

  5. Links • We ‘glue’ concepts together to form propositions • Meaningful relationships between concepts • A link is typically a verb or verb phrase • Source: text, word-of-mouth, experience

  6. Examples of Links • FDM uses a PDE • An Asian option has various kinds of payoff • A Cheyette model is a kind of Asian option • Crank Nicolson is a FD scheme • A portfolio consists of instruments

  7. Relationships with OO • Concepts correspond to classes and (sub)systems • Links correspond to ISA, aggregation and association relationships • We create a concept maps, evaluate it and then map to C++ classes and patterns • We recommend it!

  8. Concept Map • A set of concepts with links connecting them • Concepts correspond to nouns, links to verbs and verb phrases • Originally used in Education • Duffy used it for Object Modeling Technique (OMT, 1995)

  9. Example: Australia

  10. Finite Difference Method

  11. Why Concept Maps? • Forces us to think about the problem • Easier to understand and to discuss than ‘flat’ text • Front-end to UML and Design Patterns (Gamma et al) • Many stakeholders can understand them

  12. Concept Mapping Process • We wish to develop techniques for creating concept maps • Cleat input and output (defined process) • Input: text, discussion, domain knowledge • Output: One or more (hierarchical) concept maps

  13. Categories of Concept Maps • Describing the structure of (complex) objects • Describing dependencies in a dependency graph • Data flow in a ‘data graph’ • Any combination of the above

  14. The Filtering Process • Texts tend to be ambiguous • People tend not to ask question • Get a common frame of reference ASAP • Apply standard questions

  15. Questions • What is • What kinds of • How to • When, why • Relationship questions • Follow-on questions

  16. Sources of Confusion • Noise (redundancy) • Silence • Overspecification • Contradiction • Ambiguity • Role (a ‘view’ of the ‘real’ thing, what is the latter?)

  17. The Process • 1. Make a list of words/concepts in current problem • 2. Apply filtering process (modify list in 1.) • 3. Find the links between the words • 4. Construct sentences/propositions between the words in steps 2 and 3 • 5. Construct the concept map

  18. The Map • 1. List key concept • 2. List supporting concepts at next level of generality • 3. Create links between main and supporting concepts • 4. Create cross-links between supporting concepts • 5. Goto step and execute for each supporting concept

  19. Example: Instruments

  20. Example: Monte Carlo

  21. Example: Asian Options

  22. Example: Pricing Models

  23. Example: Merging Concept Maps

  24. What’s next? • Assuming we have a good feeling about the map, start design • UML components, classes and corresponding diagrams • Design patterns • C++ code

  25. Example: Component Diagram

  26. Tips on Text Input • At most 1 A4 • Describe what the system should deliver • What is the input? • Describe the activities in the process from input to output

More Related