1 / 22

Software Patterns for Augmented Reality Systems

Software Patterns for Augmented Reality Systems. StbDay 2003. 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

Download Presentation

Software Patterns for Augmented Reality Systems

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. Software Patterns forAugmented Reality Systems StbDay 2003

  2. Summary • Patterns describe reusable problem-solving knowledge • We propose to develop a collection ofsoftware 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 Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de

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

  4. Definition A software architectural patterndescribes • 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.] Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de

  5. Definition A software architectural patternfor 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.] Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de

  6. Augmented Reality Subsystems Context Application Tracking World Model Presentation Interaction Simplified Organization of many AR Systems Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de

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

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

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

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

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

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

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

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

  15. Lists of patterns Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de

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

  17. Create a new pattern Software Patterns for AR Systems Asa MacWilliams, macwilli@in.tum.de

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

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

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

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

  22. Thank You for Your Attention! Any Questions? macwilli@in.tum.de Software Patterns forAugmented Reality Systems StbDay 2003

More Related