Bundle-PBib

 view release on metacpan or  search on metacpan

docs/ToDo.txt  view on Meta::CPAN


- Config module ausprobieren & einbinden -- geht jetzt???
---> reload config button? oder wird die config eh jedes mal neu eingelesen?
--> 04-02-12: im "processPaperFile" wird jedes mal ein neues Config gemacht.

- jump-to-key: handling wie bei windows (if at key, jump to next occurance)
--> nö.
- jump-to-key doesn't work anymore .....!!!
--> geht wieder.

- ctrl-a, ctrl-f: select whole text in input field, not only place cursor!!!
--> 04-02-12: done

- option to send all debug to .log file
--> done

- count time needed for processing
--> 04-02-12: done

lib/PBibTk/RefDialog.pm  view on Meta::CPAN

	%bp_util::glb_keyreg = (); # clear key registry
	my %rec = Biblio::BP::pbib_to_canon(%{$self->paper()});
	my $text = Biblio::BP::implode(Biblio::BP::fromcanon(%rec));
	
	#  print "delete:\n";
	$self->textWidget()->delete("0.0", "end");
	#  print "insert:\n";
	$self->textWidget()->insert("end", "\n> $format\n\n$text\n\n");
	#  print "mark:\n";
	$self->textWidget()->mark(qw/set insert end/);
	$self->textWidget()->see("0.0"); # move cursor to beginning
	#  $self->textWidget()->tagAdd('sel', "0.0", 'end'); # set selection??
}


#
#
# access to PBib
#
#

t/expected-sample-pbib.doc  view on Meta::CPAN

, a uniform interface can be used. The term \'93domain model\'94, which is sometimes also used for the concept of a data model ({\field{\*\fldinst { HYPERLINK \\l VisualWorksUsersGuide}}{\fldrslt {ParcPlace-Digitalk, Inc., 1995}}}; {\field{\*\fldinst...
 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 ({\field{\*\fldinst { HYPERLINK \\l JacobsonOOSE}}{\fldrslt {Jacobson {\i et al.}, 1992}}}).
