Collaborative Virtual Environment Development an Aspect-Oriented Approach

download Collaborative Virtual Environment Development an Aspect-Oriented Approach

of 6

  • date post

    06-Apr-2018
  • Category

    Documents

  • view

    224
  • download

    0

Embed Size (px)

Transcript of Collaborative Virtual Environment Development an Aspect-Oriented Approach

  • 8/3/2019 Collaborative Virtual Environment Development an Aspect-Oriented Approach

    1/6

    Collaborative Virtual Environment Development: An Aspect-OrientedApproach *

    M. Pinto,M. Amor, L. Fuentes, J.M. TroyaDpto. de Lenguajes y Ciencias de la C omputacidn, Universidad de MalagaCampus de Teatinos, s/n. cp . 29071 Malaga (SPAIN)email:(pinto,pinilla,lBtroya)@lcc.uma.es

    AbstractNow aday s the interest in collab orative environments has

    increased considerably, proba bly due t o the current techno-logical advances specially on Internet computing. H owevel;the lack of a standard reference architecture fo r the deve l-opm ent of these systems m akes difJicult the developm ent ofuseful collaborative environments that can be used in realwork . Our goal is the development of a framework fo r theconstruction of collabor ative virtual environments. We con-sider that aspect-oriented programming is very suitable forboth the design and implementation of these systems, thenwe present in this pa per an aspect-oriented approach fo rthe development of collaborative virtual environments.

    1. IntroductionCurrent technological advances make possible the useof computers to collaborate and communicate with people

    who are geographically dispersed. Organizations want totake advantage of the possibilities offered by new tools liketextual chats, whiteboards, shared editors, and videocon-ferences, that allow distributed team members to work ingroup s, form ing virtual teams.In orde r to make possible the work of virtual team m em-

    bers without loss of efficiency and productivity, the systemmust offer a shared environment for the group and the ar-tifacts they use - individual tools, collaborative tools anddocumen ts of different types, where mem bers can com mu-nicate and collaborate with one another. The y need to inter-act with other team m embers using different medias - text,graphics, audio or video, and using different modes of com -munication - asynchronous or synchronous, unicast, broad-cast or multicast, scheduled or informal.

    "This research was funded in part by the ClCYT under grant TIC99-1083-CO2-01,and also by the telecommunication organization "FundacidnRetevisidn"

    0-7695-1080-9/01$10.00 0 001 IEEE

    The needs presented above have motivated great re-search [1 ] [131 [121 in the development of collaborativevirtual environments (CVE) in the last years. T he main ob-jective in the developm ent of these systems is to constructa secure, persistent and integrated shared environment thatprovides to the geographically dispersed users the aware-ness they need to communicate and collaborate as if theywere co-located in a real place. A nother important issue inthese systems are the users preferences. In order to be use-ful, the environment must be conjigurable, extensible, scal-able , adaptable and able to take into account the differentusers preferences and necessities.Object-Oriented (00)application frameworks [4] 5]provide an approach to build applications that are more ro-bust, more correct and with shorter development time thatthose built from scratch. A framework is a reusable designof all or part of a system that is represented by a se t of ab-stract classes and the w ay their instances interact [8]. Theprimary benefits of 00 application frameworks stem fromth e modularity, reusability, extensibility, an d inversion ofcontrol they provide to developers [3]. However, the de-velopment of a frame work and the subsequent instantiationor extension to build custom do main specific applications isnot a straightforward task and many times, the frameworkfails to provide the modularity needed to localize the im-pact of design and implementation changes. Th is decreasesframeworks reusability and extensibility. In addition, veryoften a mino r change in the functionality of the system canmean mayor changes in many components of the frame-work.The main com plexity in the development of a frameworkis the decomposition of the system functionality in com-ponents. Many system s have properties that do not nec-essarily align with the functional components of the sys-tem [ 2 ] . These properties normally are present across dif-ferent components of the system and are called aspects inthe Aspect-Oriented Programming (AOP) [9]. Example s ofaspects are synchronization, security, failure h andlin g,per -sistence, awa reness, authentication, resource m anagemen t,

    97

  • 8/3/2019 Collaborative Virtual Environment Development an Aspect-Oriented Approach

    2/6

    communication, an d coordination.Ou r goal is to use aspects to achieve separation of con-cerns in the development of CVE. We think that the com-plexity in the development of this kind of systems is in-creased due to the existence of a large number of aspectsthat cut across many components in the system, creatinginterdependences between them that make difficult the ex-tension and modification of these components. By usingAOP, components main functionality and aspects that arepresent in more that o ne com ponent are modeled separatelyresulting in mo re reusable, configurable and extensible sys-tems [ 11, promoting the instantiation of the environmentbased on the users needs and preferences.In this paper we try to identify some of the most char-acteristic aspects that cut across components in CV Es mak -ing the development of these systems mo re difficult. Ou rmain goal is the definition of an Aspect Oriented Frame-work that describes a common language for the develop-ment o f CV E sys tems that can be automatically instanti-ated based on the users needs and preferences. Using anaspect-oriented framework, the developer can focus on thedomain-specific issues and does not need to m anag e directlythe aspects that are present across the system functionality.We model components functionality and aspects as inde-pendent entities inside the framework that are compos ed byusing a composition mechanism that glue com ponents withaspects according t o the user profile of the service customer.2. Aspects in Collaborative Virtual Environ-

    mentsFirstly we are goin g to present which are the different as-pects that arise in CV Es. In order to identify these aspects,

    we mu st take into account those things that characterize as-pects:i. Aspects are moving targets. This m eans that differ-ent numbers of aspects can affect a variable numbe r

    of com ponents over time.ii. Aspects are quality facto rs in different com pone nts in asystem.iii. Aspects are goals an d purposes that the environmentmust achieve.iv. Aspects are processes or functions that cut across dif-

    ferent components.v. Aspects are enduring entities that remain stable over thetime.

    Likewise any other distributed system, some of the ba-sic issues of these systems like synchronization, commu-nication, coordination, security or failure handling can be

    modeled as aspects in CVE. In addition to these aspectswe have detected another ones that are more specific ofthese systems, like awareness, persistence an d authentica-tion. These are the aspects in which we are going to fo-cus in this paper. The se issues are present in some of themost w ell-known CV E, like DIVA 1131, TeamR ooms [ 111and TEAM Scope [141, but are hard-coded throughout com-ponents functionality, drastically decreasing the reusabilityand extensibility of th e environment.Regarding graphical representation we have found a ne waspect that we have called multiples views. In CVE systemsthe graphical representation is a very important issue to takeinto account in order to produ ce a more usable environmentfor human society. On e of our goals is to separate the graph-ical representation of a compone nt from its functionality,in a way that the system would be able to change dynami-cally or statically the graphical representation according t othe users preferences and resources, without changing thecomponents behavior. By this way, the CV E might be ableto offer different degrees of QoS even at runtime.

    Now we are going to present which are the reasons thatlead us to consider that awareness, persistence , authentica-tion an d multiples views can be m anaged like aspects in thedevelopment of CVEs. We are going to define each of theseaspects and the way they are m anaged in a CVE.

    1. Awareness: The provision of other members aware-ness is very important in a collaborative environment.There are different forms and levels of awareness. Itis very important to select carefully the informationtransmitted, because the system must provide aware-ness, but without invading the privacy of the senderor creating a disturbance for the receiver [7]. S o m eways of awareness are for instance, document updatesawareness. It is mandatory to assure the coherencyof the environment. Whe n a user works in a docu-ment, that user must know w hich are the last modifica-tions performed by other users, and perhaps some ex-tra information like the modification da te or the pagesmodified. However, other forms of awareness regard-ing privacy and accessibility could be configurable byeac h user. For instance, if a user wants to work inisolation without disturbance, he or she could decideno t to receive the awareness information about otherusers connections and disconnections, o r other usersactivities. Othe r exam ples of awareness informationarejo in ing or leaving the environment or what are youdoing for observational purposes. If we use aspectsto represent awareness, the configuration of the infor-mation that a specific user or artifact receives aboutthe rest of the environment is mo re straightforward be-cause is not hard-coded with the users or artifactscompone nts and can b e adde d, deleted or changed dy-namically at runtime.

    98

  • 8/3/2019 Collaborative Virtual Environment Development an Aspect-Oriented Approach

    3/6

    2. Persistence: Persisten ce is also