Asa MacWilliams Lehrstuhl für Angewandte Softwaretechnik Institut für Informatik Technische Universität München Dec 19 2003 Software.

Slides:



Advertisements
Similar presentations
Martin Wagner and Gudrun Klinker Augmented Reality Group Institut für Informatik Technische Universität München December 19, 2003.
Advertisements

Information Systems Analysis and Design
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
2008/03/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Project 1 Introduction to HTML.
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
Presenter : Shih-Tung Huang Tsung-Cheng Lin Kuan-Fu Kuo 2015/6/15 EICE team Model-Level Debugging of Embedded Real-Time Systems Wolfgang Haberl, Markus.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
1 Location-Based Services Using GSM Cell Information over Symbian OS Final Year Project LYU0301 Mok Ming Fai (mfmok1) Lee Kwok Chau (leekc1)
© Copyright Eliyahu Brutman Programming Techniques Course.
Software Architecture Patterns (2). what is architecture? (recap) o an overall blueprint/model describing the structures and properties of a "system"
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Course Instructor: Aisha Azeem
Smart Learning Services Based on Smart Cloud Computing
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Architectural Design.
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
Design Patterns Discussion of pages: xi-11 Sections: Preface, Forward, Chapter
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Software Engineering Muhammad Fahad Khan
The Design Discipline.
MVC pattern and implementation in java
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Model View Controller (MVC) Rick Mercer with a wide variety of others 1.
Asa MacWilliams Lehrstuhl für Angewandte Softwaretechnik Institut für Informatik, Technische Universität München Feb Ubiquitous.
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
Changing Perspective From Structured to Object-oriented.
An Introduction to Software Architecture
HTML, XHTML, and CSS Sixth Edition Chapter 1 Introduction to HTML, XHTML, and CSS.
 Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Asa MacWilliams Lehrstuhl für Angewandte Softwaretechnik Institut für Informatik Technische Universität München June 27, 2005 A Decentralized.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
CHAPTER TEN AUTHORING.
PERVASIVE COMPUTING MIDDLEWARE BY SCHIELE, HANDTE, AND BECKER A Presentation by Nancy Shah.
Software Architecture and Patterns
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Chapter 8 Object Design Reuse and Patterns. Object Design Object design is the process of adding details to the requirements analysis and making implementation.
TAL7011 – Lecture 4 UML for Architecture Modeling.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Christoph F. Eick University of Houston Organization 1. What are Ontologies? 2. What are they good for? 3. Ontologies and.
1 CMPT 275 High Level Design Phase Modularization.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
© 2005 Prentice Hall1-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Fundamentals of Ubiquitous Tracking for Augmented Reality Vienna University of Technology Joe Newman, Thomas Pintaric, Dieter Schmalstieg Technische Universität.
Visualization Four groups Design pattern for information visualization
Cooperative Computing & Communication Laboratory A Survey on Transformation Tools for Model-Based User Interface Development Robbie Schäfer – Paderborn.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
Chapter 1 Introduction to HTML, XHTML, and CSS HTML5 & CSS 7 th Edition.
Lecture VIII: Software Architecture
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Software Architecture for Multimodal Interactive Systems : Voice-enabled Graphical Notebook.
Design Evaluation Overview Introduction Model for Interface Design Evaluation Types of Evaluation –Conceptual Design –Usability –Learning Outcome.
Design Patterns CSCE 315 – Programming Studio Spring 2013.
Unified Modeling Language
OO Methodology OO Architecture.
Software Design and Architecture
Software Architecture
An Introduction to Software Architecture
3rd Studierstube Workshop TU Wien
Presentation transcript:

Asa MacWilliams Lehrstuhl für Angewandte Softwaretechnik Institut für Informatik Technische Universität München Dec Software Patterns for Augmented Reality Systems StbDay 2003

Dec Software Patterns for AR Systems Asa MacWilliams, Summary Patterns describe reusable problem-solving knowledge We propose to develop a collection of software patterns for AR systems These patterns are classified by subsystems Patterns are described using a standard scheme Patterns are interrelated, forming a system of patterns To be successful, this must be a joint community effort

