| Subsystem | Pattern | Goal | Summary |
|---|---|---|---|
| ApplicationSubsystem | CentralControl | Stay in charge of the control flow. | Write eintire application as one executable, specifying what happens when. |
| ApplicationSubsystem | SceneGraphNode | Embed application in world model. | Model application as node in a scene graph. |
| ApplicationSubsystem | TrackingRenderingLoop | Minimize tracking-rendering lag; use existing libraries | Hook into a rendering library's update loop and set viewpoint. |
| ApplicationSubsystem | WebService | Treat AR as one type of media among others. | Put control flow on web server; use web client for presentation. |
| ApplicationSubsystem | FooBarPattern | Reduce tracking-rendering lag to zero | Couple one foo and two bars in a tight loop |
| ApplicationSubsystem | MultimediaFlowDescription | Create new AR content quickly. | Use markup for task description as sequence of AR scenes. |
| ApplicationSubsystem | ScriptingPattern | Quickly develop new applications. | Control compiled components with a scripting language. |
| ContextSubsystem | BlackboardPattern | Centrally gather, store and aggregate context data. | Components read data from blackboard, process it and write new data back. |
| ContextSubsystem | RepositoryPattern | Centrally gather and retrieve context data. | Components read and write data to/from the repository. |
| ContextSubsystem | ContextPull | Connect components that need context information directly with source. | An interested component directly queries the context producer component. |
| ContextSubsystem | PublisherSubscriber | Decouple context producers and consumers. | Use messaging service and communicate via events. |
| InteractionSubsystem | ModalityFusion | Model multimodal interaction. | Combine input modalities to single control events. |
| InteractionSubsystem | UseBrowserInput | Take advantage of 3D browser. | Use 3D browser's input processing functions. |
| InteractionSubsystem | HandleInApplication | Simplest input handling mechanism. | Include explicit input handling code in application code. |
| InteractionSubsystem | DofAdaption | Enable multimodal interaction. | Map degrees of freedom from input modalities to application needs. |
| InteractionSubsystem | OperatingSystemResources | Access interaction devices directly. | Access interaction devices directly thourch operating system. |
| InteractionSubsystem | NetworkedInputDevices | Flexibly combine input devices. | Use abstraction layer and middleware to combine input devices. |
| PresentationSubsystem | LowLevelGraphicsPrimitives | Fast rendering. | Render using low-level graphics constructs, e.g. in OpenGL. |
| PresentationSubsystem | PresentationFilter | Reduce complexity of the user interface. | Suppress output requests of individual applications. |
| PresentationSubsystem | ViewManager | Coordinate output so as not to confuse the user. | Use a manager component that filters output requests. |
| PresentationSubsystem | MultipleViewers | Combine different presentation types. | Use abstraction layer for different media types. |
| PresentationSubsystem | UserInterfaceInterpreter | Author multiple media types. | Use abstract language for UI specification; render with interpreter. |
| PresentationSubsystem | VideoTransfer | Off-load rendering and tracking from thin client. | Track and render on a server; transmit video image to the client. |
| PresentationSubsystem | ThreeDMarkup | Use standard viewers and file formats. | Use a 3D browser and a language like VRML; use API for external control. |
| PresentationSubsystem | RemoteRendering | Reduce computational load of mobile device. | Use server for remote rendering of complex models. |
| PresentationSubsystem | ProprietarySceneGraph | Use optimized rendering component for complex and dynamic scenes. | Write own scene graph library. |
| PresentationSubsystem | AdaptionToErrorLevel | Accomodate different tracking accuracies in rendering. | Use different representations according to tracking accuracy. |
| PresentationSubsystem | TwoDThreeDMapping | Integrate legacy 2D applications. | Rander 2D applications in spatially registered windows. |
| PresentationSubsystem | SceneGraph | Use rendering component that allows complex and dynamic scenes. | Use scene graph library such as Open Inventor or OpenSG. |
| TrackingSubsystem | TrackingManager | Combine different tracking devices. | Manager component coordinates different trackers, acting as a facade. |
| TrackingSubsystem | DirectAccess | Fast access to tracking data. | Access tracking devices directly through operating system. |
| TrackingSubsystem | TrackingServer | Offload computation from mobile client. | Let server in environment perform computation for client. |
| TrackingSubsystem | InsideOutTracking | Reduce required infrastructure in environment. | Have user carry mobile tracking system. |
| TrackingSubsystem | BlackBoxFusion | Combine output of several trackers. | Use a separate fusion component that fuses output from trackers. |
| TrackingSubsystem | NetworkedTrackers | Combine several distributed tracking devices. | Wrap trackers as software components, couple with middleware. |
| TrackingSubsystem | TrackerFilterPipeline | Combine and postprocess output of several trackers. | Use pipe-and-filter pattern for trackers and filters. |
| TrackingSubsystem | OutsideInTracking | Reduce hardware for the user to carry. | Stationary tracking resources track a mobile user. |
| TrackingSubsystem | InterdependentTrackers | Tightly integrate several tracking devices. | Trackers build on each other's output. |
| WorldModelSubsystem | SceneGraphStream | Model scene when using scene graph library. | Save model in scene graph file format. |
| WorldModelSubsystem | ExampleClass | Model object for low-level rendering library. | Encapsulate low-level rendering code in a class. |
| WorldModelSubsystem | ObjectStream | Save world model that is modified by user. | Use run-time environment's serialization mechanisms. |
| WorldModelSubsystem | DynamicModelLoading | Integrate models from external systems | Load models dynamically from external servers and databases. |
| WorldModelSubsystem | MarkerFile | Easily store descriptions of markers in the environment. | Save marker descriptions in files. |
| Subsystem | Summary |
|---|---|
| ApplicationSubsystem | Handles application-specific logic |
| ContextSubsystem | Gathers, process and distributes context information to interested components |
| InteractionSubsystem | Processes, interprets and combines and user input |
| PresentationSubsystem | Presents information to the user, especially rendered 3D scenes |
| TrackingSubsystem | Gathers and combines tracking data |
| WorldModelSubsystem | Stores information about the world |
ARPatterns: WebHome .
|
|
r13 - 15 Feb 2005 - 16:17:24 - Main.bauerma
|
Copyright © 1999-2008 by the contributing authors.
All material on this collaboration platform is the property of the contributing authors. Ideas, requests, problems regarding the website? Send feedback |