Bundle-PBib
view release on metacpan or search on metacpan
t/sample.rtf view on Meta::CPAN
00949494949494949494003b2a2a94949494949494949494945d4b3b0a0f3b74532f1b3b4b4b3b3b2a2a1f1b1b1b6c949400010000949494949494949494004b
3b2a8794949494949494949494873b5d2a06022a7b7b4b131b1b1b1b1b1b1b1b3b6c94949400000000949494949494949494007b3b295d949494949494949494
94946c465d1b2a3b2a6c7b5d0f020a1b1b0f4b8794949494940000000094949494949494949400874b2a1b9494949494949494949494944b5d4b5d6c5d3b4b7b
6c2a060f0f5d949494949494940000000094949494949494949400947b4b0f5d949494949494949494947b4b4b6c5d5d5d6c4b4b5d7b6c244b94949494949494
9400c503009494949494949494940094874b3b1b949494949494947b3b060206362a3b3b3b2a2a2a1b246c6c3b7b9494949494949400c5030094949494949494
94940094946c4b067b9494947b2a0602060f2a3b5d7b7b6c5d6c879494946c5d873b87949494949494000000009494949494949494940094947b4b1b1b6c2a06
060f1b3b3f677b949494949494949494949494874b5d5d94949494949400000000949494949494949494009494944b4b1b2a2a2c5d7b87879494949494949494
949494949494949494948794949494949400000000949494949494949494009494945d3b4b5d7b87949494949494949494949494949494949494949494949494
94949494940001000094949494949494949400949494878787949494949494949494949494949494949494949494949494949494949494949400c50300000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000500000007010100000008000000fa02
000006000000cfcfcf00040000002d010400040000002d010500070000001b04d4085002dd071d01040000002d01000004000000f0010400040000002d010200
0800000026060f000600ffffffff01001000000026060f001600ffffffff0000e6130000ca0e0000e9140000350f0000040000002d01010007000000fc020000
3333ff000000040000002d010400050000000601020000000c00000024030400ef13f70eef13070fdf14070fdf14f70e0500000006010100000008000000fa02
0000100000003333ff00040000002d0106000a00000025030300a8142b0fe014000fa814d40e040000002d01000004000000f0010600040000002d0102000400
0000f00104000800000026060f000600ffffffff0100040000002d010500040000002d010100070000001b04610f0716a00ed014040000002d01020004000000
2d01000005000000090200000002050000001402000000001c000000fb0290ff00000000000090010000000000400022417269616c204e6172726f7700050a58
1643c8771f43c87720c0ca7700003000040000002d01040004000000f00103000500000009020000000205000000140200000000050000002e01180000000500
00000201010000000d000000320a2a0f0a15040000007573657333002e0033002e00050000002e01010000000500000002010200000005000000020102000000
040000002d010100040000002d0105001c000000fb021400090000000000bc02000000000102022253797374656d000000000a0021008a010000000003000000
50e613002942c877040000002d01030004000000f00104000f00000026060f001400544e505004000c000000000000000000000000000900000026060f000800ffffffff01000000030000000000}}{\lang1033\langfe1033\langnp1033\insrsid12989836
\par }\pard\plain \s23\qj \li278\ri374\sa200\widctlpar\aspalpha\aspnum\faauto\adjustright\rin374\lin278\itap0 \f4\fs18\lang1033\langfe1033\langnp1033\langfenp1033 {\insrsid12989836 {\*\bkmkstart _Toc19764591}Figure {\*\bkmkstart fBasicModels}
{\*\bkmkstart _Hlt17184583}{\*\bkmkend _Hlt17184583}}{\field{\*\fldinst {\insrsid12989836 STYLEREF 1 \\s }}{\fldrslt {\lang1024\langfe1024\noproof\insrsid12989836 4}}}{\insrsid12989836 \_}{\field{\*\fldinst {\insrsid12989836 SEQ Figure \\* ARABIC \...
}}{\fldrslt {\lang1024\langfe1024\noproof\insrsid12989836 2}}}{\insrsid12989836 {\*\bkmkend fBasicModels}. Dependencies between data, application, user-interface, environment, and intera}{\insrsid12989836 c}{\insrsid12989836 tion model
{\*\bkmkend _Toc19764591}
\par }\pard\plain \qj \li0\ri0\sa60\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 The }{\i\insrsid12989836 data model}{\insrsid12989836
specifies the kind of data the users can create and interact with. To work with data, a }{\i\insrsid12989836 application}{\insrsid12989836 provides the necessary
functionality. These two models are independent of the currently used or supported hardware device. Instead, available devices and other relevant parts of the enviro}{\insrsid12989836 n}{\insrsid12989836 ment are described by the }{\i\insrsid1298983...
environment model}{\insrsid12989836 . The }{\i\insrsid12989836 user-interface model}{\insrsid12989836 defines the framewo
rk for how the applications can be presented to the user, taking into account the properties of the environment model. These models are not applicable for ubiquitous computing applications only. Yet, due to the heterogeneous environment in which they...
ate, they have a strong need for a clear structure that gives the flexibility to adapt different components independently for different situations.
\par In the following, these five models are presented in more detail, including their relationship to the pr}{\insrsid12989836 e}{\insrsid12989836 viously identified requirements. Concrete examples of how these models have been applied are given a}{...
\insrsid12989836 f}{\insrsid12989836 {\*\bkmkstart _Ref517456041}terwards.
\par }\pard\plain \s3\ql \li0\ri0\sb120\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 {\*\bkmkstart _Toc2659658}{\*\bkmkstart sDataMo...
}{\*\bkmkstart _Toc19764437}{\*\bkmkend _Ref517456041}Data Model{\*\bkmkend _Toc2659658}{\*\bkmkend sDataModelConcept}{\*\bkmkend _Toc19764437}: Information Objects
\par }\pard\plain \qj \li0\ri0\sa60\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836
It is a very common approach in application modeling to separate the application model from the data or domain model [[VisualWorks-UsersGuide], [HUMANOID-Model]]. The data model relates to the }{\i\insrsid12989836 information dimension}{\insrsid12989...
identified by [ :inline | [Jacobson-OOSE]], while the application model repr}{\insrsid12989836 e}{\insrsid12989836 sents the }{\i\insrsid12989836 behavior dimension}{\insrsid12989836 . This way, both data and application models can be r}{
\insrsid12989836 e}{\insrsid12989836 used independently.
\par Different applications can be specified and implemented for one kind of data. This can save much time if the current application domain has complex data structures or algorithms. On the other hand, applic}{\insrsid12989836 a}{\insrsid12989836
tion models can be reused for different kinds of data, if the interface between the application and the data has been defined very carefully at an appr}{\insrsid12989836 o}{\insrsid12989836 priate level of abstraction.
\par The data model defines the classes and functionality of all objects that can be part of a document. A}{\insrsid12989836 c}{\insrsid12989836 cor
ding to an object-oriented view, data objects combine document state with methods to change the state. In the context of cooperative work (req. }{\field{\*\fldinst {\insrsid12989836 REF qCollaboration \\h \\* MERGEFORMAT }{\insrsid12989836
{\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000f000000710043006f006c006c00610062006f0072006100740069006f006e000000}}}{\fldrslt {\insrsid12989836 C\_1}}}{\insrsid12989836 ), it makes sense to choose a fine-grained model to gain more ...
ibility in defining different aspects of collaboration, like the degree of coupling (req. }{\field{\*\fldinst {\insrsid12989836 REF qFlexibleCoupling \\h }{\insrsid12989836 {\*\datafield
08d0c9ea79f9bace118c8200aa004ba90b020000000800000012000000710046006c0065007800690062006c00650043006f00750070006c0069006e0067000000}}}{\fldrslt {\insrsid12989836 C\_2}}}{\insrsid12989836
). In [[Dragonfly-Architecture]] the model facet represents the data model.
\par Following an object-oriented approach, the data model will usually consist of a network of multiple connected objects. For hypertext-like documents, e.g., it is popular to define one main containment hiera}{\insrsid12989836 r}{\insrsid12989836
chy with additional connections defined by hyperlinks.
\par Depending on the actual application, data objects are not restricted to represent what is classically seen as a \'93document\'94
. In [[PlacelessDoc-Generality+Specificity]] a much broader view on documents is described. If, for instance, physical devices, people, or tasks are also treated as special kinds of \'93doc}{\insrsid12989836 u}{\insrsid12989836 ments\'94
, a uniform interface can be used. The term \'93domain model\'94, which is sometimes also used for the concept of a data model [[VisualWorks-UsersGuide], [COAST-Model]], stresses that it models the artifacts of a given domain, which may not be necess...
documents. Although this term can be used interchangeably with \'93data model\'94, this paper uses the latter term in order to provide a clearer contrast with the application model.
\par Looking at the example of the Passage system, the data model covers all objects that should be attached to and carried with a passenger object. The implementation described below (see section }{\field{\*\fldinst {\insrsid12989836 REF sPassageIm...
h }{\insrsid12989836 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000007300500061007300730061006700650049006d0070006c000000}}}{\fldrslt {\insrsid12989836 6}}}{\insrsid12989836
) supports the generic document elements provided by the BEACH framework, but also new document elements d}{\insrsid12989836 e}{\insrsid12989836 fined by other BEACH modules.
\par }\pard\plain \s3\ql \li0\ri0\sb120\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 {\*\bkmkstart sApplicationModelConcept}
{\*\bkmkstart _Hlt19161511}{\*\bkmkstart _Toc19764438}{\*\bkmkend _Hlt19161511}Application Model{\*\bkmkend sApplicationModelConcept}{\*\bkmkend _Toc19764438}: Application Behavior
\par }\pard\plain \qj \li0\ri0\sa60\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836
Application models are used to describe all application aspects such as manipulation of data objects. As application models define the }{\i\insrsid12989836 behavior}{\insrsid12989836 of the application, they specify control objects
as defined in [[Jacobson-OOSE]].
\par For a \'93text\'94 object, the data model includes the string describing the text and text attributes like font or size. The application model adds the editing state for text, for instance, cursor position or selection.
\par Further, it can specify the degree of coupling between different users, i.e. it controls which parts of the editing state are shared by which users, and where private values are allowed. The workspace applic}{\insrsid12989836 a}{\insrsid12989836...
tion model, e.g., allows specifying different rotations of the workspace for two users working at an interactive table (see req. }{\field{\*\fldinst {\insrsid12989836 REF qDifferentFormsOfInteraction \\h \\* MERGEFORMAT }{\insrsid12989836 {\*\dataf...
08d0c9ea79f9bace118c8200aa004ba90b02000000080000001d000000710044006900660066006500720065006e00740046006f0072006d0073004f00660049006e0074006500720061006300740069006f006e000000}}}{\fldrslt {\insrsid12989836 H\_1}}}{\insrsid12989836
), while all other properties are tightly coupled.
\par To be able to use different application models for the same data model, the data model has to be u}{\insrsid12989836 n}{\insrsid12989836 aware of any application model and represent document state only.
\par It has proven helpful to choose a rather fine granularity for some application models. This way, low-level application models with a well-defined functionality (e.g
. to edit a simple text) can be aggregated to form more complex models at a higher level of abstraction (e.g. an editor that can manage complete workspaces). Usually, a whole hierarchy of application models composed of generic, reusable parts and cus...
arts constitute an application [[COAST-Model]]. This way, the application model often forms a hierarchy that is isomorphic to the containment hierarchy of its assoc}{\insrsid12989836 i}{\insrsid12989836 ated data model [[VisualWorks-UsersGuide]].
\par Using small application models turns out to foster a new conception of what is regarded as an applic}{\insrsid12989836 a}{\insrsid12989836 tion. The application model is seen as a description of }{\i\insrsid12989836 additional}{\insrsid12989836 ...
semantics for a data model, instead of the conventional approach of seeing data as a \'93supplement\'94 to be edited by applications. It therefore leads to an }{\i\insrsid12989836 information-centric}{\insrsid12989836
perspective on application models [[iRoom-VisualInstruments]].
\par The Passage system, e.g., defines no new application model. Instead, it reuses the application models that are available for the data objects being attached
to passengers. In fact, it associates the application model with a passenger object (in contrast to creating an association between passenger and data o}{\insrsid12989836 b}{\insrsid12989836 ject) as shown in figure }{\field{\*\fldinst {\insrsid1298...
REF fPassageClasses \\h }{\insrsid12989836 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b0200000008000000100000006600500061007300730061006700650043006c00610073007300650073000000}}}{\fldrslt {\lang1024\langfe1024\noproof\insrsid12989836 6}{
\insrsid12989836 \_}{\lang1024\langfe1024\noproof\insrsid12989836 3}}}{\insrsid12989836 below. This way, the current editing state (e
.g. selections, cursor position etc.) can be transferred using Passage; this allows users to go to another roomware component and co}{\insrsid12989836 n}{\insrsid12989836 tinue working there at exactly the same state.
\par }\pard\plain \s3\ql \li0\ri0\sb120\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 {\*\bkmkstart sUIModelConcept}{\*\bkmkstart _To...
{\*\bkmkstart _Toc19764439}User-Interface Model{\*\bkmkend sUIModelConcept}{\*\bkmkend _Toc2659659}{\*\bkmkend _Toc19764439}: Interface Elements
\par }\pard\plain \qj \li0\ri0\sa60\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 As traditional operating and window
management systems have been designed for use with a trad}{\insrsid12989836 i}{\insrsid12989836
tional desktop PC, the interface they offer has drawbacks when used with devices not having a mouse and keyboard or having different forms and sizes. For instance, if a menu bar is always at the to
p of the screen, it might be hard to reach at a wall-size display [[Pier-LocationIndepInterfaces]]. Toolbars can take up a lot of pr}{\insrsid12989836 e}{\insrsid12989836 cious screen space on a PDA-like device.
\par Therefore, the user interface aspects have to be separated from information and behavior of applic}{\insrsid12989836 a}{\insrsid12989836 tions. This is related to the }{\i\insrsid12989836 interface dimension}{\insrsid12989836
identified by [ :inline | [Jacobson-OOSE]]. However, the BEACH conceptual model further distinguishes the }{\i\insrsid12989836 user interface}{\insrsid12989836 from the }{\i\insrsid12989836 interaction}{\insrsid12989836
, to allow accessing a shared user interface wit
h different modalities and different devices. The user interface model defines the components that are available in the user interface, while the interaction model specifies how they are presented and modified.
\par In the case of the Passage system, the user interface is rather simple; it consists of the virtual part of the bridge. The }{\i\insrsid12989836 virtual}{\insrsid12989836
part of the bridge is displayed on a roomware component whenever a passenger is detected on the }{\i\insrsid12989836 physical}{\insrsid12989836 part of the bridge (see figure }{\field{\*\fldinst {\insrsid12989836 REF fPassagePicture \\h }{
\insrsid12989836 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b0200000008000000100000006600500061007300730061006700650050006900630074007500720065000000}}}{\fldrslt {\lang1024\langfe1024\noproof\insrsid12989836 3}{\insrsid12989836 \_}{
\lang1024\langfe1024\noproof\insrsid12989836 1}}}{\insrsid12989836 ).
\par The user-interface model allows one to define alternative user-interface concepts suitable for different interaction devices (req. }{\field{\*\fldinst {\insrsid12989836 REF qDifferentFormsOfInteraction \\h \\* MERGEFORMAT }{\insrsid12989836
{\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000001d000000710044006900660066006500720065006e00740046006f0072006d0073004f00660049006e0074006500720061006300740069006f006e000000}}}{\fldrslt {\insrsid12989836 H\_1}}}{\insrsid12989836
). Multiple-computer devices (req. {\*\bkmkstart _Hlt517580772}}{\field{\*\fldinst {\insrsid12989836 REF qCompositeRoomwareComponents \\h \\* MERGEFORMAT }{\insrsid12989836 {\*\datafield
08d0c9ea79f9bace118c8200aa004ba90b02000000080000001d000000710043006f006d0070006f00730069007400650052006f006f006d00770061007200650043006f006d0070006f006e0065006e00740073000000}}}{\fldrslt {\insrsid12989836 U\_2}}}{\insrsid12989836 {\*\bkmkend _Hlt5175...
}) and multi-device interaction (req. }{\field{\*\fldinst {\insrsid12989836 REF qMultipleDeviceInteraction \\h }{\insrsid12989836 {\*\datafield
08d0c9ea79f9bace118c8200aa004ba90b02000000080000001b00000071004d0075006c007400690070006c00650044006500760069006300650049006e0074006500720061006300740069006f006e000000}}}{\fldrslt {\insrsid12989836 UH\_2}}}{\insrsid12989836
) make it necessary to have user interface elements that can be distributed and shared among di}{\insrsid12989836 f}{\insrsid12989836 ferent devices (see below).
\par By explicitly modeling an appropriate user-interface, all issues related to the hardware and physical environment can be addressed at one point, allowing applications and documents to be d}{\insrsid12989836 e}{\insrsid12989836 vice-independent.
\par }\pard\plain \s3\ql \li0\ri0\sb120\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 {\*\bkmkstart sPhysicalModelConcept}
{\*\bkmkstart _Toc2659660}{\*\bkmkstart _Toc19764440}Environment Model{\*\bkmkend sPhysicalModelConcept}{\*\bkmkend _Toc2659660}{\*\bkmkend _Toc19764440}: Context Awareness
\par }\pard\plain \qj \li0\ri0\sa60\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 One major property of ubiquitous c
omputing environments is the heterogeneity of the available d}{\insrsid12989836 e}{\insrsid12989836 vices. In order to provide a coherent user experience [[DisappearingUI-CoherenceScope]], the \'93
system must have a deeper understanding of the physical space\'94 [[EasyLiving-Technologies]]. This raises the need for an adequate model of the application\rquote s physical environment.
\par Therefore, the environment model is the representation of }{\i\insrsid12989836 relevant}{\insrsid12989836 parts of the \'93real\'94 world. On one hand, this includes a description of which devices are used, how they are configured, and which ca...
\insrsid12989836 a}{\insrsid12989836 bilities they have. This is the direct }{\i\insrsid12989836 hardware environment}{\insrsid12989836 , which can be employed by the user-interface model to adapt to different devices (req. }{\field{\*\fldinst {
\insrsid12989836 REF qDifferentFormsOfInteraction \\h \\* MERG}{\insrsid12989836 E}{\insrsid12989836 FORMAT }{\insrsid12989836 {\*\datafield
08d0c9ea79f9bace118c8200aa004ba90b02000000080000001d000000710044006900660066006500720065006e00740046006f0072006d0073004f00660049006e0074006500720061006300740069006f006e000000}}}{\fldrslt {\insrsid12989836 H\_1}}}{\insrsid12989836
). This part corresponds to the platform model defined by the Plasticity framework [[Plasticity-Framework+Agenda]], or Aura\rquote s notion of enviro}{\insrsid12989836 n}{\insrsid12989836 ment [[Aura-Framework]].
\par In addition, other aspects can be included if they can influence the behavior of the software. Necessa}{\insrsid12989836 r}{\insrsid12989836 ily, it has
to be possible to measure their relevant properties with sensors. Depending on detected changes in the }{\i\insrsid12989836 physical environment}{\insrsid12989836 , further actions can be triggered to reflect the current situation (req. }
{\field{\*\fldinst {\insrsid12989836 REF qDynamicConfiguration \\h \\* MERGEFORMAT }{\insrsid12989836 {\*\datafield
08d0c9ea79f9bace118c8200aa004ba90b0200000008000000160000007100440079006e0061006d006900630043006f006e00660069006700750072006100740069006f006e000000}}}{\fldrslt {\insrsid12989836 U\_4}}}{\insrsid12989836 ).
\par The Passage system is an example of how to react upon changes in the physical environment. As me}{\insrsid12989836 n}{\insrsid12989836
tioned, the virtual part of the bridge is shown as soon as a physical object is detected on the physical part of the bridge. Thus, Passage needs to keep a repres
entation of the detected physical objects and the location (esp. bridge) where they have been sensed (fig. }{\field{\*\fldinst {\insrsid12989836 REF fPassageClasses \\h }{\insrsid12989836 {\*\datafield
08d0c9ea79f9bace118c8200aa004ba90b0200000008000000100000006600500061007300730061006700650043006c00610073007300650073000000}}}{\fldrslt {\lang1024\langfe1024\noproof\insrsid12989836 6}{\insrsid12989836 \_}{\lang1024\langfe1024\noproof\insrsid12989836 ...
\insrsid12989836 ). This is part of the environment model. Additio}{\insrsid12989836 n}{\insrsid12989836 ally, the sensors used for detecting physical objects belong to the environment model as well.
\par Besides the physical environment, other contextual information \endash such as the current task, project, or presence of co-workers \endash could influence the behavior of the software, so long as this information is available to the applica
tion. This part refers to the }{\i\insrsid12989836 logical context}{\insrsid12989836 of the application.
\par Software with functionality depending on physical objects and their properties, or other aspects of the user\rquote s environment (req. {\*\bkmkstart _Hlt536717755}}{\field{\*\fldinst {\insrsid12989836 REF qContextAwareness \\h \\* MERGEFORMAT...
\insrsid12989836 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b020000000800000012000000710043006f006e007400650078007400410077006100720065006e006500730073000000}}}{\fldrslt {\insrsid12989836 U\_3}}}{\insrsid12989836 {\*\bkmkend _Hlt536717755}) is ca...
}{\i\insrsid12989836 context-aware }{\insrsid12989836
[[ContextToolkit-AppDevelopment]]. There is a strong need for context-aware applications in ubiquitous computing environments, as the large number of available devices, services, and tools can be a burden for the user if the complexity for explicit i...
\insrsid12989836 r}{\insrsid12989836 action becomes too high. An environment designed to support the users needs, needs to aim at }{\i\insrsid12989836 implicit}{\insrsid12989836
interaction [[Schmidt-ImplicitHCI]]. This can be accomplished by using changes in the real world\rquote s state to trigger software functionality.}{\cs31\super\insrsid12989836 \chftn {\footnote \pard\plain
\s32\qj \fi-144\li144\ri0\sa80\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin144\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\cs31\super\insrsid12989836 \chftn }{\insrsid12989836 However
, using detected context to trigger functionality always has the danger of relying on misinte}{\insrsid12989836 r}{\insrsid12989836 preted information, which can be very annoying for users.}}}{\insrsid12989836 T
herefore, the environment model must be capable of expres}{\insrsid12989836 s}{\insrsid12989836 ing relevant information, such as spatial relationships between physical objects.
\par }\pard\plain \s3\ql \li0\ri0\sb120\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 {\*\bkmkstart sInteractionModelConcept}
{\*\bkmkstart _Toc2659661}{\*\bkmkstart _Toc19764441}Interaction Model{\*\bkmkend sInteractionModelConcept}{\*\bkmkend _Toc2659661}{\*\bkmkend _Toc19764441}: Presentation and Interaction
\par }\pard\plain \qj \li0\ri0\sa60\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 To be able to support different styles of interaction (req. }{\field{\*\fldinst...
\insrsid12989836 REF qDifferentFormsOfInteraction \\h \\* MERGEFORMAT }{\insrsid12989836 {\*\datafield
08d0c9ea79f9bace118c8200aa004ba90b02000000080000001d000000710044006900660066006500720065006e00740046006f0072006d0073004f00660049006e0074006500720061006300740069006f006e000000}}}{\fldrslt {\insrsid12989836 H\_1}}}{\insrsid12989836 , }{\field{\*\fldins...
\insrsid12989836 REF qPhysInteraction \\h \\* MERGEFORMAT }{\insrsid12989836 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b0200000008000000110000007100500068007900730049006e0074006500720061006300740069006f006e000000}}}{\fldrslt {\insrsid12989836 ...
}}}{\insrsid12989836 ), the interaction model specifies how different interaction styles can be defined. The term used here describes a part of the software a}{\insrsid12989836 r}{\insrsid12989836 chitecture, and should not be confused with the \'93
interaction model\'94 describing the \'93look and feel\'94 of a user interface at a conceptual level as defined by [ :inline | [BeaudouinLafon-PostWIMPModel]]. I}{\insrsid12989836 n}{\insrsid12989836 stead, it is a generalized view of the \'93
t/sample.rtf view on Meta::CPAN
rectly. Instead, it is associated with an appropriate application model as a mediator to the data model. This way, the interaction style can be adapted depending on which application model is used to access a data model.
\par As an appropriate
interaction style depends on the available interaction devices and the associated user interface, a suitable interaction model can be chosen depending on the environment and user-interface model. For visual-based interaction, an adapted version of th...
el-view-controller concept [[MVC-Cookbook], [COAST-ooSyncGroupware]] has proven su}{\insrsid12989836 c}{\insrsid12989836 cessful. However, the \'93model\'94
of the model-view-controller concept is not further structured. It can refer to each of data, application, user interface, or environment model.
\par Passage defines an interactive visual representation (for the virtual part of the bridge) and physical a}{\insrsid12989836 c}{\insrsid12989836
tions as input (placing objects on the physical part of the bridge). Consequently, its interaction model uses both a visual interaction model (see section }{\field{\*\fldinst {\insrsid12989836 REF sModelLayer \\r \\h }{\insrsid12989836 {\*\datafield...
08d0c9ea79f9bace118c8200aa004ba90b02000000080000000c00000073004d006f00640065006c004c0061007900650072000000}}}{\fldrslt {\insrsid12989836 5.2}}}{\insrsid12989836 ) and a sensor model providing the basis for detec}{\insrsid12989836 t}{\insrsid12989836 ...
ing physical o}{\insrsid12989836 b}{\insrsid12989836 jects (see section }{\field{\*\fldinst {\insrsid12989836 REF sSensorModel \\r \\h }{\insrsid12989836 {\*\datafield
08d0c9ea79f9bace118c8200aa004ba90b02000000080000000d0000007300530065006e0073006f0072004d006f00640065006c000000}}}{\fldrslt {\insrsid12989836 6.1}}}{\insrsid12989836 ).
\par {\*\bkmkstart sConceptualSharing}{\*\bkmkstart _Toc19764442}{\listtext\pard\plain\s2 \f1\fs22\insrsid12989836 \hich\af1\dbch\af0\loch\f1 2.3\tab}}\pard\plain \s2\ql \fi-578\li578\ri0\sb120\sa60\keep\keepn\widctlpar
\jclisttab\tx576\hyphpar0\aspalpha\aspnum\faauto\ls128\ilvl1\outlinelevel1\adjustright\rin0\lin578\itap0 \f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 Second Dimension: Coupling and Sharing{\*\bkmkend sConceptualSharing...
{\*\bkmkend _Toc19764442}
\par }\pard\plain \qj \li0\ri0\sa60\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 Whenever multiple devices are involved in a software system, th
e question arises, which parts of the system should be local to a device or shared between several. This has to be clarified for both the a}{\insrsid12989836 p}{\insrsid12989836 plication code and its state. While }{\i\insrsid12989836 distributing co...
\insrsid12989836 among devices is a technical question unique to every application, }{\i\insrsid12989836 sharing state}{\insrsid12989836 has conceptual implications, which this section addresses.
\par Today, many applications still run entirely local to a single computer, or access only data that is di}{\insrsid12989836 s}{\insrsid12989836 tributed over a network. Aiming at synchronous collaboration, crucial aspects of traditional CSCW system...
\i\insrsid12989836 access to shared data}{\insrsid12989836 and }{\i\insrsid12989836 coupling the applications }{\insrsid12989836
of collaborating users [[Suite-CouplingUIs]]. Therefore, coupling has to be applied to both the data and the application model [[COAST-Model]].
\par In the context of ubiquitous computing environments, this view has to be extended. In addition to data and application, also information about the physical environment, e.g., the presence of nearby users or other avai}{\insrsid12989836 l}{
\insrsid12989836 able interaction devices, has to be exchanged by different devices and applications.
\par As discussed above, in a ubiquitous computing environment elements of the user interface can be di}{\insrsid12989836 s}{\insrsid12989836 tributed among several machines (req. }{\field{\*\fldinst {\insrsid12989836 REF qCompositeRoomwareComponent...
\insrsid12989836 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000001d000000710043006f006d0070006f00730069007400650052006f006f006d00770061007200650043006f006d0070006f006e0065006e00740073000000}}}{\fldrslt {\insrsid12989836 U\_2}}}{
\insrsid12989836 ) or among different devices (req. }{\field{\*\fldinst {\insrsid12989836 REF qMultipleDeviceInteraction \\h }{\insrsid12989836 {\*\datafield
08d0c9ea79f9bace118c8200aa004ba90b02000000080000001b00000071004d0075006c007400690070006c00650044006500760069006300650049006e0074006500720061006300740069006f006e000000}}}{\fldrslt {\insrsid12989836 UH\_2}}}{\insrsid12989836 ). Based on the sep}{
\insrsid12989836 a}{\insrsid12989836 ration of concerns that has been previously identified, Dewan\rquote s definition of coupling [[Dewan-FlexibleUICoupling]] can be refined. Coupling can now be defined as }{\i\insrsid12989836
sharing the same interaction, user interface, or editing (application) state}{\insrsid12989836
among several users or devices. Coupling can thus simply be implemented as accessing the same user interface or application model. This is an important benefit of using shared user interface and application models.
\par Depending on how much state is shared, the }{\i\insrsid12989836 degree of coupling}{\insrsid12989836
can be controlled. If all involved user interface and editing state is shared, a tightly coupled collaboration mode is realized; if only the same data model is shared, users work loosely coupled (req. }{\field{\*\fldinst {\insrsid12989836 REF
qFlexibleCoupling \\h }{\insrsid12989836 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b020000000800000012000000710046006c0065007800690062006c00650043006f00750070006c0069006e0067000000}}}{\fldrslt {\insrsid12989836 C\_2}}}{\insrsid12989836
). This is related to the coupling model d}{\insrsid12989836 e}{\insrsid12989836 scribed in [[Suite-CouplingUIs]].
\par Even, if some models are not coupled, one can profit from sharing environment, user interface, and application models. As the information encapsulated in the models is accessible to all clients, it is po}{\insrsid12989836 s}{\insrsid12989836
sible to provide }{\i\insrsid12989836 awareness information}{\insrsid12989836 in the user interface. Typical for CSCW applications is the pr}{\insrsid12989836 o}{\insrsid12989836
vision of workspace or activity awareness [[GroupKit-AwarenessWidgets], [Interlocus-ActivityAwareness
]]. This can easily be realized if the application model including all editing state is shared [[COAST-Model]]. While tightly coupling the user interface can be inconvenient [[GroupKit-AwarenessTradeoffs], [Colab-WYSIWIS-Rev]], shared user interface ...
mation provides a means of giving add}{\insrsid12989836 i}{\insrsid12989836 tional awareness hints to remote users.
\par Beyond the provision of awareness in CSCW systems, sharing the environment model allows a new kind of awareness for ubiquitous computing environments. The information embodied in the enviro}{\insrsid12989836 n}{\insrsid12989836
ment model can be used to give environmental awareness.
\par This section discusses the aspects of sharing the basic models. Before starting a detailed discussion, it has to be noted that \'93sharing\'94 can be implemented in many different ways. In the case of collaborating devices with quite varying pro...
\endash especially in terms of memory, performance, or network co}{\insrsid12989836 n}{\insrsid12989836 nection \endash a shared object does not necessarily have to have the same implementation for different pla}{\insrsid12989836 t}{\insrsid1298983...
forms (see e.g. Manifold [[Manifold-Architecture]] or Pocket Dream Team [[QuickStep-Challenges]]). For example, a shared \'93image\'94 object is likely to have a different implementation on a high-end des}{\insrsid12989836 k}{\insrsid12989836
top PC than on a PDA. At the conceptual level, however, both implementations refer to the same shared object.
\par }\pard\plain \s3\ql \li0\ri0\sb120\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 {\*\bkmkstart _Toc2659663}{\*\bkmkstart _Toc197...
Sharing the Data Model{\*\bkmkend _Toc2659663}{\*\bkmkend _Toc19764443}: Collaborative Data Access
\par }\pard\plain \qj \li0\ri0\sa60\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 In order to access and work collaboratively with shared data (req. }{\field{\*\...
\insrsid12989836 REF qCollaboration \\h }{\insrsid12989836 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000f000000710043006f006c006c00610062006f0072006100740069006f006e000000}}}{\fldrslt {\insrsid12989836 C\_1}}}{\insrsid12989836
), it is widely agreed that a shared model for documents reduces the complexity in dealing w
ith distributed applications. While there are well-established models defining a shared data model providing read-only access only (e.g. the world-wide-web), it is much more complicated to allow simultaneous modific}{\insrsid12989836 a}{\insrsid12989...
tions at a fine granularity.
\par Most popular toolkits and frameworks for computer-supported cooperative work provide some mech}{\insrsid12989836 a}{\insrsid12989836
nism to manage a shared-object space. In toolkits with a centralized architecture [[Rendezvous-Demands]], the document is necessarily shared. Replicated (or semi-replicated
[[Groupware-Architectures]]) systems create a shared-object space by synchronizing the replicated objects [[Clock-Architecture], [Dragonfly-Architecture], [COAST-ooSyncGroupware]]. In later versions of GroupKit [[GroupKit-CSCW92], [GroupKit-RealTime...
ared \'93environments\'94 have been introduced as shared data structures that can trigger cal}{\insrsid12989836 l}{\insrsid12989836 backs upon changes.
\par Application designers thus have to decide to which degree or for which parts of their application shared access to data is desirable or necessary. For the Passage system, a shared data model enables a straigh}{\insrsid12989836 t}{\insrsid1298983...
forward access to data objects from different computers, which is necessary when a passenger is tran}{\insrsid12989836 s}{\insrsid12989836 ferred to another roomware component.
\par }\pard\plain \s3\ql \li0\ri0\sb120\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 {\*\bkmkstart _Toc2659664}
{\*\bkmkstart sApplicationModelSharing}{\*\bkmkstart _Toc19764444}Sharing the Application Model{\*\bkmkend _Toc2659664}{\*\bkmkend sApplicationModelSharing}{\*\bkmkend _Toc19764444}: Workspace Awareness & Degree of Coupling
\par }\pard\plain \qj \li0\ri0\sa60\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836
To have an easy way of getting information about the editing state of other users, it has been proposed not only to share the data model, but also to share the application model [[COAST-Model]]. Sharing the editing state gives the ability to
provide awareness about editing activities. Taking again the exa}{\insrsid12989836 m}{\insrsid12989836 ple of a text-edit application model, sharing it opens the opportunity to visualize, e.g., text cursors or sele}{\insrsid12989836 c}{\insrsid12989...
tions of remote users.
\par By changing the state of the application model, the degree of coupling or other possible work modes can be controlled (req. }{\field{\*\fldinst {\insrsid12989836 REF qFlexibleCoupling \\h }{\insrsid12989836 {\*\datafield
08d0c9ea79f9bace118c8200aa004ba90b020000000800000012000000710046006c0065007800690062006c00650043006f00750070006c0069006e0067000000}}}{\fldrslt {\insrsid12989836 C\_2}}}{\insrsid12989836
). Users working with the same application model can work tightly coupled with rich awareness information [[COAST-Model]]. Tightly coupled work could for
instance include a coupled scroll position, coupled selection, or coupled navigation. If separate instances of the applic}{\insrsid12989836 a}{\insrsid12989836
tion model or different application models are used, users can still work loosely coupled when they modify the same data.
\par Again, the a
pplication designer has to decide whether or not a tightly coupled work mode should be supported or how much awareness information is advantageous. As already mentioned, the Passage system allows transporting both data and current editing state. This...
nabled by a shared application model.
\par }\pard\plain \s3\ql \li0\ri0\sb120\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 {\*\bkmkstart _Toc2659665}{\*\bkmkstart _Toc197...
{\*\bkmkstart _Toc2659666}{\*\bkmkstart _Toc19764446}Sharing the User Interface Model{\*\bkmkend _Toc2659666}{\*\bkmkend _Toc19764446}: Distributed & Coupled User Interfaces
\par }\pard\plain \qj \li0\ri0\sa60\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 If one user interacts with different devices at the same time (req.
{\*\bkmkstart _Hlt536859081}}{\field{\*\fldinst {\insrsid12989836 REF qMultipleDeviceInteraction \\h }{\insrsid12989836 {\*\datafield
08d0c9ea79f9bace118c8200aa004ba90b02000000080000001b00000071004d0075006c007400690070006c00650044006500760069006300650049006e0074006500720061006300740069006f006e000000}}}{\fldrslt {\insrsid12989836 UH\_2}}}{\insrsid12989836 {\*\bkmkend _Hlt536859081}
), it is desirable that their user interfaces are coordinated. This is only possible, if the information about the currently used user inte}{\insrsid12989836 r}{\insrsid12989836
face elements is accessible to all involved devices. An example of how user interfaces can be coupled is the \'93join\'94 oper}{\insrsid12989836 a}{\insrsid12989836 tion of \'93join and capture\'94 [[XWeb-JoinCapture]].
\par In addition, some devices actually have several embedded computers (req. }{\field{\*\fldinst {\insrsid12989836 REF qCompositeRoomwar}{\insrsid12989836 e}{\insrsid12989836 Components \\h }{\insrsid12989836 {\*\datafield
08d0c9ea79f9bace118c8200aa004ba90b02000000080000001d000000710043006f006d0070006f00730069007400650052006f006f006d00770061007200650043006f006d0070006f006e0065006e00740073000000}}}{\fldrslt {\insrsid12989836 U\_2}}}{\insrsid12989836 ). When a visual int...
\insrsid12989836 c}{\insrsid12989836 tion area crosses the borders between displays that are physically placed next to each other, but co}{\insrsid12989836 n}{\insrsid12989836
nected to different machines, it is necessary that the user interface elements be freely movable between the different displays [[BEACH-ConnecTables]]. In this case, user interface elements must be shared b}{\insrsid12989836 e}{\insrsid12989836
tween the involved machines.
\par However, for the Passage system, a shared user interface model is not necessary. It is sufficient that the virtual part of the bridge runs as an application local to each computer equipped with a bridge. Neve}{\insrsid12989836 r}{\insrsid1298983...
theless, if the user interface is shared, it is possible to control the bridge remotely, opening opportun}{\insrsid12989836 i}{\insrsid12989836
ties for extensions. Then, sensors attached to different computers can be used to detect objects on the bridge. If, for instance, video recognition is used to identify passenger objects, it is quite likely that t
he video camera is attached to a different computer. This computer can provide the performance for pro}{\insrsid12989836 c}{\insrsid12989836 essing the video signal \endash
without affecting with the performance of the roomware component. Another extension we implemented uses Palm Pilot PDAs to \'93beam\'94 data to the bridge of a roomware comp}{\insrsid12989836 o}{\insrsid12989836
nent [[BEACH-CreativityTools]]. Here, again, the shared user interface can be controlled remotely by the Palm.
\par }\pard\plain \s3\ql \li0\ri0\sb120\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 Sharing the Environment Model{\*\bkmkend _Toc26...
{\*\bkmkend _Toc19764445}: Environmental Awareness
\par }\pard\plain \qj \li0\ri0\sa60\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 When several people and devices physically share
a common environment, it is obvious that applic}{\insrsid12989836 a}{\insrsid12989836 tions that are used in such situations can benefit from a shared model of how their environment looks.
\par In ubiquitous computing environments, many different devices have attached sensors that allow dete}{\insrsid12989836 c}{\insrsid12989836 tion o
f some aspects of the physical environment. By combining all available information and making it accessible to other applications, it is possible for each application to draw on a lot of context inform}{\insrsid12989836 a}{\insrsid12989836
tion that can be used to adapt its behavior (req. }{\field{\*\fldinst {\insrsid12989836 REF qContextAwareness \\h }{\insrsid12989836 {\*\datafield
08d0c9ea79f9bace118c8200aa004ba90b020000000800000012000000710043006f006e007400650078007400410077006100720065006e006500730073000000}}}{\fldrslt {\insrsid12989836 U\_3}}}{\insrsid12989836
). Similar to the workspace awareness (which is enabled by a shared application model), a shared environment model can serve as the basis for env}{\insrsid12989836 i}{\insrsid12989836
ronmental or context awareness. This is especially important in figuring out which users and interaction devices are currently present and available.
\par For a system such as Passage, a shared environment model \endash similar to a shared user interface model \endash offers possibilities for extensions. In fact, for the example extensions used to illu
strate the benefits of a shared user interface model, a shared environment model could be used instead. In this case, the env}{\insrsid12989836 i}{\insrsid12989836
ronment model is modified remotely, instead of the user interface model. Then, sensors distributed in the environment update the shared representation of the existing passenger objects and their detected locations.
\par }\pard\plain \s3\ql \li0\ri0\sb120\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 Sharing the Interaction Model: Disaggregated Co...
\par }\pard\plain \qj \li0\ri0\sa60\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836
Advantages of implementing data, application, user interface, and environment model as shared objects to give several users or devices the possibility to access these objects simultaneously have been di}{\insrsid12989836 s}{\insrsid12989836
cussed. In contrast, some interaction model objects always have to be local to each machine. This is necessary, as interaction model objects communicate with the interaction devices that are attached to the local computer.
\par In a ubiquitous computing environment however, the computer, to which an interaction device is a}{\insrsid12989836 t}{\insrsid12989836 tached, should become irrelevant, leading to what is called \'93disaggregated computing\'94 [[EasyLiving-UbiCo...
p]]. Systems such as PointRight [[iRoom-PointRight]] or Mouse Anywhere of EasyLiving [[EasyLiving-Technologies]] route input events to remote computers and introduce proxy device dri}{\insrsid12989836 v}{\insrsid12989836
ers. These are examples, how an interaction model can be partially shared. It is partially shared, as the device drivers still remain local to a machine.
\par Another benefit of a local interaction model is the ability to adapt the interaction style according to each client\rquote s local context, especially its physical environment and interaction capabilities. An exte}{\insrsid12989836 n}{\insrsid12...
sive example of how local interaction objects can be used to adapt to their local context is given in [[BEACH-ConnecTables]].
\par For the Passage system, though, a local interaction model is sufficient. The visual representation of the virtual part of the bridge has to be rendered locally at the computer, to which the roomware comp}{\insrsid12989836 o}{\insrsid12989836 nen...
s display is attached. This is normally the same computer receiving also the mouse or pen events for that display. Accordingly, the observer proc
ess, watching for detected physical objects, should normally run on the same machine where the bridge is located. As it modifies the state of the user inte}{\insrsid12989836 r}{\insrsid12989836
face model upon detected physical objects, the observer process itself needs no own state. Cons}{\insrsid12989836 e}{\insrsid12989836 quently, it has no state that could be shared.
\par {\*\bkmkstart _Toc2659668}{\*\bkmkstart sConceptualLevels}{\*\bkmkstart _Toc19764448}{\listtext\pard\plain\s2 \f1\fs22\insrsid12989836 \hich\af1\dbch\af0\loch\f1 2.4\tab}}\pard\plain \s2\ql \fi-578\li578\ri0\sb120\sa60\keep\keepn\widctlpar
\jclisttab\tx576\hyphpar0\aspalpha\aspnum\faauto\ls128\ilvl1\outlinelevel1\adjustright\rin0\lin578\itap0 \f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 Third Dimension: Conceptual Levels of Abstraction{\*\bkmkend _Toc265...
{\*\bkmkend sConceptualLevels}{\*\bkmkend _Toc19764448}
\par }\pard\plain \qj \li0\ri0\sa60\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid12989836 The third dimension of the conceptual model is the }{\i\insrsid12989836
level of abstraction}{\insrsid12989836 . It is a widely used software engineering technique to separate different levels of abstrac
tion in order to reduce the complexity on each level [[Dijkstra-THE-structure], [PAC-AMODEUS], [Zypher-Tailorability]] and to ensure inte}{\insrsid12989836 r}{\insrsid12989836 operability [[HCI.Context-Infrastructure]].
( run in 0.644 second using v1.01-cache-2.11-cpan-39bf76dae61 )