Dec Software Patterns for AR Systems Asa MacWilliams, Motivation & Methods Reusable problem-solving knowledge exists in the construction of software for AR systems Patterns have successfully captured such knowledge –Design patterns (Gamma et al.): Observer, Adapter, Bridge… –Architectural patterns (Buschmann et al.): Model/View/Controller… A system of software patterns for AR can: –aid architects of new AR systems –enable comparisons between existing AR systems –facilitate sharing software design experience between research groups How to do this? –Extract common approaches from many different AR systems –Abstract these approaches to form patterns –Discuss the patterns within the AR community

Dec Software Patterns for AR Systems Asa MacWilliams, Definition A software architectural pattern describes a specific design problem which appears in a particular design context, and presents a generic solution scheme. The solution scheme specifies the involved components, their responsibilities, relationships and the way they cooperate. [Buschmann et al.]

Dec Software Patterns for AR Systems Asa MacWilliams, Definition A software architectural pattern for Augmented Reality systems describes a specific design problem for a particular AR subsystem which appears in a particular design context, and presents a generic solution scheme. The solution scheme specifies the involved components, their responsibilities, relationships and the way they cooperate. [Specialization of Buschmann et al.]

Dec Software Patterns for AR Systems Asa MacWilliams, Augmented Reality Subsystems ContextApplicationTrackingWorld ModelPresentationInteraction Simplified Organization of many AR Systems

Dec Software Patterns for AR Systems Asa MacWilliams, A System of Patterns Pattern Scene Graph Node (Application)

Dec Software Patterns for AR Systems Asa MacWilliams, Example Pattern Description (abbrev.) Name: Scene Graph Node (Application) Goal: Embed application in scene graph. Motivation: In AR, user interaction is connected with the spatial environment. With this approach, the application is seamlessly embedded in the environment. Description: A scene graph models the world around a user as a tree of nodes. Each node can be any type object, usually graphical ones. But there are also nongraphical objects that include control code. Usability: Requires scene graph-based renderer. Consequences: The Scene Graph Node pattern handles the control flow to the underlying scene graph platform. Using scene graph replication, this offers an easy way for the implementation of shared applications for locally nearby users. The 3D interface can be shared among several users but displayed for each from a different view. Collaboration: Requires scene graph presentation pattern; may be implemented with using scripting. Known use: Studierstube, Tinmith, MARS

Dec Software Patterns for AR Systems Asa MacWilliams, Scheme for the Pattern Description Name The name of a pattern should be descriptive and in the best case in use in several systems. Goal The goal is a short description for the target use of the pattern. Motivation This section describes why the pattern was developed. Description We describe each pattern informally by its tasks and structure. We do not yet have formalisms such as UML static and dynamic diagrams for each pattern. Usability Describes when and how each pattern can or cannot be used. Consequences The advantages and disadvantages of the pattern. Collaborations Other patterns that can or must be used in combination to this pattern. Known use Projects and systems that use the pattern.

Dec Software Patterns for AR Systems Asa MacWilliams, The current collection of patterns Application Subsystem: Central Control, Multimedia Flow Description, Scene Graph Node, Scripting, Tracking-Rendering-Loop, Web Service Context Subsystem: Blackboard, Context Pull, Publisher/Subscriber, Repository Interaction Subsystem: DOF Adaption, Handle In Application, Modality Fusion, Networked Input Devices, Operating System Resources, Use Browser Input Presentation Subsystem: Adaption To Error Level, Low-Level Graphics Primitives, Multiple Viewers, Presentation Filter, Proprietary Scene Graph, Remote Rendering, Scene Graph, 3D Markup, 2D/3D Mapping, User Interface Interpreter, Video Transfer, View Manager Tracking Subsystem: Black-Box Fusion, Direct Access, Inside-Out Tracking, Interdependent Trackers, Networked Trackers, Outside-In Tracking, Tracker-Filter Pipeline, Tracking Manager, Tracking Server World Model Subsystem: Dynamic Model Loading, Example Class, Marker File, Object Stream, Scene Graph Stream

