1 / 20

Supporting Heterogeneous Users in Collaborative Virtual Environments using AOP

Supporting Heterogeneous Users in Collaborative Virtual Environments using AOP. CoopIS 2001 September 5-7, 2001. Trento, Italy M. Pinto, M. Amor , L. Fuentes, J.M. Troya Dpto. de Lenguajes y Ciencias de la Computación E.T.S.I Informática, Universidad de Málaga. Objectives and Motivation.

sorcha
Download Presentation

Supporting Heterogeneous Users in Collaborative Virtual Environments using AOP

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. Supporting Heterogeneous Users in Collaborative Virtual Environments using AOP CoopIS 2001 September 5-7, 2001. Trento, Italy M. Pinto, M. Amor, L. Fuentes, J.M. Troya Dpto. de Lenguajes y Ciencias de la Computación E.T.S.I Informática, Universidad de Málaga

  2. Objectives and Motivation • Main Objective: How to develop user-configurable Collaborative Virtual Environments (CVE) using Aspect-Oriented Programming (AOP) • Motivation: The lack of a standard reference architecture • Goals in this paper: • Main CVE characteristics • Why we use AOP? • Relevant aspects in CVEs • Our proposal: An AO Virtual Environment Framework • Conclusions and Present/Future Work M. Pinto, M. Amor, L. Fuentes, J.M. Troya CoopIS 2001

  3. Collaborative Virtual Environments (CVE) CVE Development CVEs Characteristics: Complex application domain • Awareness: Knowledge about users and artifacts location • Persistence: Make the environment, resources and user configuration persistent. • Access Control: Check access permissions to the resources in the environment • Multiples Views: Different graphical representation • Users Preferences: Environment User specific configuration CVEs Requirements: • Collaboration with people who are geographically dispersed • Integrated Shared Environment • Different medias: text, graphics, audio, video • Different communication modes: asynchronous, synchronous, unicast, multicast, scheduled, casual CVEs Goals: • Construct a system highly configurable according to user preferences and resource restrictions. • High degree of reusability, extensibility, adaptability and scalability. • Short development time M. Pinto, M. Amor, L. Fuentes, J.M. Troya CoopIS 2001

  4. Collaborative Virtual Environments (II) CVE Development Software Technology? M. Pinto, M. Amor, L. Fuentes, J.M. Troya CoopIS 2001

  5. Aspect-Oriented Programming (AOP) Aspect-Oriented Software Technology Aspects complements the advantages of Component-Oriented Application Frameworks: • More robust, correct and with shorter development time applications • Provide high modularity, reusability, extensibility and inversion of control Aspects try to avoid some disadvantages of frameworks: • Sometimes the framework fails to provide the modularity needed to localize the impact of design and implementation changes, decreasing framework reusability and extensibility. • The main complexity in the development of a framework is the decomposition of the system functionality in components because some properties do not necessarily align with the functional components of the system. Aspects promotes: • Separation of concerns • Less interdependences between components and as a consequence easier extension and reusability. M. Pinto, M. Amor, L. Fuentes, J.M. Troya CoopIS 2001

  6. Aspect-Oriented Programming (II) Entities Component-Aspect Weaving Components: Basic functionality in the application domain Aspects: Properties that cut across different components • security • communication • coordination • awareness • authentication Static: Components and aspects are mixed in a intermingled code that is compiled and executed • Allow the use of specific aspect languages • Highly optimized woven code • Difficult to distinguish between aspects and components in the result code Dynamic: Components and aspects integration at runtime. • Use of general-purpose languages • System more adaptable and extensible • Dynamic composition overload M. Pinto, M. Amor, L. Fuentes, J.M. Troya CoopIS 2001

  7. Aspect-Oriented Programming (III) • Next Steps: • Aspects detection in CVEs Characteristics showed before (awareness, persistence, …) • Aspects and Component Composition • Our Proposal: An Aspect-Oriented Framework for the development of CVEs where components and aspects are composed dynamically at runtime through a middleware layer, with different configuration based-on a user profile M. Pinto, M. Amor, L. Fuentes, J.M. Troya CoopIS 2001

  8. Aspects in Collaborative Virtual Environments • CVEs are distributed systems Synchronization, Communication, Coordination, Security, Failure handling can be modeled as aspects Awareness, Persistence, Authentication, Multiples Views • CVEs specific aspects M. Pinto, M. Amor, L. Fuentes, J.M. Troya CoopIS 2001

  9. Aspects in Collaborative Virtual Environments (II) • Awareness: • User connections and disconnections • User state (available, busy, disconnected ...) • User location • Document modifications (who, when and how) • Document versions • Persistence: • Environment persistence • Changes in User Preferences • Authentication: • Checks logins into the environment • Rights to open a tool or a document • Rights to go into a room • Multiples Views: • 2D, 3D or Virtual Reality • Combination of colors Using aspects these properties are implemented outside components increasing their reusability and extensibility. In addition, using dynamic composition, aspects behavior can change dynamically at runtime and can be configured differently for each user. M. Pinto, M. Amor, L. Fuentes, J.M. Troya CoopIS 2001

  10. Aspects in Collaborative Virtual Environments (III) Example: Authentication Aspect Access Control without Aspects Access Control using Aspects M. Pinto, M. Amor, L. Fuentes, J.M. Troya CoopIS 2001

  11. Our Proposal: An AO Virtual Environment Framework Components do not know the aspects are affected by. Components and Aspects are first order independent entities CVE Framework(Aspects + Components) User Room invoke(user,room,enter,(login,passwd)) Aspects do not have explicit references to components M.View Both are implemented using the same general-purpose language (Java) eval(user,room,enter,(login,passwd)) Authent execute(user,room,enter,(login,passwd)) eval(user,room,enter,(login,passwd)) Glue mechanism: Dynamic Weaving at runtime (e.g. JAVA/RMI) execute(c1,c2,m,args){ if(output_aspects(c1,m) if(input_aspects(c2,m) invoke(c2,m,args); Middleware Layer VESite M. Pinto, M. Amor, L. Fuentes, J.M. Troya CoopIS 2001

  12. UserSite • Components’ configuration • Aspects’ configuration • User specific composition • Application Context The Virtual Environment Site • EnvironmentSite • Components • Aspects • Architectural Constraints M. Pinto, M. Amor, L. Fuentes, J.M. Troya CoopIS 2001

  13. Components & Aspects Composition Authentication: The user must have permissions to enter in the room Multiples Views: The room will offer different graphical representation depending on the user profile Awareness: The other members in the CVE must know that the user is in the room M. Pinto, M. Amor, L. Fuentes, J.M. Troya CoopIS 2001

  14. Components & Aspects Composition (II) Exit Aspect Awareness must be evaluated after the execution of enter() to notify that the user is in the room. Aspect Application Order Authentication may imply a different representation of the room depending on the user preferences  The Authentication aspect must be applied before the Multiples Views aspect. Entry Aspect Authentication must be evaluated before the execution of enter() to check if this user has access to the room. M. Pinto, M. Amor, L. Fuentes, J.M. Troya CoopIS 2001

  15. Architectural Description:Component Definition • Service defined with a Service Description Language (LDS) translation M. Pinto, M. Amor, L. Fuentes, J.M. Troya CoopIS 2001

  16. Architectural Description:Aspect Definition M. Pinto, M. Amor, L. Fuentes, J.M. Troya CoopIS 2001

  17. The UserSite Component The UserSite contains • CVE User preferences • Components & Aspects configuration values • CVE application context M. Pinto, M. Amor, L. Fuentes, J.M. Troya CoopIS 2001

  18. Architectural Description:Component-Aspect Composition Rules M. Pinto, M. Amor, L. Fuentes, J.M. Troya CoopIS 2001

  19. Conclusions • Our proposal is an approach about how we have applied theaspect-oriented paradigmto thedevelopment of CVEs. • We have seen some aspects specific of these systems:awareness, persistence, authentication andmultiples views, and how can be adapted to user preferences. • In this work we have focused in the mechanismtodynamically composecomponents & aspects. This mechanism allows the construction ofconfigurable, extensibleandadaptable CVEs. • Due to the compositional characteristics of the model, users can developpartially-instantiated environmentsbased on components and aspects, which could be dynamically instantiated at runtime, depending on user preferences. M. Pinto, M. Amor, L. Fuentes, J.M. Troya CoopIS 2001

  20. Present and Future Work • Complete the definition of the CVE Framework Architecture • Complete the implementation of the Middleware Layer • Definition of the architecture of the CVE framework • Definition of component, aspect and services description languages using XML • Implementation of a working prototype: a Virtual Office M. Pinto, M. Amor, L. Fuentes, J.M. Troya CoopIS 2001

More Related