Top Banner
Dec 19 2003 Asa MacWilliams Lehrstuhl für Angewandte Softwaretechnik Institut für Informatik Technische Universität München [email protected] Software Patterns for Augmented Reality Systems StbDay 2003
22

Software Patterns for Augmented Reality Systems

Jan 01, 2016

Download

Documents

zane-cameron

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 - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software Patterns for Augmented Reality Systems

Dec 19 2003

Asa MacWilliams

Lehrstuhl für Angewandte SoftwaretechnikInstitut für Informatik

Technische Universität München

[email protected]

Software Patterns forAugmented Reality Systems

StbDay 2003

Page 2: Software Patterns for Augmented Reality Systems

Dec 19 2003Software Patterns for AR SystemsAsa MacWilliams, [email protected] 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

Page 3: Software Patterns for Augmented Reality Systems

Dec 19 2003Software Patterns for AR SystemsAsa MacWilliams, [email protected] 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

Page 4: Software Patterns for Augmented Reality Systems

Dec 19 2003Software Patterns for AR SystemsAsa MacWilliams, [email protected] 4

DefinitionA 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.]

Page 5: Software Patterns for Augmented Reality Systems

Dec 19 2003Software Patterns for AR SystemsAsa MacWilliams, [email protected] 5

DefinitionA 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.]

Page 6: Software Patterns for Augmented Reality Systems

Dec 19 2003Software Patterns for AR SystemsAsa MacWilliams, [email protected] 6

Augmented Reality Subsystems

Context

Application

Tracking

World Model

Presentation

Interaction

Simplified Organization of many AR Systems

Page 7: Software Patterns for Augmented Reality Systems

Dec 19 2003Software Patterns for AR SystemsAsa MacWilliams, [email protected] 7

A System of Patterns

Pattern

Scene Graph Node (Application)

Page 8: Software Patterns for Augmented Reality Systems

Dec 19 2003Software Patterns for AR SystemsAsa MacWilliams, [email protected] 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

Page 9: Software Patterns for Augmented Reality Systems

Dec 19 2003Software Patterns for AR SystemsAsa MacWilliams, [email protected] 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.

Page 10: Software Patterns for Augmented Reality Systems

Dec 19 2003Software Patterns for AR SystemsAsa MacWilliams, [email protected] 10

The current collection of patternsApplication 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

Page 11: Software Patterns for Augmented Reality Systems

Dec 19 2003Software Patterns for AR SystemsAsa MacWilliams, [email protected] 11

The current collection of patternsApplication 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

Page 12: Software Patterns for Augmented Reality Systems

Dec 19 2003Software Patterns for AR SystemsAsa MacWilliams, [email protected] 12

The current collection of patternsApplication 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”

Page 13: Software Patterns for Augmented Reality Systems

Dec 19 2003Software Patterns for AR SystemsAsa MacWilliams, [email protected] 13

The current collection of patternsApplication 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

Page 14: Software Patterns for Augmented Reality Systems

Dec 19 2003Software Patterns for AR SystemsAsa MacWilliams, [email protected] 14

How can I contribute?

www.augmentedreality.de -> „Software Patterns for AR“

Page 15: Software Patterns for Augmented Reality Systems

Dec 19 2003Software Patterns for AR SystemsAsa MacWilliams, [email protected] 15

Lists of patterns

Page 16: Software Patterns for Augmented Reality Systems

Dec 19 2003Software Patterns for AR SystemsAsa MacWilliams, [email protected] 16

Graph of patterns

• Automatically generated graph of dependencies• Gets rather large…

Page 17: Software Patterns for Augmented Reality Systems

Dec 19 2003Software Patterns for AR SystemsAsa MacWilliams, [email protected] 17

Create a new pattern

Page 18: Software Patterns for Augmented Reality Systems

Dec 19 2003Software Patterns for AR SystemsAsa MacWilliams, [email protected] 18

Create a new pattern (2)

Page 19: Software Patterns for Augmented Reality Systems

Dec 19 2003Software Patterns for AR SystemsAsa MacWilliams, [email protected] 19

Create a new pattern (3)

Page 20: Software Patterns for Augmented Reality Systems

Dec 19 2003Software Patterns for AR SystemsAsa MacWilliams, [email protected] 20

Create a new pattern (4)

Page 21: Software Patterns for Augmented Reality Systems

Dec 19 2003Software Patterns for AR SystemsAsa MacWilliams, [email protected] 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

Page 22: Software Patterns for Augmented Reality Systems

Dec 19 2003

Asa MacWilliams

Lehrstuhl für Angewandte SoftwaretechnikInstitut für Informatik

Technische Universität München

[email protected]

Software Patterns forAugmented Reality Systems

StbDay 2003

Thank You for Your Attention!

Any Questions?

[email protected]