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 © Trygve Reenskaug 2002 Slide 1 5/29/2016 3:31:59 AM. UML 2.0 Partners From partners' presentation to OMG Nov 2001 (With permission) 5/29/2016 3:31:59 AM.Slide 3 Arkitektur for distribuerte informasjonssystemer © Trygve Reenskaug 2002 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 © Trygve Reenskaug 2002 Slide 5 5/29/2016 3:32:00 AM. CPU-Centered paradigm Output Input FORTRAN Algol 60 …….. …….. Central Processing Unit Memory Tape Flowchart Hardware Arkitektur for distribuerte informasjonssystemer © Trygve Reenskaug 2002 UML Activity diagram Software Slide 6 5/29/2016 3:32:00 AM. Storage-Centered paradigm App.1 Input App.2 Output Shared database Central Processing Unit Memory App.3 B DB Schema language e.g. Entity-Relation e.g. NIAM App.4 A 1 Tape * C Disk Software Hardware Arkitektur for distribuerte informasjonssystemer UML Class diagram © Trygve Reenskaug 2002 Slide 7 5/29/2016 3:32:00 AM. Water Resource Management Norway 1993 Arkitektur for distribuerte informasjonssystemer © Trygve Reenskaug 2002 Slide 8 5/29/2016 3:32:00 AM. Communication-Centered Output Tape Central Processing Unit Object 1 Disk Object 3 Information Bus Input Communication Bus paradigm Object 2 Object 4 Memory UML Collaboration/OOram Hardware Arkitektur for distribuerte informasjonssystemer Composition tools ?? Software © Trygve Reenskaug 2002 Slide 10 5/29/2016 3:32:01 AM. Dilemma: Ship designer needs more than Ship Design System Arkitektur for distribuerte informasjonssystemer © Trygve Reenskaug 2002 Slide 11 5/29/2016 3:32:01 AM. 70-årenes datasystemer Prosjektforslag juni 1970 Arkitektur for distribuerte informasjonssystemer © Trygve Reenskaug 2002 Slide 12 5/29/2016 3:32:02 AM. Enterprise Java Bean (EJB) Application Assembler perspective / WEB Browser / Applet (End user tool) Information Bus / Name Server / Booking Home / Booking Object 4: getRooms(); / Room Chooser Factory object / Booking Bean 5: getRooms(); Java Beans Arkitektur for distribuerte informasjonssystemer © Trygve Reenskaug 2002 Slide 13 5/29/2016 3:32:02 AM. Focus on Architecture Hide implementation / WEB Browser / Name Server The component + has responsibility / Booking object Home its Factory + knows collaborators + is robust Nobody knows everything! / Applet (End user tool) Information Bus Code is invisible! / Booking Object 4: getRooms(); / Room Chooser / Booking Bean 5: getRooms(); Components References Interfaces are visible! Java Beans Arkitektur for distribuerte informasjonssystemer © Trygve Reenskaug 2002 Slide 14 5/29/2016 3:32:03 AM. UML 2: Parts and Connectors Car Connector 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) 5/29/2016 3:32:04 AM. Arkitektur for distribuerte informasjonssystemer © Trygve Reenskaug 2002 Slide 15 UML 2: Ports From partners' presentation to OMG Nov 2001 (With permission) 5/29/2016 3:32:05 AM. Arkitektur for distribuerte informasjonssystemer © Trygve Reenskaug 2002 Slide 16 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 © Trygve Reenskaug 2002 Slide 23 5/29/2016 3:32:05 AM. Personal, Integrated Information Environments 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 © Trygve Reenskaug 2002 Slide 24 5/29/2016 3:32:05 AM. UML Collaboration modeling Ruth (President) 4: authorizedExpenseReport Eve Douglas Adam (Software Manager) (Marketing manager) (Chief Accountant) Authorizer 1: travelPermissionRequest 2: travelPermission Joyce Joe Elsie (Paymaster) (Programmer) 3: expenseReport(Sales clerk) Paymaster Bill (Bookkeeper) Peter (Technical author) Traveler Bill (Dispatcher) 5: paymentRequest John (Cashier) Cashier Arkitektur for distribuerte informasjonssystemer Kim (Methodologist) © Trygve Reenskaug 2002 Ann (Customer consultant) Slide 25 5/29/2016 3:32:06 AM. UML Activity Modeling Traveler Authorizer Bookkeeper Paymaster Who <Plan trip> <Buy tickets> Travel perm. request What <Decide> When Travel permission <Travel> <Write exp. Report> Expense Report <Check OK> <Authorize> Authorized Expense Report <Check> <Bookkeeping> Payment Request Arkitektur for distribuerte informasjonssystemer © Trygve Reenskaug 2002 <Pay out> Slide 26 5/29/2016 3:32:08 AM. Task: Decide permission Travel Expense Model / Traveler <Plan trip> <Buy tickets> / Authorizer Travel perm. request / BookKeeper / Paymaster <Decide> Travel permission <Travel> <Write exp. Report> Expense Report <Check OK> <Authorize> Authorized Expense Report <Check> <Bookkeeping> Payment Request Arkitektur for distribuerte informasjonssystemer © Trygve Reenskaug 2002 <Pay out> Slide 28 5/29/2016 3:32:08 AM. Personal Information Environment Personal level User's mental model UML Collaboration Arkitektur for distribuerte informasjonssystemer © Trygve Reenskaug 2002 Slide 29 5/29/2016 3:32:09 AM. 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 Budget + commitments activity 1 activity 2 activity 3 week Item Budget Committed Travel 10,000 4,000 10 11 12 13 14 15 Permit Arkitektur for distribuerte informasjonssystemer Reject © Trygve Reenskaug 2002 Slide 30 5/29/2016 3:32:09 AM. Travel Permission Decision Tool Required Topology Traveler Peter Period week 11 Planned cost USD 2000./ Planning Service Purpose Attend TOOLS Europe 2001 /Current Authorizer plan for Peter activity 1 activity 2 activity 3 week / Travel / DecisionTool Service Budget + commitments Item Budget Committed Travel 10,000 10 11 12 13 14 15 Permit Arkitektur for distribuerte informasjonssystemer Reject © Trygve Reenskaug 2002 4,000 / Accounting Service Slide 31 5/29/2016 3:32:10 AM. Alan Kay's Dynabook View, navigate, edit, program objects Mommy: "Do your homework, June" June: " I am doing it, mommy" Arkitektur for distribuerte informasjonssystemer © Trygve Reenskaug 2002 Slide 33 5/29/2016 3:32:10 AM. Donald A. Norman: The Design of Everyday Things Arkitektur for distribuerte informasjonssystemer © Trygve Reenskaug 2002 Slide 34 5/29/2016 3:32:10 AM. 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. Design model USER'S MODEL USER DESIGNER SYSTEM Donald A. Norman: The Design of Everyday Things Arkitektur for distribuerte informasjonssystemer System Image © Trygve Reenskaug 2002 Slide 35 5/29/2016 3:32:16 AM. Model-View-Controller (MVC) The 1978 Original Controller Controls the Tool User Model Persistence & Business Logic View Present and edit Information Arkitektur for distribuerte informasjonssystemer © Trygve Reenskaug 2002 Slide 36 5/29/2016 3:32:16 AM. 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 © Trygve Reenskaug 2002 Slide 37 5/29/2016 3:32:19 AM. 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 © Trygve Reenskaug 2002 Slide 39 5/29/2016 3:32:19 AM. 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 © Trygve Reenskaug 2002 Slide 40 5/29/2016 3:32:19 AM. 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 © Trygve Reenskaug 2002 Slide 41 5/29/2016 3:32:20 AM. 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 © Trygve Reenskaug 2002 Slide 42 5/29/2016 3:32:20 AM. Empowering the user with objects in the computer interface Objects Backplane (Java Virtual Machine etc.) Operating System Net Hardware Arkitektur for distribuerte informasjonssystemer After Øystein Myhre © Trygve Reenskaug 2002 Slide 43 5/29/2016 3:32:20 AM. 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 © Trygve Reenskaug 2002 Slide 44 5/29/2016 3:32:22 AM.