UML for beskrivelse av distribuerte informasjonssystemer Understand IT Friday, November 23, 2018 UML for beskrivelse av distribuerte informasjonssystemer UML Fagseminar Mogul Academy Februar/Mars 2002 Trygve Reenskaug http://www.ifi.uio.no/~trygver trygve.reenskaug@ifi.uioi.no Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug
From partners' presentation to OMG Nov 2001 (With permission) UML 2.0 Partners From partners' presentation to OMG Nov 2001 (With permission) Arkitektur for distribuerte informasjonssystemer
Arkitektur for distribuerte informasjonssystemer Introduction UML Architecture as the composition of Parts CPU Centered Storage Centered Communication Centered UML - Useful on different levels Conclusion & Pervasive Computing Arkitektur for distribuerte informasjonssystemer
CPU-Centered paradigm Understand IT Friday, November 23, 2018 CPU-Centered paradigm FORTRAN Algol 60 …….. Output Input UML Activity diagram Central Processing Unit Flowchart Memory Processing data is the essence The world is the processing of data FORTRAN : FORmula TRAnslation COMMON variables Algol: ALGOrithmic Language GLOBAL variables Some people didn’t make the transition from punched card processing to computers Tape Hardware Software Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug
Storage-Centered paradigm Understand IT Friday, November 23, 2018 Storage-Centered paradigm Shared database App.1 App.2 App.4 App.3 DB Schema language e.g. Entity-Relation e.g. NIAM Output Input Memory Central Processing Unit B C A * 1 UML Class diagram Multiport memories Storing data is the essence The world is the management of data Schema languages GLOBAL schema Includes CPU-centered, but demoted to background Some people didn’t make the transition from FORTRAN or COBOL to databases A real programmer can write FORTRAN in any language! Disk Tape Hardware Software Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug
Water Resource Management Norway 1993 Arkitektur for distribuerte informasjonssystemer
Communication-Centered paradigm Understand IT Friday, November 23, 2018 Communication-Centered paradigm Object 1 Object 2 Object 4 Object 3 Information Bus Central Processing Unit Input Output Disk Communication Bus Memory Tape HW: the BUS or BACKPLANE flexible extensible simple SW: Surprisingly late coming! Exploded because 20 years needs finally released Includes, but demotes, CPU- and storage-centered flexible extensible simple Join enterprise with customers and subcontractors! UML Collaboration/OOram Composition tools ?? Hardware Software Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug
Dilemma: Ship designer needs more than Ship Design System Arkitektur for distribuerte informasjonssystemer
70-årenes datasystemer Prosjektforslag juni 1970 Arkitektur for distribuerte informasjonssystemer
Enterprise Java Bean (EJB) Application Assembler perspective Information Bus / WEB Browser / Name Server / Applet (End user tool) 1: lookup("roombroker"); / Booking Home Factory object / Booking Bean / Booking Object 2: create(xxx); 3: ejbCreate(xxx); 4: getRooms(); / Room Chooser Java Beans 5: getRooms(); 6: addItem(element) Arkitektur for distribuerte informasjonssystemer
Focus on Architecture Hide implementation Information Bus / WEB Browser / Name Server The component has responsibility knows its collaborators is robust Nobody knows everything! / Applet (End user tool) Code is invisible! 1: lookup("roombroker"); / Booking Home Factory object / Booking Bean / Booking Object 2: create(xxx); 3: ejbCreate(xxx); 4: getRooms(); Components References Interfaces are visible! / Room Chooser Java Beans 5: getRooms(); 6: addItem(element) Arkitektur for distribuerte informasjonssystemer
UML 2: Parts and Connectors Car a:Axle [2..*] w:Wheel [0..*] Part Structural features that specify future instances (objects, links) Contextualization instances will be part of same container instance and links will connect instances within this container From partners' presentation to OMG Nov 2001 (With permission) Arkitektur for distribuerte informasjonssystemer
From partners' presentation to OMG Nov 2001 (With permission) UML 2: Ports From partners' presentation to OMG Nov 2001 (With permission) Arkitektur for distribuerte informasjonssystemer
Arkitektur for distribuerte informasjonssystemer Introduction UML Architecture as the composition of Parts CPU Centered Storage Centered Communication Centered UML - Useful on different levels Conclusion & Pervasive Computing - - Arkitektur for distribuerte informasjonssystemer
Personal, Integrated Information Environments Understand IT Friday, November 23, 2018 Personal, Integrated Information Environments Enterprise level Work processes UML Object Model Enterprise level Work processes UML Object Model Personal level User's mental model UML Collaboration System level Design models All of UML Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug
UML Collaboration modeling Understand IT Friday, November 23, 2018 UML Collaboration modeling Peter (Technical author) Bill (Dispatcher) Joyce (Sales clerk) Douglas (Marketing manager) Kim (Methodologist) Elsie (Programmer) Eve (Software Manager) (Bookkeeper) Joe (Paymaster) Adam (Chief Accountant) Ruth (President) John (Cashier) Ann (Customer consultant) 4: authorizedExpenseReport Authorizer 1: travelPermissionRequest 2: travelPermission 3: expenseReport Paymaster 5: paymentRequest Traveler The classifierRole represents the object’s position in the structure and its responsibility for performing its part of the system function. Cashier Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug
<Check OK> <Authorize> Understand IT Friday, November 23, 2018 UML Activity Modeling Traveler Authorizer Bookkeeper Paymaster Who Travel perm. request <Decide> <Plan trip> What Travel permission <Buy tickets> When <Write exp. Report> <Travel> Expense Report <Check OK> <Authorize> Authorized Expense Report <Check> <Bookkeeping> Payment Request <Pay out> Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug
Task: Decide permission Travel Expense Model Understand IT Friday, November 23, 2018 Task: Decide permission Travel Expense Model / Traveler / Authorizer / Authorizer / BookKeeper / Paymaster Travel perm. request <Decide> Travel perm. request <Decide> Travel permission <Plan trip> Travel permission <Buy tickets> <Write exp. Report> <Travel> Expense Report <Check OK> <Authorize> Authorized Expense Report <Check> <Bookkeeping> Payment Request <Pay out> Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug
Personal Information Environment Understand IT Friday, November 23, 2018 Personal Information Environment Personal level User's mental model UML Collaboration Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug
Travel Permission Decision Tool Travel Expense System Understand IT Friday, November 23, 2018 Travel Permission Decision Tool Travel Expense System Traveler Peter Period week 11 Planned cost USD 2000.- Purpose Attend TOOLS Europe 2001 Current plan for Peter activity 1 activity 2 activity 3 week 10 11 12 13 14 15 Budget + commitments Item Budget Committed Travel 10,000 4,000 Permit Reject Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug
Travel Permission Decision Tool Required Topology Understand IT Travel Permission Decision Tool Required Topology Friday, November 23, 2018 Traveler Peter Period week 11 Planned cost USD 2000.- Purpose Attend TOOLS Europe 2001 Current plan for Peter activity 1 activity 2 activity 3 week 10 11 12 13 14 15 Budget + commitments Item Budget Committed Travel 10,000 4,000 Reject Permit / Planning Service / Authorizer / DecisionTool / Travel Service / Accounting Service Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug
Alan Kay's Dynabook View, navigate, edit, program objects Mommy: "Do your homework, June" June: " I am doing it, mommy" Arkitektur for distribuerte informasjonssystemer
Donald A. Norman: The Design of Everyday Things Arkitektur for distribuerte informasjonssystemer
The Importance of the User's Mental Model Understand IT Friday, November 23, 2018 The Importance of the User's Mental Model A good conceptual model allows us to predict the effects of our actions. Without a good model we do operations as we are told; we cannot fully appreciate why, what effects to expect, or what to do if things go wrong. System Image SYSTEM DESIGNER Design model USER USER'S MODEL Donald A. Norman: The Design of Everyday Things Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug
Model-View-Controller (MVC) The 1978 Original Controls the Tool User Model Persistence & Business Logic View Present and edit Information Arkitektur for distribuerte informasjonssystemer
Arkitektur for distribuerte informasjonssystemer Introduction UML Architecture as the composition of Parts CPU Centered Storage Centered Communication Centered UML - Useful on different levels Conclusion & Pervasive Computing Arkitektur for distribuerte informasjonssystemer
Pervasive / Ubiquitous Computing Pervasive Computing is a term for the strongly emerging trend toward: Numerous, casually accessible, often invisible computing devices Frequently mobile or imbedded in the environment Connected to an increasingly ubiquitous network structure Pervasing Computing 2001 Arkitektur for distribuerte informasjonssystemer
Ubiquitous Computing program Xerox PARC 1988 Radical answer to what was wrong with PC: Too complex & hard to use Too demanding of attention Too isolated from other people and activities Too dominating as it colonized our desktops and our lives Arkitektur for distribuerte informasjonssystemer
Ubiquitous Computing program Xerox PARC 1999 Vast potential: Improving work practices and knowledge sharing essentially getting computers out of the way amplifying human-to-human communication Arkitektur for distribuerte informasjonssystemer
Ubiquitous Computing program Xerox PARC 1999 The problem of control because system is invisible and extensive: hard to know what is controlling what hard to know what is connected to what hard to know where information is flowing hard to know how it is being used hard to know the consequences of any action Arkitektur for distribuerte informasjonssystemer
Empowering the user with objects in the computer interface Understand IT Friday, November 23, 2018 Objects Backplane (Java Virtual Machine etc.) Create the Illusion ! Computing is Simple! Operating System Hardware Net After Øystein Myhre Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug
Understand IT Friday, November 23, 2018 More details …. http://www.ifi.uio.no/~trygver trygve.reenskaug@ifi.uio.no Unified Modeling Language (UML). Object Management Group. Version 1.4, Formal version, September 2001. http://www.omg.org/technology/documents/formal/uml.htm Version 2.0, One of initial proposals, http://www.u2-partners.org/ Donald A. Norman: "The Design of Everyday Things." Doubleday/Currency 1990. ISBN 0-385-26774-6 End user programming: http://www-alt.pasteur.fr/~letondal/These/links-ihm.html The reference work on role modeling: Reenskaug, Wold, Lehne: Working With Objects. This book is out of print. A .pdf version kan be downloaded free from http://www.ifi.uio.no/~trygver The theory of role modeling: Egil P. Andersen: Conceptual Modeling of Objects. A Role Modeling Approach. Dr Scient thesis. Dept. of Informatics, University of Oslo. 4 November 1997. ftp://ftp.nr.no/pub/egil/ConceptualModelingOO.ps.gz Pervasive computing: IBM Journal of Research and Development 38, 4 (1999) http://www.research.ibm.com/journal/sj38-4.html Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug