Title: Supporting End-User Tailoring: Component-Based Approaches
1Supporting End-User Tailoring Component-Based
Approaches
Markus Won and Volker Wulf Institut für
Angewandte Informationstechnologie der Fraunhofer
Gesellschaft (FhG-FIT) and ProSEC, University of
Bonn
2Institutional Setting (1)
- GMD-FIT (Since early 1990s)
- Adaptivity vs. Adaptability
- Researchers Reinhard Oppermann, Michael Paetau,
Helmut Simm, Marcus Specht, Markus Eisenhauer - Publication
- Oppermann, R. (ed.) Adaptive User Support
Ergonomic Design of Manually and Automatically
Adaptable Software, LEA, Hillsdale, NJ 1994 - New focus on adaptive and situation-aware
systems, especially in learning and mobility
3Institutional Setting (2)
- ProSEC at the University of Bonn (since 1994)
- Tailorability (of groupware)
- Researchers Helge Kahler, Volkmar Pipek, Oliver
Stiemerling, Gunnar Stevens, Markus Won, Volker
Wulf - Publications
- Volker Wulf Design of Tailorable Groupware
Habilitation Thesis, University of Hamburg 2000 - Helge Kahler Supporting Collaborative Tailoring,
PhD-Thesis at Roskilde University, Denmark, 2001 - Oliver Stiemerling Component-based
Tailorability, PhD-Thesis, University of Bonn
2000 - ...
- Organizational Rearrangements
- Fraunhofer FIT
- University of Siegen
- University of Bonn
4Tailorability
- Fields of application are differentiated and
dynamically changing - Current tasks
- Individual qualifications
- Collaborative context
- Tailorability is defined
- changing aspects of an applications
functionality - in a persistent way (by means of tailored
artefacts) - during the use of an application (at runtime)
- by users or local experts
- Technical flexibility beyond
- modifications of parameters
- (re-)programming
5Tailorability Research Challenges (1)
- Flexible Architecture
- Rule based architectures
- Component based architectures (simple and
compound components) - Appropriate Interfaces
- Vizualizing and manipulating tailored artefacts
2D and 3D Interfaces - Describing tailored artefacts Annotations,
attaching examples - Understanding tailored artefacts Exploration
Environments - Providing support for tailoring Integrity
checking - Accessing tailoring functions Direct Activation
6Tailorability Research Challenges (2)
- Collaborative Tailoring
- Technical infrastructure Shared repository
- Finding tailored artifacts Naming and
classifying - Localizing tailored artifacts Access rights and
views - Quality insurance of tailored artifacts
Identifying creators, (Collective) histories of
use
7Tailorability Flexible Architectures
- Rule based architectures
- Component based architectures
- Different tailoring modes
- Architecture
- Simple and Compound Components
8Component-Based Architectures
- Properties of components
- Independently developed parts of software
- Independently exchangeable
- Several components interact as one application or
system
9The FREEVOLVE Platform An architectural overview
(1)
List of Applications
10The FREEVOLVE Platform An architectural overview
(2)
Server
Client
Run-Time (Server)
Run-Time (Client)
Client
- Tailor one application on the Clients or the
Servers side - Client Direct impact
- Server Next start
- Save changes for next use
Run-Time (Client)
11Tailorability Appropriate Interfaces
- Vizualizing and manipulating tailored artefacts
2D and 3D Interfaces - Describing tailored artefacts Annotations,
attaching examples - Providing support for tailoring Integrity
checking - Understanding tailored artefacts Exploration
Environments - Accessing tailoring functions Direct Activation
12Manipulating Tailored Artifacts 2D-Environments
- Search Tool for Groupware as an example
- Tailoring mode very similar to the run-time mode
- Abstract (compound) components prevent form too
much complexity
run-time
Design
13 Manipulating Tailored Artifacts 3D-Environments
14Tailorability Appropriate Interfaces
- Vizualizing and manipulating tailored artifacts
2D and 3D Interfaces - Describing tailored artifacts Annotations,
attaching examples - Providing support for tailoring Integrity
checking - Understanding tailored artifacts Exploration
Environments - Accessing tailoring functions Direct Activation
15Integrity Checking Ease Learning and prevention
of failures
- Additional Information (in XML) to
- Components
- Component Sets
- Application templates
- Tests on
- Event Flows
- Is all that is needed produced and bound?
- Constraints
- Are there dependencies between components
parameters? - Possible Results
- Warnings
- Help Texts and Improving Suggestions
- Semi-automatic correction of failures (future
work)
16Integrity Checking Event Flow Integrity
Differentiation between required and optional
bindings
Taking into account the Transitivity of
Connections
- Some Events (Tokens) have to be created or used
(Producer vs. Consumer) - Transitivity of connections
- Typed components
- Tokens can be transformed (re-typing) within a
component - Token types can be orthogonally to the existing
class hierarchy  - Idea Petri-Net-based analysis
Petri-Net-based analysis
17Integrity Checking Dependent Parameters and
Application Templates
- Parameters can be directly or functionally
dependent (within one component as well as
between components) - Same Lookn Feel (c.f. Java Swing)
- Same input scale of serialized audio filter
- In single components this can be done by typing
(sub-typing) or in the source code (complex
dependencies) But - Changing constraints in changing domain contexts
(Special semantic of a standard component) - Explicit description eases tailoring and
understanding - Templates are
- Helpful if designing a special kind of
application - Partly pre-defined components and their
parameters - Existence of particular Components (Boolean
logic, according to class hierarchy) - Some connections are pre-defined
Constraints and Triggers
18FREEVOLVE The IntegrityTailoringClient
- Easily tailoring and support by interactive
integrity check - Different tailoring view modes (fully
synchronized) - Binding are visualized
- Properties of components or compound components
- Schematical WYSIWIG view of the client
application
19Tailorability Appropriate Interfaces
- Vizualizing and manipulating tailored artifacts
2D and 3D Interfaces - Describing tailored artifacts Annotations,
attaching examples - Providing support for tailoring Integrity
checking - Understanding tailored artifacts Exploration
Environments - Accessing tailoring functions Direct Activation
20Exploration Environments
21Direct Activation
22Collaborative Tailoring
- Technical infrastructure Shared repository
- Finding tailored artifacts Naming and
classifying - Localizing tailored artifacts Access rights and
views - Quality insurance of tailored artifacts
Identifying creators, (Collective) histories of
use
23Naming and classifyingtailored artifacts
- Problems in a field study
- names of the elementary components hardly
indicated their meaning - appropriate components difficult to identify
- Design Approach
- more meaningful names for the elementary
components - additional icons vizualizing elementary
components in the menu - classification schemes for elementary and
compound components - Experiences from the field test
- hierarchy of the elementary components difficult
to understand - lacking naming conventions for compound
components - requirements for context specific display of
components
24Quality insurance Identifying creators
25Conclusion and Future Work
- FreEvolve Platform for component-based
tailorability - Platform Research prototype
- Applications Search tool, access control, chat
tool, ... - Research challenges
- Decomposition into understandable components
- Handling of complex compositions
- Consistency of distributed tailoing activities
- ...
- Development of new applications with industry
(research)
26End User Development
- End User Development
- Kick off Network of Excellence
- Examples for adaptive situation-aware systems
- CRUMPET
- SAiMotion
27Crumpet
- CRUMPET
- CReation of User-friendly Mobile services
PErsonalised for Tourism
28CRUMPET Consortium
- Queen Mary University of London, UK (CO),
- Emorphia Ltd (Nortel Networks), UK
- European Media Lab, Germany
- Fraunhofer FIT Inst. for Applied Information
Technology, Germany - PTIN, Portugal
- Sonera Ltd, Finland
- University of Helsinki, Finland
- CRUMPET is an EU-funded IST 5th framework project
- Timeframe 1. Oct 2000 30. Sept 2002 2 months
29Idea adaptive, nomadic information system for
tourism
- CRUMPET has two main objectives
- To implement and trial tourism-related
value-added services for nomadic users across
mobile and fixed networks - To evaluate agent technology in terms of
user-acceptability, performance and
best-practice as a suitable approach for fast
creation of robust, scalable, seamlessly
accessible nomadic services
30Combined technologies
31Vision
- Trustworthy and ambient agencies for user's
world-wide, wireless access to local services - Personalised support for mobile users
- Location-aware support
- Exploitation of heterogeneous legacy services,
which - cover a wide range of locations,
- supply a wide range of supplementary,
complementary, or even competitive services, - may differ in service features and qualities.
32SAiMotion
- Situation Awareness in Motion
- next generation of mobile information guide system
33Partners in SAiMotion
- Fraunhofer FIT, Sankt Augustin (Coordination)
- Fraunhofer IGD, Rostock
- Fraunhofer IAO, Stuttgart
- Fraunhofer IZM, Berlin
- Fraunhofer IIS, Erlangen
- Fraunhofer IPSI, Darmstadt
- SAiMotion is a BMBF project
- Timeframe 1. April 2001 31. March 2004
34Idea adaptive, nomadic information system for
events (conference, fair...)
35SAiMotion-system
- general support for visitors
- quick overview
- proactive information presentation
- individual tours
- references on exhibits/ exhibitors of personal
interest
36Example of an interactive, annotated exhibition
center
37Example Informations on the mobile device
38Example Maps on the mobile device
39Performance features situation-adapted services
40Situation awareness and Context
- Context modeling is useful to reduce information
overload and to adapt content and interaction - What should be taken into account?
- Limitation of the system (boundaries of context
(Lieberman Selker 2002) / purpose of system) - Metaphor
- Location
- Task
- Social situation
- Physical environment
- History (of interaction/ of tasks/ knowledge)
- User and system adapt to each other to share a
common context