1 / 28

Component-Based Tailorability - Concepts and Experiences

Component-Based Tailorability - Concepts and Experiences. Volker Wulf Fraunhofer Institute for Applied Information Technology (FhG-FIT) and University of Siegen Markus Won ProSEC, Institute for Computer Science III, University of Bonn. Overview. Tailorability

zellner
Download Presentation

Component-Based Tailorability - Concepts and Experiences

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Component-Based Tailorability - Concepts and Experiences Volker Wulf Fraunhofer Institute for Applied Information Technology (FhG-FIT) and University of Siegen Markus Won ProSEC, Institute for Computer Science III, University of Bonn

  2. Overview • Tailorability • FLEXIBEANS Component Model • The FREEVOLVE Tailoring Environment • Visual Tailoring Languages • Supporting Techniques • Integrity Checking • Exploration Environments • Direct Activation • Cooperative Tailoring

  3. Tailorability • Fields of application are differentiated and dynamically changing • Current tasks • Individual qualifications • Organizational context • Tailorability is defined • Changing aspects of an application‘s functionality • in a persistent way (by means of tailored artifacts) • during the use of an application (at runtime) • by users or local experts. • Technical flexibility beyond • Modifications of parameters • (Re-)programming

  4. Components in Software Engineering • Definition (according to C. Szyperski 2002, p. 41) “A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third parties.” • Important Features • Stateless • Independent of each other • Interaction via a well defined interface • Blackboxing of implementation details

  5. Overview • Tailorability • FLEXIBEANS Component Model • The FREEVOLVE Tailoring Environment • Visual Tailoring Languages • Supporting Techniques • Integrity Checking • Exploration Environments • Direct Activation • Cooperative Tailoring

  6. My App‘ My App‘ My App My App Changing Parameters Changing the set of components within a composition Changing the connections between components Adding new components to the existing set Re-programming a component‘s functionality Component-Based Architecture for Tailoring • Properties of component-based tailorability • Independently developed parts of software • Composition via graphical user interface • Component model to prevent mistaken compositions • Hierarchical structure: simple and compound components • Component-based tailoring

  7. The FLEXIBEANS Component Model • Starting point: JAVABEANS component model • Extensions • Named ports: Differentiation among connections of the same type • Shared objects: Extension of existing interaction techniques • Remote interaction: Allows for designing distributed applications • Composition Language • Selection of components and compound components • Bindings between components (=Composition) • Creation of compound components • Parameterization of Components

  8. Server Client CAT-File Names =Applications InstantiateComponents Run-Time (Server) Run-Time (Client) CAT-File = Plan for Application CAT-Files Component Repository Rdsdkj Sdds Sd gghgh Dsds Dsd Sdhjhjhjk hgh The FREEVOLVE Platform: An architectural overview (1) List of Applications

  9. The FREEVOLVE Platform: An architectural overview (2) Server Client • Tailor one application on the Client‘s or the Server‘s side • Client: Direct impact • Server: Next start • Save changes for next use Run-Time (Server) Run-Time (Client) Client Run-Time (Client)

  10. Overview • Tailorability • FLEXIBEANS Component Model • The FREEVOLVE Tailoring Environment • Visual Tailoring Languages • Supporting Techniques • Integrity Checking • Exploration Environments • Direct Activation • Cooperative Tailoring

  11. 2D Tailoring Environment (1) • Example: Search tool for groupware • Tailoring mode very similar to the run-time mode • Visible components: same place • Invisible components: presentation in 2 D screen space • Abstract (compound) components prevent from too much complexity • Problems in handling invisible components run-time Design

  12. 3D Tailoring Environment • „Doom-like“ navigation through the application • Third dimension • Invisible components • Distributed character • Projection of visible components • Problems (especially for inexperienced users) • High level of abstraction • 3D navigation

  13. 2D Tailoring Environment (2) • 2D handling • Multiple views: For different concerns • Synchronization between views • Problem: Multiple views enhance complexity Managing connections Nested composition and parameters Arranging visual components

  14. Overview • Tailorability • FLEXIBEANS Component Model • The FREEVOLVE Tailoring Environment • Visual Tailoring Languages • Supporting Techniques • Integrity Checking • Exploration Environments • Direct Activation • Cooperative Tailoring

  15. Integrity Checking: Prevention of Errors and Ease of Learning • Additional Information (in XML) for • Components • Set of Components • Groups of Applications • Check on • Event Flows • Are all needed events produced and bound? • Constraints • Are there dependencies between components’ parameters? • Possible Results • Warnings • Help Texts and Suggestions for Improvement • Semi-automatic correction of failures (future work)

  16. Producer Consumer Input Output must Integrity Checking: Event Flow Integrity Differentiation between required and optional bindings • 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 orthogonal to the existing class hierarchy   • Petri-Net-based analysis Taking intoaccount the Transitivity of Connections Petri-Net-based analysis

  17. Integrity Checking: Dependent Parameters and Application Templates • Parameters can be directly or functionally dependent (within one component as well as between components) • Same Look‘n 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 explicit descriptions • Allow for changing constraints in changing domain contexts • ease tailoring (the constraints) 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

  18. Integrity Checking: Using the Tailor Client • Easy tailoring and support by interactive integrity check • Visual pointers indicate violated constraints • Descriptions of failures (violated constraints) • Automatically generated recommendations • Semi-automatic correction of failures

  19. Overview • Tailorability • FLEXIBEANS Component Model • The FREEVOLVE Tailoring Environment • Visual Tailoring Languages • Supporting Techniques • Integrity Checking • Exploration Environments • Direct Activation • Cooperative Tailoring

  20. Exploration Environments • Motivation in distributed environments: • Tailoring actions may not be visible to the user • Changes may affect other users environment or work • Key concepts • Simulation of the system behavior • Switch between different users interfaces • Tailoring is done in a “save” environment • Simulation data helps to explore effects of tailoring Search tool in exploration mode

  21. Overview • Tailorability • FLEXIBEANS Component Model • The FREEVOLVE Tailoring Environment • Visual Tailoring Languages • Supporting Techniques • Integrity Checking • Exploration Environments • Direct Activation • Cooperative Tailoring

  22. Direct Activation • Problem • Users do not know about tailoring functions • Users do not find tailoring functions • Access point of the tailoring function should be related to the one of the function to be tailored  • Visual proximity: e.g.: in the same window • Consistent mode of activation: e.g.: by pressing <alt> t

  23. Overview • Tailorability • FLEXIBEANS Component Model • The FREEVOLVE Tailoring Environment • Visual Tailoring Languages • Supporting Techniques • Integrity Checking • Exploration Environments • Direct Activation • Cooperative Tailoring

  24. Cooperative Tailoring • Precondition: extractable code • Constraint: non-experienced programmers • Technical infrastructure to exchange tailored artifacts • Mailing function • Shared repositories • Designing shared repositories • Finding tailored artifacts: Naming and classifying • Localizing tailored artifacts: Access rights and views • Quality insurance of tailored artifacts: Identifying creators, (Collective) histories of use

  25. Naming 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 • Consistent metaphors • Additional icons visualizing elementary components in the menu • Classification schemes for elementary and compound components

  26. Describing Tailored Artifacts • Problems within the initial workshop • Naming and classifying not sufficient • Design Approach • hypertext-based help-menu for elementary components • annotation window for compound components • Annotation window • „creator“: has task-relation, hints to the quality, chance to contact, organizational recognition • „origin“: record of the tailoring history • „description“ and „remark“: often filled in, essential for understanding, but lacking conventions for the description

  27. Actors involved • FLEXIBEANS Component Model (Stiemerling) • The FREEVOLVE Tailoring Environment (Hinken, Stiemerling, Stevens, Won) • Visual Tailoring Languages (Hallenberger, Krüger, Won, Wulf) • Supporting Techniques • Integrity Checking (Won, Krings, Wulf) • Exploration Environments (Engelskirchen, Golombek, Wulf) • Direct Activation (Golombek, Wulf) • Cooperative Tailoring (Kahler, Engelskirchen, Höpfner, Wulf) • DeEvolve • P2P Extension of FREEVOLVE(Alda)

  28. Conclusion • FREEVOLVE: Distributed platform for component-based tailorability • Platform: Research prototype, available under GPL • Applications: search tool, access control, shared to-do-list, chat tool, … • Research challenges • Decomposition into „understandable“ components • Manipulation of complex compositions • Recommender for tailored artifacts • Peer-to-peer architecture • … • Development of new applications with industry

More Related