\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 ({\field{\*\fldinst { HYPERLINK \\l COASTModel}}{\fldrslt {Schuckmann {\i et al.}, 1999}}}). This way, the application model often forms a hierarchy that is isomorphic to the containment hierarchy of its assoc}{\insrsid...
\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 ({\field{\*\fldinst { HYPERLINK \\l iRoomVisualInstruments}}{\fldrslt {Winograd and Guimbretière, 1999}}}).
\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 ({\field{\*\fldinst { HYPERLINK \\l PierLocationIndepInterfaces}}{\fldrslt {Pier and Landay, 1992}}}). Toolbars can take up a lot of pr}{\insrsid12989836 e}{\insrsid12989836 cious scre...
\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 {\field{\*\fldinst { HYPERLINK \\l JacobsonOOSE}}{\fldrslt {Jacobson {\i et al.} (1992)}}}. However, the BEACH conceptual model further distinguishes the }{\i\insrsid12989836 user interface}{\insrsid12989836  from the }{\i\insrsid12989...
, 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.

t/expected-sample-pbib.doc  view on Meta::CPAN

\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 ({\field{\*\fldinst { HYPERLINK \\l RendezvousDemands}}{\fldrslt {Patterson, 1991}}}), the document is necessarily shared. Replicated (or semi-replicated
 ({\field{\*\fldinst { HYPERLINK \\l GroupwareArchitectures}}{\fldrslt {Phillips, 1999}}})) systems create a shared-object space by synchronizing the replicated objects ({\field{\*\fldinst { HYPERLINK \\l ClockArchitecture}}{\fldrslt {Urnes and Graha...
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 ({\field{\*\fldinst { HYPERLINK \\l COASTModel}}{\fldrslt {Schuckmann {\...
 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 ({\field{\*\fldinst { HYPERLINK \\l COASTModel}}{\fldrslt {Schuckmann {\i et al.}, 1999}}}). 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...

t/expected-sample-pbib.html  view on Meta::CPAN

<H3 CLASS="western"><A NAME="sApplicationModelConcept"></A>Application
Model: Application Behavior</H3>
<P CLASS="western" STYLE="margin-bottom: 0.11cm">Application models
are used to describe all application aspects such as manipulation of
data objects. As application models define the <I>behavior</I> of the
application, they specify control objects as defined in
(Jacobson et al., 1992).</P>
<P CLASS="western" STYLE="margin-bottom: 0.11cm">For a &ldquo;text&rdquo;
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.</P>
<P CLASS="western" STYLE="margin-bottom: 0.11cm">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 application
model, e.g., allows specifying different rotations of the workspace
for two users working at an interactive table (see req. ), while all
other properties are tightly coupled.</P>
<P CLASS="western" STYLE="margin-bottom: 0.11cm">To be able to use
different application models for the same data model, the data model
has to be unaware of any application model and represent document

t/expected-sample-pbib.html  view on Meta::CPAN

of the conventional approach of seeing data as a &ldquo;supplement&rdquo;
to be edited by applications. It therefore leads to an
<I>information-centric</I> perspective on application models
(Winograd and Guimbretière, 1999).</P>
<P CLASS="western" STYLE="margin-bottom: 0.11cm">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 object) as shown in figure  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 continue working there at exactly the
same state.</P>
<H3 CLASS="western"><A NAME="sUIModelConcept"></A>User-Interface
Model: Interface Elements</H3>
<P CLASS="western" STYLE="margin-bottom: 0.11cm">As traditional
operating and window management systems have been designed for use
with a traditional 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

t/expected-sample-pbib.html  view on Meta::CPAN

access to data objects from different computers, which is necessary
when a passenger is transferred to another roomware component.</P>
<H3 CLASS="western"><A NAME="sApplicationModelSharing"></A>Sharing
the Application Model: Workspace Awareness &amp; Degree of Coupling</H3>
<P CLASS="western" STYLE="margin-bottom: 0.11cm">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 (Schuckmann et al., 1999). Sharing the editing state gives
the ability to provide awareness about editing activities. Taking
again the example of a text-edit application model, sharing it opens
the opportunity to visualize, e.g., text cursors or selections of
remote users.</P>
<P CLASS="western" STYLE="margin-bottom: 0.11cm">By changing the
state of the application model, the degree of coupling or other
possible work modes can be controlled (req. ). Users working with the
same application model can work tightly coupled with rich awareness
information (Schuckmann et al., 1999). Tightly coupled work could for instance
include a coupled scroll position, coupled selection, or coupled
navigation. If separate instances of the application model or
different application models are used, users can still work loosely
coupled when they modify the same data.</P>

t/expected-sample-pbib.rtf  view on Meta::CPAN

, a uniform interface can be used. The term \'93domain model\'94, which is sometimes also used for the concept of a data model ({\field{\*\fldinst { HYPERLINK \\l VisualWorksUsersGuide}}{\fldrslt {ParcPlace-Digitalk, Inc., 1995}}}; {\field{\*\fldinst...
 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 ({\field{\*\fldinst { HYPERLINK \\l JacobsonOOSE}}{\fldrslt {Jacobson {\i et al.}, 1992}}}).
\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 ({\field{\*\fldinst { HYPERLINK \\l COASTModel}}{\fldrslt {Schuckmann {\i et al.}, 1999}}}). This way, the application model often forms a hierarchy that is isomorphic to the containment hierarchy of its assoc}{\insrsid...
\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 ({\field{\*\fldinst { HYPERLINK \\l iRoomVisualInstruments}}{\fldrslt {Winograd and Guimbretière, 1999}}}).
\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 ({\field{\*\fldinst { HYPERLINK \\l PierLocationIndepInterfaces}}{\fldrslt {Pier and Landay, 1992}}}). Toolbars can take up a lot of pr}{\insrsid12989836 e}{\insrsid12989836 cious scre...
\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 {\field{\*\fldinst { HYPERLINK \\l JacobsonOOSE}}{\fldrslt {Jacobson {\i et al.} (1992)}}}. However, the BEACH conceptual model further distinguishes the }{\i\insrsid12989836 user interface}{\insrsid12989836  from the }{\i\insrsid12989...
, 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.

t/expected-sample-pbib.rtf  view on Meta::CPAN

\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 ({\field{\*\fldinst { HYPERLINK \\l RendezvousDemands}}{\fldrslt {Patterson, 1991}}}), the document is necessarily shared. Replicated (or semi-replicated
 ({\field{\*\fldinst { HYPERLINK \\l GroupwareArchitectures}}{\fldrslt {Phillips, 1999}}})) systems create a shared-object space by synchronizing the replicated objects ({\field{\*\fldinst { HYPERLINK \\l ClockArchitecture}}{\fldrslt {Urnes and Graha...
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 ({\field{\*\fldinst { HYPERLINK \\l COASTModel}}{\fldrslt {Schuckmann {\...
 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 ({\field{\*\fldinst { HYPERLINK \\l COASTModel}}{\fldrslt {Schuckmann {\i et al.}, 1999}}}). 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...

t/expected-sample-pbib.txt  view on Meta::CPAN

In the following, these five models are presented in more detail, including their relationship to the previously identified requirements. Concrete examples of how these models have been applied are given afterwards.
Data Model: Information Objects
It is a very common approach in application modeling to separate the application model from the data or domain model (ParcPlace-Digitalk, Inc., 1995; Szekely et al., 1992). The data model relates to the information dimension identified by Jacobson et...
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, application models can be reused for different kinds...
The data model defines the classes and functionality of all objects that can be part of a document. According to an object-oriented view, data objects combine document state with methods to change the state. In the context of cooperative work (req. )...
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 hierarchy with additional connections defined by h...
Depending on the actual application, data objects are not restricted to represent what is classically seen as a "document". In (Edwards and LaMarca, 1999) a much broader view on documents is described. If, for instance, physical devices, people, or t...
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 ) supports the generic document elements provided by the B...
Application Model: Application Behavior
Application models are used to describe all application aspects such as manipulation of data objects. As application models define the behavior of the application, they specify control objects as defined in (Jacobson et al., 1992).
For a "text" 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.
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 application model, e.g., allows specifying differ...
To be able to use different application models for the same data model, the data model has to be unaware of any application model and represent document state only.
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 lev...
Using small application models turns out to foster a new conception of what is regarded as an application. The application model is seen as a description of additional semantics for a data model, instead of the conventional approach of seeing data as...
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 contr...
User-Interface Model: Interface Elements
As traditional operating and window management systems have been designed for use with a traditional 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 in...
Therefore, the user interface aspects have to be separated from information and behavior of applications. This is related to the interface dimension identified by Jacobson et al. (1992). However, the BEACH conceptual model further distinguishes the u...
In the case of the Passage system, the user interface is rather simple; it consists of the virtual part of the bridge. The virtual part of the bridge is displayed on a roomware component whenever a passenger is detected on the physical part of the br...
The user-interface model allows one to define alternative user-interface concepts suitable for different interaction devices (req. ). Multiple-computer devices (req. ) and multi-device interaction (req. ) make it necessary to have user interface elem...
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 device-independent.
Environment Model: Context Awareness
One major property of ubiquitous computing environments is the heterogeneity of the available devices. In order to provide a coherent user experience (Prante, 2001), the "system must have a deeper understanding of the physical space" (Brummit et al.,...
Therefore, the environment model is the representation of relevant parts of the "real" world. On one hand, this includes a description of which devices are used, how they are configured, and which capabilities they have. This is the direct hardware e...
In addition, other aspects can be included if they can influence the behavior of the software. Necessarily, it has to be possible to measure their relevant properties with sensors. Depending on detected changes in the physical environment, further ac...

t/expected-sample-pbib.txt  view on Meta::CPAN

As discussed above, in a ubiquitous computing environment elements of the user interface can be distributed among several machines (req. ) or among different devices (req. ). Based on the separation of concerns that has been previously identified, De...
Depending on how much state is shared, the degree of coupling 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 c...
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 possible to provide awareness information in the ...
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 environment model can be used to give environmental awareness.
This section discusses the aspects of sharing the basic models. Before starting a detailed discussion, it has to be noted that "sharing" can be implemented in many different ways. In the case of collaborating devices with quite varying properties – e...
Sharing the Data Model: Collaborative Data Access
In order to access and work collaboratively with shared data (req. ), it is widely agreed that a shared model for documents reduces the complexity in dealing with distributed applications. While there are well-established models defining a shared dat...
Most popular toolkits and frameworks for computer-supported cooperative work provide some mechanism to manage a shared-object space. In toolkits with a centralized architecture (Patterson, 1991), the document is necessarily shared. Replicated (or sem...
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 straightforward access to data objects from diffe...
Sharing the Application Model: Workspace Awareness & Degree of Coupling
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 (Schuckmann et al., 1999). Sharing the editing state gives the ability t...
By changing the state of the application model, the degree of coupling or other possible work modes can be controlled (req. ). Users working with the same application model can work tightly coupled with rich awareness information (Schuckmann et al., ...
Again, the application 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...
Sharing the User Interface Model: Distributed & Coupled User Interfaces
If one user interacts with different devices at the same time (req. ), it is desirable that their user interfaces are coordinated. This is only possible, if the information about the currently used user interface elements is accessible to all involve...
In addition, some devices actually have several embedded computers (req. ). When a visual interaction area crosses the borders between displays that are physically placed next to each other, but connected to different machines, it is necessary that t...
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. Nevertheless, if the user interface is shared,...
Sharing the Environment Model: Environmental Awareness
When several people and devices physically share a common environment, it is obvious that applications that are used in such situations can benefit from a shared model of how their environment looks.
In ubiquitous computing environments, many different devices have attached sensors that allow detection of some aspects of the physical environment. By combining all available information and making it accessible to other applications, it is possible...
For a system such as Passage, a shared environment model – similar to a shared user interface model – offers possibilities for extensions. In fact, for the example extensions used to illustrate the benefits of a shared user interface model, a shared ...

t/expected-sample-pbib.xml  view on Meta::CPAN

<para>In the following, these five models are presented in more detail, including their relationship to the previously identified requirements. Concrete examples of how these models have been applied are given afterwards.</para>
<para>Data Model: Information Objects</para>
<para>It is a very common approach in application modeling to separate the application model from the data or domain model (ParcPlace-Digitalk, Inc., 1995; Szekely et al., 1992). The data model relates to the information dimension identified by Jacob...
<para>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, application models can be reused for different...
<para>The data model defines the classes and functionality of all objects that can be part of a document. According to an object-oriented view, data objects combine document state with methods to change the state. In the context of cooperative work (...
<para>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 hierarchy with additional connections define...
<para>Depending on the actual application, data objects are not restricted to represent what is classically seen as a “document”. In (Edwards and LaMarca, 1999) a much broader view on documents is described. If, for instance, physical devices, pe...
<para>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 ) supports the generic document elements provided by...
<para>Application Model: Application Behavior</para>
<para>Application models are used to describe all application aspects such as manipulation of data objects. As application models define the behavior of the application, they specify control objects as defined in (Jacobson et al., 1992).</para>
<para>For a “text” 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.</para>
<para>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 application model, e.g., allows specifying ...
<para>To be able to use different application models for the same data model, the data model has to be unaware of any application model and represent document state only.</para>
<para>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 high...
<para>Using small application models turns out to foster a new conception of what is regarded as an application. The application model is seen as a description of additional semantics for a data model, instead of the conventional approach of seeing d...
<para>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...
<para>User-Interface Model: Interface Elements</para>
<para>As traditional operating and window management systems have been designed for use with a traditional desktop PC, the interface they offer has drawbacks when used with devices not having a mouse and keyboard or having different forms and sizes. ...
<para>Therefore, the user interface aspects have to be separated from information and behavior of applications. This is related to the interface dimension identified by Jacobson et al. (1992). However, the BEACH conceptual model further distinguishes...
<para>In the case of the Passage system, the user interface is rather simple; it consists of the virtual part of the bridge. The virtual part of the bridge is displayed on a roomware component whenever a passenger is detected on the physical part of ...
<para>The user-interface model allows one to define alternative user-interface concepts suitable for different interaction devices (req. ). Multiple-computer devices (req. ) and multi-device interaction (req. ) make it necessary to have user interfac...
<para>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 device-independent.</para>
<para>Environment Model: Context Awareness</para>
<para>One major property of ubiquitous computing environments is the heterogeneity of the available devices. In order to provide a coherent user experience (Prante, 2001), the “system must have a deeper understanding of the physical space” (Brumm...
<para>Therefore, the environment model is the representation of relevant parts of the “real” world. On one hand, this includes a description of which devices are used, how they are configured, and which capabilities they have. This is the direct ...
<para>In addition, other aspects can be included if they can influence the behavior of the software. Necessarily, it has to be possible to measure their relevant properties with sensors. Depending on detected changes in the physical environment, furt...

t/expected-sample-pbib.xml  view on Meta::CPAN

<para>As discussed above, in a ubiquitous computing environment elements of the user interface can be distributed among several machines (req. ) or among different devices (req. ). Based on the separation of concerns that has been previously identifi...
<para>Depending on how much state is shared, the degree of coupling 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 loo...
<para>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 possible to provide awareness information i...
<para>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 environment model can be used to give environmental awareness...
<para>This section discusses the aspects of sharing the basic models. Before starting a detailed discussion, it has to be noted that “sharing” can be implemented in many different ways. In the case of collaborating devices with quite varying prop...
<para>Sharing the Data Model: Collaborative Data Access</para>
<para>In order to access and work collaboratively with shared data (req. ), it is widely agreed that a shared model for documents reduces the complexity in dealing with distributed applications. While there are well-established models defining a shar...
<para>Most popular toolkits and frameworks for computer-supported cooperative work provide some mechanism to manage a shared-object space. In toolkits with a centralized architecture (Patterson, 1991), the document is necessarily shared. Replicated (...
<para>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 straightforward access to data objects from...
<para>Sharing the Application Model: Workspace Awareness & Degree of Coupling</para>
<para>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 (Schuckmann et al., 1999). Sharing the editing state gives the abi...
<para>By changing the state of the application model, the degree of coupling or other possible work modes can be controlled (req. ). Users working with the same application model can work tightly coupled with rich awareness information (Schuckmann et...
<para>Again, the application 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 e...
<para>Sharing the User Interface Model: Distributed & Coupled User Interfaces</para>
<para>If one user interacts with different devices at the same time (req. ), it is desirable that their user interfaces are coordinated. This is only possible, if the information about the currently used user interface elements is accessible to all i...
<para>In addition, some devices actually have several embedded computers (req. ). When a visual interaction area crosses the borders between displays that are physically placed next to each other, but connected to different machines, it is necessary ...
<para>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. Nevertheless, if the user interface is s...
<para>Sharing the Environment Model: Environmental Awareness</para>
<para>When several people and devices physically share a common environment, it is obvious that applications that are used in such situations can benefit from a shared model of how their environment looks.</para>
<para>In ubiquitous computing environments, many different devices have attached sensors that allow detection of some aspects of the physical environment. By combining all available information and making it accessible to other applications, it is po...
<para>For a system such as Passage, a shared environment model – similar to a shared user interface model – offers possibilities for extensions. In fact, for the example extensions used to illustrate the benefits of a shared user interface model,...

t/sample.html  view on Meta::CPAN

<H3 CLASS="western"><A NAME="sApplicationModelConcept"></A>Application
Model: Application Behavior</H3>
<P CLASS="western" STYLE="margin-bottom: 0.11cm">Application models
are used to describe all application aspects such as manipulation of
data objects. As application models define the <I>behavior</I> of the
application, they specify control objects as defined in
[[Jacobson-OOSE]].</P>
<P CLASS="western" STYLE="margin-bottom: 0.11cm">For a &ldquo;text&rdquo;
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.</P>
<P CLASS="western" STYLE="margin-bottom: 0.11cm">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 application
model, e.g., allows specifying different rotations of the workspace
for two users working at an interactive table (see req. ), while all
other properties are tightly coupled.</P>
<P CLASS="western" STYLE="margin-bottom: 0.11cm">To be able to use
different application models for the same data model, the data model
has to be unaware of any application model and represent document

t/sample.html  view on Meta::CPAN

of the conventional approach of seeing data as a &ldquo;supplement&rdquo;
to be edited by applications. It therefore leads to an
<I>information-centric</I> perspective on application models
[[iRoom-VisualInstruments]].</P>
<P CLASS="western" STYLE="margin-bottom: 0.11cm">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 object) as shown in figure  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 continue working there at exactly the
same state.</P>
<H3 CLASS="western"><A NAME="sUIModelConcept"></A>User-Interface
Model: Interface Elements</H3>
<P CLASS="western" STYLE="margin-bottom: 0.11cm">As traditional
operating and window management systems have been designed for use
with a traditional 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

t/sample.html  view on Meta::CPAN

access to data objects from different computers, which is necessary
when a passenger is transferred to another roomware component.</P>
<H3 CLASS="western"><A NAME="sApplicationModelSharing"></A>Sharing
the Application Model: Workspace Awareness &amp; Degree of Coupling</H3>
<P CLASS="western" STYLE="margin-bottom: 0.11cm">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 example of a text-edit application model, sharing it opens
the opportunity to visualize, e.g., text cursors or selections of
remote users.</P>
<P CLASS="western" STYLE="margin-bottom: 0.11cm">By changing the
state of the application model, the degree of coupling or other
possible work modes can be controlled (req. ). 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 application model or
different application models are used, users can still work loosely
coupled when they modify the same data.</P>

t/sample.rtf  view on Meta::CPAN

, 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.

t/sample.rtf  view on Meta::CPAN

\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...

t/sample.txt  view on Meta::CPAN

In the following, these five models are presented in more detail, including their relationship to the previously identified requirements. Concrete examples of how these models have been applied are given afterwards.
Data Model: Information Objects
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 information dimension identified by [ :inline | [Jacobson...
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, application models can be reused for different kinds...
The data model defines the classes and functionality of all objects that can be part of a document. According to an object-oriented view, data objects combine document state with methods to change the state. In the context of cooperative work (req. )...
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 hierarchy with additional connections defined by h...
Depending on the actual application, data objects are not restricted to represent what is classically seen as a "document". In [[PlacelessDoc-Generality+Specificity]] a much broader view on documents is described. If, for instance, physical devices, ...
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 ) supports the generic document elements provided by the B...
Application Model: Application Behavior
Application models are used to describe all application aspects such as manipulation of data objects. As application models define the behavior of the application, they specify control objects as defined in [[Jacobson-OOSE]].
For a "text" 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.
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 application model, e.g., allows specifying differ...
To be able to use different application models for the same data model, the data model has to be unaware of any application model and represent document state only.
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 lev...
Using small application models turns out to foster a new conception of what is regarded as an application. The application model is seen as a description of additional semantics for a data model, instead of the conventional approach of seeing data as...
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 contr...
User-Interface Model: Interface Elements
As traditional operating and window management systems have been designed for use with a traditional 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 in...
Therefore, the user interface aspects have to be separated from information and behavior of applications. This is related to the interface dimension identified by [ :inline | [Jacobson-OOSE]]. However, the BEACH conceptual model further distinguishes...
In the case of the Passage system, the user interface is rather simple; it consists of the virtual part of the bridge. The virtual part of the bridge is displayed on a roomware component whenever a passenger is detected on the physical part of the br...
The user-interface model allows one to define alternative user-interface concepts suitable for different interaction devices (req. ). Multiple-computer devices (req. ) and multi-device interaction (req. ) make it necessary to have user interface elem...
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 device-independent.
Environment Model: Context Awareness
One major property of ubiquitous computing environments is the heterogeneity of the available devices. In order to provide a coherent user experience [[DisappearingUI-CoherenceScope]], the "system must have a deeper understanding of the physical spac...
Therefore, the environment model is the representation of relevant parts of the "real" world. On one hand, this includes a description of which devices are used, how they are configured, and which capabilities they have. This is the direct hardware e...
In addition, other aspects can be included if they can influence the behavior of the software. Necessarily, it has to be possible to measure their relevant properties with sensors. Depending on detected changes in the physical environment, further ac...

t/sample.txt  view on Meta::CPAN

As discussed above, in a ubiquitous computing environment elements of the user interface can be distributed among several machines (req. ) or among different devices (req. ). Based on the separation of concerns that has been previously identified, De...
Depending on how much state is shared, the degree of coupling 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 c...
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 possible to provide awareness information in the ...
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 environment model can be used to give environmental awareness.
This section discusses the aspects of sharing the basic models. Before starting a detailed discussion, it has to be noted that "sharing" can be implemented in many different ways. In the case of collaborating devices with quite varying properties – e...
Sharing the Data Model: Collaborative Data Access
In order to access and work collaboratively with shared data (req. ), it is widely agreed that a shared model for documents reduces the complexity in dealing with distributed applications. While there are well-established models defining a shared dat...
Most popular toolkits and frameworks for computer-supported cooperative work provide some mechanism to manage a shared-object space. In toolkits with a centralized architecture [[Rendezvous-Demands]], the document is necessarily shared. Replicated (o...
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 straightforward access to data objects from diffe...
Sharing the Application Model: Workspace Awareness & Degree of Coupling
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 ...
By changing the state of the application model, the degree of coupling or other possible work modes can be controlled (req. ). Users working with the same application model can work tightly coupled with rich awareness information [[COAST-Model]]. Tig...
Again, the application 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...
Sharing the User Interface Model: Distributed & Coupled User Interfaces
If one user interacts with different devices at the same time (req. ), it is desirable that their user interfaces are coordinated. This is only possible, if the information about the currently used user interface elements is accessible to all involve...
In addition, some devices actually have several embedded computers (req. ). When a visual interaction area crosses the borders between displays that are physically placed next to each other, but connected to different machines, it is necessary that t...
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. Nevertheless, if the user interface is shared,...
Sharing the Environment Model: Environmental Awareness
When several people and devices physically share a common environment, it is obvious that applications that are used in such situations can benefit from a shared model of how their environment looks.
In ubiquitous computing environments, many different devices have attached sensors that allow detection of some aspects of the physical environment. By combining all available information and making it accessible to other applications, it is possible...
For a system such as Passage, a shared environment model – similar to a shared user interface model – offers possibilities for extensions. In fact, for the example extensions used to illustrate the benefits of a shared user interface model, a shared ...

t/sample.xml  view on Meta::CPAN

<para>In the following, these five models are presented in more detail, including their relationship to the previously identified requirements. Concrete examples of how these models have been applied are given afterwards.</para>
<para>Data Model: Information Objects</para>
<para>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 information dimension identified by [ :inline | [Ja...
<para>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, application models can be reused for different...
<para>The data model defines the classes and functionality of all objects that can be part of a document. According to an object-oriented view, data objects combine document state with methods to change the state. In the context of cooperative work (...
<para>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 hierarchy with additional connections define...
<para>Depending on the actual application, data objects are not restricted to represent what is classically seen as a “document”. In [[PlacelessDoc-Generality+Specificity]] a much broader view on documents is described. If, for instance, physical...
<para>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 ) supports the generic document elements provided by...
<para>Application Model: Application Behavior</para>
<para>Application models are used to describe all application aspects such as manipulation of data objects. As application models define the behavior of the application, they specify control objects as defined in [[Jacobson-OOSE]].</para>
<para>For a “text” 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.</para>
<para>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 application model, e.g., allows specifying ...
<para>To be able to use different application models for the same data model, the data model has to be unaware of any application model and represent document state only.</para>
<para>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 high...
<para>Using small application models turns out to foster a new conception of what is regarded as an application. The application model is seen as a description of additional semantics for a data model, instead of the conventional approach of seeing d...
<para>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...
<para>User-Interface Model: Interface Elements</para>
<para>As traditional operating and window management systems have been designed for use with a traditional desktop PC, the interface they offer has drawbacks when used with devices not having a mouse and keyboard or having different forms and sizes. ...
<para>Therefore, the user interface aspects have to be separated from information and behavior of applications. This is related to the interface dimension identified by [ :inline | [Jacobson-OOSE]]. However, the BEACH conceptual model further disting...
<para>In the case of the Passage system, the user interface is rather simple; it consists of the virtual part of the bridge. The virtual part of the bridge is displayed on a roomware component whenever a passenger is detected on the physical part of ...
<para>The user-interface model allows one to define alternative user-interface concepts suitable for different interaction devices (req. ). Multiple-computer devices (req. ) and multi-device interaction (req. ) make it necessary to have user interfac...
<para>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 device-independent.</para>
<para>Environment Model: Context Awareness</para>
<para>One major property of ubiquitous computing environments is the heterogeneity of the available devices. In order to provide a coherent user experience [[DisappearingUI-CoherenceScope]], the “system must have a deeper understanding of the physi...
<para>Therefore, the environment model is the representation of relevant parts of the “real” world. On one hand, this includes a description of which devices are used, how they are configured, and which capabilities they have. This is the direct ...
<para>In addition, other aspects can be included if they can influence the behavior of the software. Necessarily, it has to be possible to measure their relevant properties with sensors. Depending on detected changes in the physical environment, furt...

t/sample.xml  view on Meta::CPAN

<para>As discussed above, in a ubiquitous computing environment elements of the user interface can be distributed among several machines (req. ) or among different devices (req. ). Based on the separation of concerns that has been previously identifi...
<para>Depending on how much state is shared, the degree of coupling 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 loo...
<para>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 possible to provide awareness information i...
<para>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 environment model can be used to give environmental awareness...
<para>This section discusses the aspects of sharing the basic models. Before starting a detailed discussion, it has to be noted that “sharing” can be implemented in many different ways. In the case of collaborating devices with quite varying prop...
<para>Sharing the Data Model: Collaborative Data Access</para>
<para>In order to access and work collaboratively with shared data (req. ), it is widely agreed that a shared model for documents reduces the complexity in dealing with distributed applications. While there are well-established models defining a shar...
<para>Most popular toolkits and frameworks for computer-supported cooperative work provide some mechanism to manage a shared-object space. In toolkits with a centralized architecture [[Rendezvous-Demands]], the document is necessarily shared. Replica...
<para>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 straightforward access to data objects from...
<para>Sharing the Application Model: Workspace Awareness &amp; Degree of Coupling</para>
<para>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 pr...
<para>By changing the state of the application model, the degree of coupling or other possible work modes can be controlled (req. ). Users working with the same application model can work tightly coupled with rich awareness information [[COAST-Model]...
<para>Again, the application 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 e...
<para>Sharing the User Interface Model: Distributed &amp; Coupled User Interfaces</para>
<para>If one user interacts with different devices at the same time (req. ), it is desirable that their user interfaces are coordinated. This is only possible, if the information about the currently used user interface elements is accessible to all i...
<para>In addition, some devices actually have several embedded computers (req. ). When a visual interaction area crosses the borders between displays that are physically placed next to each other, but connected to different machines, it is necessary ...
<para>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. Nevertheless, if the user interface is s...
<para>Sharing the Environment Model: Environmental Awareness</para>
<para>When several people and devices physically share a common environment, it is obvious that applications that are used in such situations can benefit from a shared model of how their environment looks.</para>
<para>In ubiquitous computing environments, many different devices have attached sensors that allow detection of some aspects of the physical environment. By combining all available information and making it accessible to other applications, it is po...
<para>For a system such as Passage, a shared environment model – similar to a shared user interface model – offers possibilities for extensions. In fact, for the example extensions used to illustrate the benefits of a shared user interface model,...



( run in 0.323 second using v1.01-cache-2.11-cpan-4d50c553e7e )