Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Asa MacWilliams Lehrstuhl für Angewandte Softwaretechnik Institut für Informatik Technische Universität München Dec 19 2003 Software."— Presentation transcript:

1 Asa MacWilliams Lehrstuhl für Angewandte Softwaretechnik Institut für Informatik Technische Universität München macwilli@in.tum.de Dec 19 2003 Software Patterns for Augmented Reality Systems StbDay 2003

2 Dec 19 2003 Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de2 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

3 Dec 19 2003 Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de3 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

4 Dec 19 2003 Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de4 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.]

5 Dec 19 2003 Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de5 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.]

6 Dec 19 2003 Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de6 Augmented Reality Subsystems ContextApplicationTrackingWorld ModelPresentationInteraction Simplified Organization of many AR Systems

7 Dec 19 2003 Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de7 A System of Patterns Pattern Scene Graph Node (Application)

8 Dec 19 2003 Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de8 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

9 Dec 19 2003 Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de9 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.

10 Dec 19 2003 Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de10 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

11 Dec 19 2003 Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de11 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

12 Dec 19 2003 Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de12 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”

13 Dec 19 2003 Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de13 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

14 Dec 19 2003 Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de14 How can I contribute? www.augmentedreality.dewww.augmentedreality.de -> „Software Patterns for AR“

15 Dec 19 2003 Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de15 Lists of patterns

16 Dec 19 2003 Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de16 Graph of patterns Automatically generated graph of dependencies Gets rather large…

17 Dec 19 2003 Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de17 Create a new pattern

18 Dec 19 2003 Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de18 Create a new pattern (2)

19 Dec 19 2003 Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de19 Create a new pattern (3)

20 Dec 19 2003 Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de20 Create a new pattern (4)

21 Dec 19 2003 Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de21 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

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


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

Similar presentations


Ads by Google