Dec Software Patterns for AR Systems Asa MacWilliams, The current collection of patterns Application Subsystem: Central Control, Multimedia Flow Description, Scene Graph Node, Scripting, Tracking-Rendering-Loop, Web Service Context Subsystem: Blackboard, Context Pull, Publisher/Subscriber, Repository Interaction Subsystem: DOF Adaption, Handle In Application, Modality Fusion, Networked Input Devices, Operating System Resources, Use Browser Input Presentation Subsystem: Adaption To Error Level, Low-Level Graphics Primitives, Multiple Viewers, Presentation Filter, Proprietary Scene Graph, Remote Rendering, Scene Graph, 3D Markup, 2D/3D Mapping, User Interface Interpreter, Video Transfer, View Manager Tracking Subsystem: Black-Box Fusion, Direct Access, Inside-Out Tracking, Interdependent Trackers, Networked Trackers, Outside-In Tracking, Tracker-Filter Pipeline, Tracking Manager, Tracking Server World Model Subsystem: Dynamic Model Loading, Example Class, Marker File, Object Stream, Scene Graph Stream … Patterns in Studierstube

Dec Software Patterns for AR Systems Asa MacWilliams, The current collection of patterns Application Subsystem: Central Control, Multimedia Flow Description, Scene Graph Node, Scripting, Tracking-Rendering-Loop, Web Service Context Subsystem: Blackboard, Context Pull, Publisher/Subscriber, Repository Interaction Subsystem: DOF Adaption, Handle In Application, Modality Fusion, Networked Input Devices, Operating System Resources, Use Browser Input Presentation Subsystem: Adaption To Error Level, Low-Level Graphics Primitives, Multiple Viewers, Presentation Filter, Proprietary Scene Graph, Remote Rendering, Scene Graph, 3D Markup, 2D/3D Mapping, User Interface Interpreter, Video Transfer, View Manager Tracking Subsystem: Black-Box Fusion, Direct Access, Inside-Out Tracking, Interdependent Trackers, Networked Trackers, Outside-In Tracking, Tracker-Filter Pipeline, Tracking Manager, Tracking Server World Model Subsystem: Dynamic Model Loading, Example Class, Marker File, Object Stream, Scene Graph Stream … Patterns in AR Toolkit “Simple Test”

Dec Software Patterns for AR Systems Asa MacWilliams, The current collection of patterns Application Subsystem: Central Control, Multimedia Flow Description, Scene Graph Node, Scripting, Tracking-Rendering-Loop, Web Service Context Subsystem: Blackboard, Context Pull, Publisher/Subscriber, Repository Interaction Subsystem: DOF Adaption, Handle In Application, Modality Fusion, Networked Input Devices, Operating System Resources, Use Browser Input Presentation Subsystem: Adaption To Error Level, Low-Level Graphics Primitives, Multiple Viewers, Presentation Filter, Proprietary Scene Graph, Remote Rendering, Scene Graph, 3D Markup, 2D/3D Mapping, User Interface Interpreter, Video Transfer, View Manager Tracking Subsystem: Black-Box Fusion, Direct Access, Inside-Out Tracking, Interdependent Trackers, Networked Trackers, Outside-In Tracking, Tracker-Filter Pipeline, Tracking Manager, Tracking Server World Model Subsystem: Dynamic Model Loading, Example Class, Marker File, Object Stream, Scene Graph Stream … Patterns in ARVIKA

Dec Software Patterns for AR Systems Asa MacWilliams, How can I contribute? -> „Software Patterns for AR“

Dec Software Patterns for AR Systems Asa MacWilliams, Lists of patterns

Dec Software Patterns for AR Systems Asa MacWilliams, Graph of patterns Automatically generated graph of dependencies Gets rather large…

Dec Software Patterns for AR Systems Asa MacWilliams, Create a new pattern

Dec Software Patterns for AR Systems Asa MacWilliams, Create a new pattern (2)

Dec Software Patterns for AR Systems Asa MacWilliams, Create a new pattern (3)

Dec Software Patterns for AR Systems Asa MacWilliams, Create a new pattern (4)

Dec Software Patterns for AR Systems Asa MacWilliams, Discussion Where are we now? –We have a rudimentary collection of patterns on our web site –We have a classification and description scheme for the patterns What should happen next? –Improve description of patterns with input from the experts, i.e. the systems’ architects –Agree on best names for patterns –Condense list, focusing on “most successful” patterns –Test patterns, e.g. by building new AR systems based on them What are key factors for success? –“Critical mass” of AR researchers joining in –Agreed-upon terminology, crucial for a communication medium

Asa MacWilliams Lehrstuhl für Angewandte Softwaretechnik Institut für Informatik Technische Universität München Dec Software Patterns for Augmented Reality Systems StbDay 2003 Thank You for Your Attention! Any Questions?