SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
Development and integration of an awareness applications manager into ASTRA




              Development and integration of an awareness
                   applications manager into ASTRA
                         Presentaci´n de Proyecto de Fin de Carrera
                                   o


                                          David Rozas Domingo


                                        Tutoras:
                    Soto Montalvo (Universidad Rey Juan Carlos)
                  Monica Divitini (Norges Teknisk-Naturvitenskapelige
                                      Universitet)
Development and integration of an awareness applications manager into ASTRA




       1 Introduction
       2 Objectives
       3 Methodology & involved technologies
              Methodology
              Involved technologies
       4    Design
              RepositoryManager
              TagManagerBackEnd
              TagManagerNode
              ApplicationManager
       5    Implementation
              Search engine
              Application adaptation & rules description creation
       6    Testing
              Search engine testing (similarity)
       7    Demonstration
       8    Coordination
       9    Conclusions & future work
Development and integration of an awareness applications manager into ASTRA
  Introduction




What is ASTRA? - The big picture

    ASTRA: Awareness Services and Systems -
    Towards Theory and Realization.
    Researching awareness systems and services
    that are used for social purposes.
    Computer-mediated communication systems
    that help individuals or groups build and
    maintain a peripheral awareness of each
    other.
    They offer low effort and non-intrusive
    communication.
    Organizations involved: CTI, Telenor,
    Philips, NTNU, etc.
Development and integration of an awareness applications manager into ASTRA
  Introduction




Some key concepts
                 ASTRA Application: transform the services provided by the
                 system into awareness applications. Two types:
                      Nimbus: to make available awareness information to other
                      users.
                      Focus: to decide what information we are interested in and in
                      which way we want to receive it.
Development and integration of an awareness applications manager into ASTRA
  Introduction




ASTRA applications example: video
Development and integration of an awareness applications manager into ASTRA
  Introduction




                 Idea: creation and integration of a system to manage the
                 mentioned awareness applications, including functionalities for
                 sharing, tagging, locating, appropriating and adapting them.
                 Taking into account the concerns about privacy in terms of
                 visibility.
Development and integration of an awareness applications manager into ASTRA
  Objectives




Objectives

               Create a main repository for applications, where the users can
               browse, share and retrieve them. Taking into account:
                      Flexible sharing process: choosing rules and communities.
                      Application adaptation during the retrieval process.
                      Changes needed as transparent as possible to the user
                      Add a mechanism to allow searching applications: by different
                      criteria (tags, description, type, etc.) and by recommendation
                      based on the similarity with respect to a local application.
               Create a system which allows the users to tag the
               applications. Taking into account different scopes:
                      Private tags.
                      Community tags.
                      Public tags.
Development and integration of an awareness applications manager into ASTRA
  Objectives




Objectives




               Create a GUI which allows the user to carry out these
               operations. Taking into account:
                      The GUI has to be connected with the rest of systems in a
                      loose coupling way.
                      It has to be intuitive.
                      It has to be extensible, so other systems can be connected to it
                      in the future.
Development and integration of an awareness applications manager into ASTRA
  Methodology & involved technologies
     Methodology


Methodology

              Agile software development methodology: iterative
              development, frequent inspection and adaptation,
              self-organization, etc.
              Following a spiral model.
              Fits properly with the researching nature of the project and
              the fact that new requirements arise continuously.

                   Iteration            Requirements                     Affected components
                          1    Share and retrieve applications    RepositoryManager & PHP EUT tools
                          2               Tagging                TagManagerNode & TagManagerBackEnd
                          3        Searching capabilities                 RepositoryManager,
                                   & tagging extensions          TagManagerNode & TagManagerBackEnd
                          4                 GUI                          ApplicationManager


                                   Table: Iterations during the project
Development and integration of an awareness applications manager into ASTRA
  Methodology & involved technologies
     Involved technologies


Involved technologies



              SOA: Service Oriented Architecture.
              Paradigm for organizing and utilizing distributed capabilities
              Resources on a network are made available as independent
              services that can be accessed without knowledge of their
              underlying platform implementation
              SOAP is a lightweight protocol for exchanging structured
              information in a decentralized, distributed environment. The
              implementation we have used is Apache Axis (open source).
Development and integration of an awareness applications manager into ASTRA
  Methodology & involved technologies
     Involved technologies


ASTRA SOA


              The backbone of ASTRA: the platform that offers all the
              services (awareness, ontologies, the ones developed for this
              project, . . . )
              They are grouped into two subsystems: ASTRA Node and
              ASTRA Backend (Client-Server model).
              Therefore it is important to distinguish between the local and
              remote nature connection when consuming other bundles
              services: limitations in the type of objects, problems with the
              network, etc.
Development and integration of an awareness applications manager into ASTRA
  Methodology & involved technologies
     Involved technologies




      ASTRA SOA bundles’ services used in this project:
              UserManager (Backend): Manage users, their profiles and
              their identities.
              CommunityManager (Backend): Connect virtual community
              representations in within which users can share awareness
              information.
              AwarenessManager (Nodes): Connection between low level
              user-system interaction and the high level concepts related to
              them (i.e.: rules engine kernel).
              AwarenessApplicationManager (Nodes): Store and
              manage local awareness applications.
Development and integration of an awareness applications manager into ASTRA
  Methodology & involved technologies
     Involved technologies




              OntologyManager (Nodes): Manage, look-up and extend
              ontologies. It is executed in the Nodes.
              PersistencyManager (Both): Storage functionalities.
              RemoteFrameworkManager (Both): Facilities to consume
              remote bundles services.
              EventsManager (Both): Communicate events between
              bundles.
Development and integration of an awareness applications manager into ASTRA
  Methodology & involved technologies
     Involved technologies


OSGi

              OSGi (Open Services Gateway initiative) is a flexible
              framework, which provides a standardized environment for
              service deployment and operation.
              The components (bundles) can be remotely installed, started,
              stopped, updated and uninstalled without requiring a reboot.
              It is a collaborative environment: bundles run in the same VM
              and can actually share code.
              It enforces a clean service oriented design approach for
              ASTRA, with a clear distinction between interfaces and
              implementation.
              We used OSGi-Knoplerfish implementation (BSD style
              license).
Development and integration of an awareness applications manager into ASTRA
  Methodology & involved technologies
     Involved technologies


Lucene



              Apache Lucene is an open source information retrieval library.
              It is just an indexing and search library, not an application.
              It allowed us to create a search engine integrated in one of the
              bundles to offer searching capabilities in it.
              It is open source, it has a great performance, it is
              cross-platform, easily to extend, etc.
Development and integration of an awareness applications manager into ASTRA
  Design




Design

      The functionality was divided into the following components
      (bundles):

    RepositoryManager: share, retrieve,
    store and search applications.
    TagManagerBackEnd: manage public
    and community tags.
    TagManagerNode: manage private
    tags.
    ApplicationManager: interaction
    with the user and connection with the
    proper bundles to satisfy his requests.
Development and integration of an awareness applications manager into ASTRA
  Design
     RepositoryManager


RepositoryManager


              One of the key pieces:
                      Offer services to share applications.
                      Offer services to retrieve applications.
                      Offer services to search applications by criteria (description,
                      tags, type or any)
                      Offer services to search applications by similarity (with respect
                      to a local application).
                      Storage of shared applications.
                      Functionalities to adapt the application.
                      etc.
              It is executed in the Backend.
Development and integration of an awareness applications manager into ASTRA
   Design
      RepositoryManager


Connection with other bundles:
     CommunityManager: retrieve
     information about relationship
     between users, communities &
     applications. Ex.: assure
     visibility.
     TagManagerBackEnd: analyze
     tags to create search engine
     index.
     EventsManager: keep track of
     events in TMBE. Ex.: search
     engine index updated
     dynamically.
     PersistencyManager: store
     data in the DB.
Development and integration of an awareness applications manager into ASTRA
  Design
     RepositoryManager
Development and integration of an awareness applications manager into ASTRA
  Design
     RepositoryManager



      Storage in DB:




      + a synchronized copy in local memory to increase retrieving
      operations performance (drawback: duplicated create/delete
      operations).
Development and integration of an awareness applications manager into ASTRA
  Design
     TagManagerBackEnd


TagManagerBackEnd




              Offer services to add and delete public and community tags.
              Offer services to retrieve those tags in different and flexible
              ways: by visibility, by communities, only public ones, etc.
              It is executed in the Backend.
Development and integration of an awareness applications manager into ASTRA
   Design
      TagManagerBackEnd




Connection with other bundles:
     CommunityManager: retrieve
     information about relationship
     between users, communities &
     tags. Ex.: assure visibility.
     EventsManager: give feedback
     of the events.
     PersistencyManager: store
     data in the DB.
Development and integration of an awareness applications manager into ASTRA
  Design
     TagManagerBackEnd
Development and integration of an awareness applications manager into ASTRA
  Design
     TagManagerNode


TagManagerNode




    Offer services to add and delete
    private tags.
    Offer services to retrieve those
    tags in different and flexible
    ways.
    It is executed in the Nodes.
Development and integration of an awareness applications manager into ASTRA
  Design
     ApplicationManager


ApplicationManager



              It is in charge of the interaction with the user by offering an
              intuitive GUI.
              Responsible of the connection with other ASTRA bundles
              services based on that interaction.
              It is executed in the Nodes.
              It is connected with bundles from both edges: Node and
              Backend.
Development and integration of an awareness applications manager into ASTRA
  Design
     ApplicationManager



      Connection with other bundles:
                Local bundles:
                      AwarenessApplicationManager: information about local
                      applications.
                      AwarenessManager: information about local rules.
                      TagManagerNode: to manage the private tags.
                      OntologyManager: to assist the user in the application
                      adaptation process using ontologies1 .
                Remote bundles:
                      UserManager: users authentication.
                      CommunityManager: information about the communities
                      joined by the user.
                      TagManagerBackend: to manage the public and community
                      tags.
                      RepositoryManager: to share and retrieve applications with
                      the rest of the users.

           1
               Future work.
Development and integration of an awareness applications manager into ASTRA
  Design
     ApplicationManager
Development and integration of an awareness applications manager into ASTRA
  Design
     ApplicationManager




       It implements a MVC
       (Model-View-Controller) pattern, which
       allows us to isolate the business logic from
       the user interface, permitting one to be
       freely modified without affecting the other.
       Some of the classes make use of a singleton
       pattern, that make the class itself
       responsible for keeping track of its sole
       instance, ensuring that no other instance can
       be created.
Development and integration of an awareness applications manager into ASTRA
  Design
     ApplicationManager

              Controller:
                      It is represented by the class
                      ApplicationManagerController (singleton).
                      Keep track of references to user interface components.
                      Provide a set of methods that other components can directly
                      call in their event handler.
              Model:
                      It is represented by the class ApplicationManagerModel
                      (singleton).
                      Manage the references to the rest of the bundles.
                      Work as an “stub container” to make use of the services
                      provided by those.
                      Take care of the session data, i.e.: the user identifier.
              View:
                      It is represented by several classes whose task consist of
                      presenting the information to the user.
                      Includes all the classes which represent the windows (i.e.:
                      MainWindow, LoginWindow, etc.) and all the classes that
                      extend some of the graphical components (i.e.:
                      TreeRenderer).
Development and integration of an awareness applications manager into ASTRA
  Implementation




Implementation




      Many interesting implementation details. . . but we will focus on
      two:
              Search engine implementation (Lucene).
              Application adaptation & rules description creation
              (XML/DOM).
Development and integration of an awareness applications manager into ASTRA
  Implementation
     Search engine


Search engine


      First of all, we need to implement the index:
           From Lucene concepts. . .
                      Document
                      Fields
              . . . to ASTRA concepts:
                      Astra Application
                      some Astra Application attributes (description,type, tags, etc.)
              Type of index: RAMDirectory, more efficient and no need of
              persistence.
Development and integration of an awareness applications manager into ASTRA
  Implementation
     Search engine




And we have to decide the way we perform
the queries:
     Querying by criteria is almost straight:

              Any = keywords in (description,
              type, tags, . . . )
              Description = keywords in
              (description)
              ...
       But in the “search by similarity” case,
       testing was needed. Finally:
              {Public + visible community tags}
              in (description, tags)
Development and integration of an awareness applications manager into ASTRA
  Implementation
     Application adaptation & rules description creation


Application adaptation & rules description creation



       Some are performed by the user:
       choosing rules, changing
       description, etc.
       Some are performed in a
       transparent way:
               It required more analysis.
               I.e.: Modify the ownership of
               the rules internally for certain
               nodes.
               Implemented using DOM.
Development and integration of an awareness applications manager into ASTRA
  Implementation
     Application adaptation & rules description creation


              A similar approach was taken to create a description of the
              rule based on the XML file that represents it.
              I.e.: creating a human readable description for a rule while
              analyzing recursively the tree.
Development and integration of an awareness applications manager into ASTRA
  Testing




Testing

      Testing in different levels:
              Functionalities verification (low and high level): visibility,
              network is down, extreme cases, etc.
              Different OS compatibility: GNU/Linux, Windows XP, etc.
              Preliminary users evaluation (iterations 1 & 2):
                      Performed at NTNU (Trondheim) in December 2008.
                      Users were very positive about the idea of sharing/getting
                      applications, about the notion of community, etc.
                      Very useful for adding new functionalities in iterations 3 & 4:
                      searching by criteria, searching by similarity, application
                      adaptation, etc.
              New user evaluation (including iterations 3 & 4) is scheduled
              in October 2009.
Development and integration of an awareness applications manager into ASTRA
  Testing
     Search engine testing (similarity)


Ex.: search engine testing (similarity)

               Set of 25 applications, with a description and a set of 4 tags
               for each of them.
               Divided into 5 groups: “Sport”, “Social”, “Feelings”,
               “Cultural” and “Location”.
               We assumed an application can only belong to one of this
               groups to make the measuring process simpler, but this
               introduces an error, since the way an application is
               categorized is subjective and not exclusive.
               We calculate precision and recall.


                precision = (Relevant docs/Total retrieved docs) ∗ 100
                  recall = (Relevant docs/Existing relevant docs) ∗ 100
Development and integration of an awareness applications manager into ASTRA
  Testing
     Search engine testing (similarity)




       Expected values:
                                                                  Group       RD    RDR   ERD   Precision   Recall
       p = 40%, r = 80%.                                         Sport         9     5     5    55.56%      100%
                                                                 Social       10     5     5     50%        100%
       Results were quite positive:                             Feelings      10     5     5     50%        100%
                                                                Cultural       7     4     5    57.14%       80%
       p = 52%, r = 96% . . . but this                          Location      10     5     5     50%        100%
       is based on artificial data.                               Average      9.2    5     5    52.54%      96%

       Useful to check design decisions
                                        Table: Summary of the results for
       point to the right way and to
                                        search by similarity evaluation
       set guidelines for October’s
       evaluation.
Development and integration of an awareness applications manager into ASTRA
  Demonstration




Demonstration
Development and integration of an awareness applications manager into ASTRA
  Coordination




Coordination
      The main mechanisms to coordinate with the rest of the teams
      were:
              F2F: F2F meetings with members of NTNU and Telenor
              teams during my stay in Trondheim (Norway) and with my
              supervisor in Madrid. It was the richest communication
              mechanism, and it was specially interesting for the
              requirements elicitation processes.
              Teleconferences: Weekly teleconference meetings with NTNU,
              Telenor and CTI members. Very useful mechanism to
              coordinate the work in team, to discuss the state of the
              project, to share ideas, etc.
              Wiki: Wiki website (http://www.astra-project.net/wiki) to
              coordinate the bundles development process and to create
              documentation.
Development and integration of an awareness applications manager into ASTRA
  Coordination




              Subversion: The project code is hosted in a SVN server at
              NTNU (http://basar.idi.ntnu.no/svn/astra/). Very useful to
              coordinate the development process, since it allows us to
              avoid and resolve possible code conflicts, and to have revisions
              for every code updating.
              E-mail: Useful to coordinate with all the members of the team
              in an asynchronous way. For instance, it has been used to
              report bugs.
Development and integration of an awareness applications manager into ASTRA
  Conclusions & future work




Conclusions & future work
              Achieved goals:
                      Successful development and integration of a set of bundles to
                      manage awareness applications into ASTRA, including
                      functionalities for sharing, tagging, locating, appropriating and
                      adapting the applications.
                      New GUI, which demonstrates the flexibility of ASTRA SOA.
                      Stressing its extensibility, so new functionalities can be easily
                      added.
              Future work:
                      Adjust searching by similarity parameters, once we have real
                      users data.
                      Use of ontologies for helping in the application adaptation
                      process, once OntologyManager services are implemented
                      (ApplicationManager is already prepared).
                      Extend the GUI: new browsing capabilities, join communities,
                      rules edition, etc.
Development and integration of an awareness applications manager into ASTRA
  Conclusions & future work




              Contribution & Personal evaluation:
                      I started my contribution to ASTRA as part of my summer job
                      for NTNU during the summer of 2008: iterations 1 & 2.
                      I resumed my collaboration with ASTRA project in February
                      2009, working from Madrid: iterations 3 & 4.
                      I came back to Norway to work in ASTRA during one month
                      and a half during the summer: very useful to elicit and
                      implement last requirements.
                      It has been a very enriching experience: opportunity of working
                      in a real researching project collaborating with teams from
                      several countries, in technological terms, etc.
Development and integration of an awareness applications manager into ASTRA
  Conclusions & future work

Weitere ähnliche Inhalte

Ähnlich wie Development and integration of an awareness applications manager into ASTRA

BasavarajPatil_Java_Agile_PM
BasavarajPatil_Java_Agile_PMBasavarajPatil_Java_Agile_PM
BasavarajPatil_Java_Agile_PM
Basavaraj Patil
 
RCAMM_IEEE_RAICS_2013_6745453
RCAMM_IEEE_RAICS_2013_6745453RCAMM_IEEE_RAICS_2013_6745453
RCAMM_IEEE_RAICS_2013_6745453
Shekhar Parkhi
 
The Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios EssayThe Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios Essay
Divya Watson
 
AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06
Jay van Zyl
 
ALIVE (Newsfromthefront 2010)
ALIVE (Newsfromthefront 2010)ALIVE (Newsfromthefront 2010)
ALIVE (Newsfromthefront 2010)
STI International
 

Ähnlich wie Development and integration of an awareness applications manager into ASTRA (20)

BasavarajPatil_Java_Agile_PM
BasavarajPatil_Java_Agile_PMBasavarajPatil_Java_Agile_PM
BasavarajPatil_Java_Agile_PM
 
Evaluvation of Applying Knowledge Management System Architecture in Software ...
Evaluvation of Applying Knowledge Management System Architecture in Software ...Evaluvation of Applying Knowledge Management System Architecture in Software ...
Evaluvation of Applying Knowledge Management System Architecture in Software ...
 
RCAMM_IEEE_RAICS_2013_6745453
RCAMM_IEEE_RAICS_2013_6745453RCAMM_IEEE_RAICS_2013_6745453
RCAMM_IEEE_RAICS_2013_6745453
 
robocity2013-jderobot
robocity2013-jderobotrobocity2013-jderobot
robocity2013-jderobot
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptx
 
Collaborative technologies
Collaborative technologiesCollaborative technologies
Collaborative technologies
 
81-T48
81-T4881-T48
81-T48
 
2nd ARCADIA project newsletter
2nd ARCADIA project newsletter2nd ARCADIA project newsletter
2nd ARCADIA project newsletter
 
Leveraging software-reuse-with-knowledge-management-in-software-development
Leveraging software-reuse-with-knowledge-management-in-software-developmentLeveraging software-reuse-with-knowledge-management-in-software-development
Leveraging software-reuse-with-knowledge-management-in-software-development
 
Internship Report
Internship ReportInternship Report
Internship Report
 
Software Architecture for Robotics
Software Architecture for RoboticsSoftware Architecture for Robotics
Software Architecture for Robotics
 
from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...
from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...
from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...
 
Accelerating Application Development in the Internet of Things using Model-dr...
Accelerating Application Development in the Internet of Things using Model-dr...Accelerating Application Development in the Internet of Things using Model-dr...
Accelerating Application Development in the Internet of Things using Model-dr...
 
10.1.1.107.2618
10.1.1.107.261810.1.1.107.2618
10.1.1.107.2618
 
The Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios EssayThe Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios Essay
 
AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06
 
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
 
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
 
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
 
ALIVE (Newsfromthefront 2010)
ALIVE (Newsfromthefront 2010)ALIVE (Newsfromthefront 2010)
ALIVE (Newsfromthefront 2010)
 

Mehr von David Rozas

Mehr von David Rozas (20)

When Ostrom Meets Blockchain: Exploring the Potentials of Blockchain for Com...
 When Ostrom Meets Blockchain: Exploring the Potentials of Blockchain for Com... When Ostrom Meets Blockchain: Exploring the Potentials of Blockchain for Com...
When Ostrom Meets Blockchain: Exploring the Potentials of Blockchain for Com...
 
When Ostrom Meets Blockchain: Exploring the Potentials of Blockchain for Comm...
When Ostrom Meets Blockchain: Exploring the Potentials of Blockchain for Comm...When Ostrom Meets Blockchain: Exploring the Potentials of Blockchain for Comm...
When Ostrom Meets Blockchain: Exploring the Potentials of Blockchain for Comm...
 
Cuando Ostrom se encuentra con blockchain: explorando las potencialidades de ...
Cuando Ostrom se encuentra con blockchain: explorando las potencialidades de ...Cuando Ostrom se encuentra con blockchain: explorando las potencialidades de ...
Cuando Ostrom se encuentra con blockchain: explorando las potencialidades de ...
 
When Ostrom Meets Blockchain: Exploring the Potentials of Blockchain for Comm...
When Ostrom Meets Blockchain: Exploring the Potentials of Blockchain for Comm...When Ostrom Meets Blockchain: Exploring the Potentials of Blockchain for Comm...
When Ostrom Meets Blockchain: Exploring the Potentials of Blockchain for Comm...
 
Ostrom’s crypto-principles? Towards a commons-based approach for the use of B...
Ostrom’s crypto-principles? Towards a commons-based approach for the use of B...Ostrom’s crypto-principles? Towards a commons-based approach for the use of B...
Ostrom’s crypto-principles? Towards a commons-based approach for the use of B...
 
Self-organisation in Commons-Based Peer Production. Drupal: “the drop is alwa...
Self-organisation in Commons-Based Peer Production. Drupal: “the drop is alwa...Self-organisation in Commons-Based Peer Production. Drupal: “the drop is alwa...
Self-organisation in Commons-Based Peer Production. Drupal: “the drop is alwa...
 
Self-organisation in Commons-Based Peer Production. Drupal: “the drop is alwa...
Self-organisation in Commons-Based Peer Production. Drupal: “the drop is alwa...Self-organisation in Commons-Based Peer Production. Drupal: “the drop is alwa...
Self-organisation in Commons-Based Peer Production. Drupal: “the drop is alwa...
 
Drupal: the drop is always moving. Autogestión y gobernanza de infraestructur...
Drupal: the drop is always moving. Autogestión y gobernanza de infraestructur...Drupal: the drop is always moving. Autogestión y gobernanza de infraestructur...
Drupal: the drop is always moving. Autogestión y gobernanza de infraestructur...
 
Drupal: "come for the software, stay for the community". Conociendo la comunidad
Drupal: "come for the software, stay for the community". Conociendo la comunidadDrupal: "come for the software, stay for the community". Conociendo la comunidad
Drupal: "come for the software, stay for the community". Conociendo la comunidad
 
Talk is silver, code is gold? Contribution beyond source code in Free/Libre O...
Talk is silver, code is gold? Contribution beyond source code in Free/Libre O...Talk is silver, code is gold? Contribution beyond source code in Free/Libre O...
Talk is silver, code is gold? Contribution beyond source code in Free/Libre O...
 
Quantitative Methods II (#SOC2031). Seminar #11: Secondary analysis. Big data...
Quantitative Methods II (#SOC2031). Seminar #11: Secondary analysis. Big data...Quantitative Methods II (#SOC2031). Seminar #11: Secondary analysis. Big data...
Quantitative Methods II (#SOC2031). Seminar #11: Secondary analysis. Big data...
 
Talk is silver, code is gold? Contribution beyond source code in Free/Libre O...
Talk is silver, code is gold? Contribution beyond source code in Free/Libre O...Talk is silver, code is gold? Contribution beyond source code in Free/Libre O...
Talk is silver, code is gold? Contribution beyond source code in Free/Libre O...
 
Talk is silver, code is gold? Contribution beyond source code in Free/Libre O...
Talk is silver, code is gold? Contribution beyond source code in Free/Libre O...Talk is silver, code is gold? Contribution beyond source code in Free/Libre O...
Talk is silver, code is gold? Contribution beyond source code in Free/Libre O...
 
Lightning talk - Affective labour and the notion of contribution in FLOSS com...
Lightning talk - Affective labour and the notion of contribution in FLOSS com...Lightning talk - Affective labour and the notion of contribution in FLOSS com...
Lightning talk - Affective labour and the notion of contribution in FLOSS com...
 
Directori català de l’economia col·laborativa
Directori català de l’economia col·laborativaDirectori català de l’economia col·laborativa
Directori català de l’economia col·laborativa
 
Survey Research (SOC2029). Seminar 10: non-response and missing data
Survey Research (SOC2029). Seminar 10: non-response and missing dataSurvey Research (SOC2029). Seminar 10: non-response and missing data
Survey Research (SOC2029). Seminar 10: non-response and missing data
 
Survey Research (SOC2029). Seminar 9: designing a self-completion questionnaire
Survey Research (SOC2029). Seminar 9: designing a self-completion questionnaireSurvey Research (SOC2029). Seminar 9: designing a self-completion questionnaire
Survey Research (SOC2029). Seminar 9: designing a self-completion questionnaire
 
Survey Research (SOC2029). Seminar 8: formulating a research question
Survey Research (SOC2029). Seminar 8: formulating a research questionSurvey Research (SOC2029). Seminar 8: formulating a research question
Survey Research (SOC2029). Seminar 8: formulating a research question
 
Survey Research (SOC2029). Seminar 7: ethics in survey research
Survey Research (SOC2029). Seminar 7: ethics in survey researchSurvey Research (SOC2029). Seminar 7: ethics in survey research
Survey Research (SOC2029). Seminar 7: ethics in survey research
 
Survey Research (SOC2029). Seminar 6: questionnaire design (II)
Survey Research (SOC2029). Seminar 6: questionnaire design (II) Survey Research (SOC2029). Seminar 6: questionnaire design (II)
Survey Research (SOC2029). Seminar 6: questionnaire design (II)
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Kürzlich hochgeladen (20)

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

Development and integration of an awareness applications manager into ASTRA

  • 1. Development and integration of an awareness applications manager into ASTRA Development and integration of an awareness applications manager into ASTRA Presentaci´n de Proyecto de Fin de Carrera o David Rozas Domingo Tutoras: Soto Montalvo (Universidad Rey Juan Carlos) Monica Divitini (Norges Teknisk-Naturvitenskapelige Universitet)
  • 2. Development and integration of an awareness applications manager into ASTRA 1 Introduction 2 Objectives 3 Methodology & involved technologies Methodology Involved technologies 4 Design RepositoryManager TagManagerBackEnd TagManagerNode ApplicationManager 5 Implementation Search engine Application adaptation & rules description creation 6 Testing Search engine testing (similarity) 7 Demonstration 8 Coordination 9 Conclusions & future work
  • 3. Development and integration of an awareness applications manager into ASTRA Introduction What is ASTRA? - The big picture ASTRA: Awareness Services and Systems - Towards Theory and Realization. Researching awareness systems and services that are used for social purposes. Computer-mediated communication systems that help individuals or groups build and maintain a peripheral awareness of each other. They offer low effort and non-intrusive communication. Organizations involved: CTI, Telenor, Philips, NTNU, etc.
  • 4. Development and integration of an awareness applications manager into ASTRA Introduction Some key concepts ASTRA Application: transform the services provided by the system into awareness applications. Two types: Nimbus: to make available awareness information to other users. Focus: to decide what information we are interested in and in which way we want to receive it.
  • 5. Development and integration of an awareness applications manager into ASTRA Introduction ASTRA applications example: video
  • 6. Development and integration of an awareness applications manager into ASTRA Introduction Idea: creation and integration of a system to manage the mentioned awareness applications, including functionalities for sharing, tagging, locating, appropriating and adapting them. Taking into account the concerns about privacy in terms of visibility.
  • 7. Development and integration of an awareness applications manager into ASTRA Objectives Objectives Create a main repository for applications, where the users can browse, share and retrieve them. Taking into account: Flexible sharing process: choosing rules and communities. Application adaptation during the retrieval process. Changes needed as transparent as possible to the user Add a mechanism to allow searching applications: by different criteria (tags, description, type, etc.) and by recommendation based on the similarity with respect to a local application. Create a system which allows the users to tag the applications. Taking into account different scopes: Private tags. Community tags. Public tags.
  • 8. Development and integration of an awareness applications manager into ASTRA Objectives Objectives Create a GUI which allows the user to carry out these operations. Taking into account: The GUI has to be connected with the rest of systems in a loose coupling way. It has to be intuitive. It has to be extensible, so other systems can be connected to it in the future.
  • 9. Development and integration of an awareness applications manager into ASTRA Methodology & involved technologies Methodology Methodology Agile software development methodology: iterative development, frequent inspection and adaptation, self-organization, etc. Following a spiral model. Fits properly with the researching nature of the project and the fact that new requirements arise continuously. Iteration Requirements Affected components 1 Share and retrieve applications RepositoryManager & PHP EUT tools 2 Tagging TagManagerNode & TagManagerBackEnd 3 Searching capabilities RepositoryManager, & tagging extensions TagManagerNode & TagManagerBackEnd 4 GUI ApplicationManager Table: Iterations during the project
  • 10. Development and integration of an awareness applications manager into ASTRA Methodology & involved technologies Involved technologies Involved technologies SOA: Service Oriented Architecture. Paradigm for organizing and utilizing distributed capabilities Resources on a network are made available as independent services that can be accessed without knowledge of their underlying platform implementation SOAP is a lightweight protocol for exchanging structured information in a decentralized, distributed environment. The implementation we have used is Apache Axis (open source).
  • 11. Development and integration of an awareness applications manager into ASTRA Methodology & involved technologies Involved technologies ASTRA SOA The backbone of ASTRA: the platform that offers all the services (awareness, ontologies, the ones developed for this project, . . . ) They are grouped into two subsystems: ASTRA Node and ASTRA Backend (Client-Server model). Therefore it is important to distinguish between the local and remote nature connection when consuming other bundles services: limitations in the type of objects, problems with the network, etc.
  • 12. Development and integration of an awareness applications manager into ASTRA Methodology & involved technologies Involved technologies ASTRA SOA bundles’ services used in this project: UserManager (Backend): Manage users, their profiles and their identities. CommunityManager (Backend): Connect virtual community representations in within which users can share awareness information. AwarenessManager (Nodes): Connection between low level user-system interaction and the high level concepts related to them (i.e.: rules engine kernel). AwarenessApplicationManager (Nodes): Store and manage local awareness applications.
  • 13. Development and integration of an awareness applications manager into ASTRA Methodology & involved technologies Involved technologies OntologyManager (Nodes): Manage, look-up and extend ontologies. It is executed in the Nodes. PersistencyManager (Both): Storage functionalities. RemoteFrameworkManager (Both): Facilities to consume remote bundles services. EventsManager (Both): Communicate events between bundles.
  • 14. Development and integration of an awareness applications manager into ASTRA Methodology & involved technologies Involved technologies OSGi OSGi (Open Services Gateway initiative) is a flexible framework, which provides a standardized environment for service deployment and operation. The components (bundles) can be remotely installed, started, stopped, updated and uninstalled without requiring a reboot. It is a collaborative environment: bundles run in the same VM and can actually share code. It enforces a clean service oriented design approach for ASTRA, with a clear distinction between interfaces and implementation. We used OSGi-Knoplerfish implementation (BSD style license).
  • 15. Development and integration of an awareness applications manager into ASTRA Methodology & involved technologies Involved technologies Lucene Apache Lucene is an open source information retrieval library. It is just an indexing and search library, not an application. It allowed us to create a search engine integrated in one of the bundles to offer searching capabilities in it. It is open source, it has a great performance, it is cross-platform, easily to extend, etc.
  • 16. Development and integration of an awareness applications manager into ASTRA Design Design The functionality was divided into the following components (bundles): RepositoryManager: share, retrieve, store and search applications. TagManagerBackEnd: manage public and community tags. TagManagerNode: manage private tags. ApplicationManager: interaction with the user and connection with the proper bundles to satisfy his requests.
  • 17. Development and integration of an awareness applications manager into ASTRA Design RepositoryManager RepositoryManager One of the key pieces: Offer services to share applications. Offer services to retrieve applications. Offer services to search applications by criteria (description, tags, type or any) Offer services to search applications by similarity (with respect to a local application). Storage of shared applications. Functionalities to adapt the application. etc. It is executed in the Backend.
  • 18. Development and integration of an awareness applications manager into ASTRA Design RepositoryManager Connection with other bundles: CommunityManager: retrieve information about relationship between users, communities & applications. Ex.: assure visibility. TagManagerBackEnd: analyze tags to create search engine index. EventsManager: keep track of events in TMBE. Ex.: search engine index updated dynamically. PersistencyManager: store data in the DB.
  • 19. Development and integration of an awareness applications manager into ASTRA Design RepositoryManager
  • 20. Development and integration of an awareness applications manager into ASTRA Design RepositoryManager Storage in DB: + a synchronized copy in local memory to increase retrieving operations performance (drawback: duplicated create/delete operations).
  • 21. Development and integration of an awareness applications manager into ASTRA Design TagManagerBackEnd TagManagerBackEnd Offer services to add and delete public and community tags. Offer services to retrieve those tags in different and flexible ways: by visibility, by communities, only public ones, etc. It is executed in the Backend.
  • 22. Development and integration of an awareness applications manager into ASTRA Design TagManagerBackEnd Connection with other bundles: CommunityManager: retrieve information about relationship between users, communities & tags. Ex.: assure visibility. EventsManager: give feedback of the events. PersistencyManager: store data in the DB.
  • 23. Development and integration of an awareness applications manager into ASTRA Design TagManagerBackEnd
  • 24. Development and integration of an awareness applications manager into ASTRA Design TagManagerNode TagManagerNode Offer services to add and delete private tags. Offer services to retrieve those tags in different and flexible ways. It is executed in the Nodes.
  • 25. Development and integration of an awareness applications manager into ASTRA Design ApplicationManager ApplicationManager It is in charge of the interaction with the user by offering an intuitive GUI. Responsible of the connection with other ASTRA bundles services based on that interaction. It is executed in the Nodes. It is connected with bundles from both edges: Node and Backend.
  • 26. Development and integration of an awareness applications manager into ASTRA Design ApplicationManager Connection with other bundles: Local bundles: AwarenessApplicationManager: information about local applications. AwarenessManager: information about local rules. TagManagerNode: to manage the private tags. OntologyManager: to assist the user in the application adaptation process using ontologies1 . Remote bundles: UserManager: users authentication. CommunityManager: information about the communities joined by the user. TagManagerBackend: to manage the public and community tags. RepositoryManager: to share and retrieve applications with the rest of the users. 1 Future work.
  • 27. Development and integration of an awareness applications manager into ASTRA Design ApplicationManager
  • 28. Development and integration of an awareness applications manager into ASTRA Design ApplicationManager It implements a MVC (Model-View-Controller) pattern, which allows us to isolate the business logic from the user interface, permitting one to be freely modified without affecting the other. Some of the classes make use of a singleton pattern, that make the class itself responsible for keeping track of its sole instance, ensuring that no other instance can be created.
  • 29. Development and integration of an awareness applications manager into ASTRA Design ApplicationManager Controller: It is represented by the class ApplicationManagerController (singleton). Keep track of references to user interface components. Provide a set of methods that other components can directly call in their event handler. Model: It is represented by the class ApplicationManagerModel (singleton). Manage the references to the rest of the bundles. Work as an “stub container” to make use of the services provided by those. Take care of the session data, i.e.: the user identifier. View: It is represented by several classes whose task consist of presenting the information to the user. Includes all the classes which represent the windows (i.e.: MainWindow, LoginWindow, etc.) and all the classes that extend some of the graphical components (i.e.: TreeRenderer).
  • 30. Development and integration of an awareness applications manager into ASTRA Implementation Implementation Many interesting implementation details. . . but we will focus on two: Search engine implementation (Lucene). Application adaptation & rules description creation (XML/DOM).
  • 31. Development and integration of an awareness applications manager into ASTRA Implementation Search engine Search engine First of all, we need to implement the index: From Lucene concepts. . . Document Fields . . . to ASTRA concepts: Astra Application some Astra Application attributes (description,type, tags, etc.) Type of index: RAMDirectory, more efficient and no need of persistence.
  • 32. Development and integration of an awareness applications manager into ASTRA Implementation Search engine And we have to decide the way we perform the queries: Querying by criteria is almost straight: Any = keywords in (description, type, tags, . . . ) Description = keywords in (description) ... But in the “search by similarity” case, testing was needed. Finally: {Public + visible community tags} in (description, tags)
  • 33. Development and integration of an awareness applications manager into ASTRA Implementation Application adaptation & rules description creation Application adaptation & rules description creation Some are performed by the user: choosing rules, changing description, etc. Some are performed in a transparent way: It required more analysis. I.e.: Modify the ownership of the rules internally for certain nodes. Implemented using DOM.
  • 34. Development and integration of an awareness applications manager into ASTRA Implementation Application adaptation & rules description creation A similar approach was taken to create a description of the rule based on the XML file that represents it. I.e.: creating a human readable description for a rule while analyzing recursively the tree.
  • 35. Development and integration of an awareness applications manager into ASTRA Testing Testing Testing in different levels: Functionalities verification (low and high level): visibility, network is down, extreme cases, etc. Different OS compatibility: GNU/Linux, Windows XP, etc. Preliminary users evaluation (iterations 1 & 2): Performed at NTNU (Trondheim) in December 2008. Users were very positive about the idea of sharing/getting applications, about the notion of community, etc. Very useful for adding new functionalities in iterations 3 & 4: searching by criteria, searching by similarity, application adaptation, etc. New user evaluation (including iterations 3 & 4) is scheduled in October 2009.
  • 36. Development and integration of an awareness applications manager into ASTRA Testing Search engine testing (similarity) Ex.: search engine testing (similarity) Set of 25 applications, with a description and a set of 4 tags for each of them. Divided into 5 groups: “Sport”, “Social”, “Feelings”, “Cultural” and “Location”. We assumed an application can only belong to one of this groups to make the measuring process simpler, but this introduces an error, since the way an application is categorized is subjective and not exclusive. We calculate precision and recall. precision = (Relevant docs/Total retrieved docs) ∗ 100 recall = (Relevant docs/Existing relevant docs) ∗ 100
  • 37. Development and integration of an awareness applications manager into ASTRA Testing Search engine testing (similarity) Expected values: Group RD RDR ERD Precision Recall p = 40%, r = 80%. Sport 9 5 5 55.56% 100% Social 10 5 5 50% 100% Results were quite positive: Feelings 10 5 5 50% 100% Cultural 7 4 5 57.14% 80% p = 52%, r = 96% . . . but this Location 10 5 5 50% 100% is based on artificial data. Average 9.2 5 5 52.54% 96% Useful to check design decisions Table: Summary of the results for point to the right way and to search by similarity evaluation set guidelines for October’s evaluation.
  • 38. Development and integration of an awareness applications manager into ASTRA Demonstration Demonstration
  • 39. Development and integration of an awareness applications manager into ASTRA Coordination Coordination The main mechanisms to coordinate with the rest of the teams were: F2F: F2F meetings with members of NTNU and Telenor teams during my stay in Trondheim (Norway) and with my supervisor in Madrid. It was the richest communication mechanism, and it was specially interesting for the requirements elicitation processes. Teleconferences: Weekly teleconference meetings with NTNU, Telenor and CTI members. Very useful mechanism to coordinate the work in team, to discuss the state of the project, to share ideas, etc. Wiki: Wiki website (http://www.astra-project.net/wiki) to coordinate the bundles development process and to create documentation.
  • 40. Development and integration of an awareness applications manager into ASTRA Coordination Subversion: The project code is hosted in a SVN server at NTNU (http://basar.idi.ntnu.no/svn/astra/). Very useful to coordinate the development process, since it allows us to avoid and resolve possible code conflicts, and to have revisions for every code updating. E-mail: Useful to coordinate with all the members of the team in an asynchronous way. For instance, it has been used to report bugs.
  • 41. Development and integration of an awareness applications manager into ASTRA Conclusions & future work Conclusions & future work Achieved goals: Successful development and integration of a set of bundles to manage awareness applications into ASTRA, including functionalities for sharing, tagging, locating, appropriating and adapting the applications. New GUI, which demonstrates the flexibility of ASTRA SOA. Stressing its extensibility, so new functionalities can be easily added. Future work: Adjust searching by similarity parameters, once we have real users data. Use of ontologies for helping in the application adaptation process, once OntologyManager services are implemented (ApplicationManager is already prepared). Extend the GUI: new browsing capabilities, join communities, rules edition, etc.
  • 42. Development and integration of an awareness applications manager into ASTRA Conclusions & future work Contribution & Personal evaluation: I started my contribution to ASTRA as part of my summer job for NTNU during the summer of 2008: iterations 1 & 2. I resumed my collaboration with ASTRA project in February 2009, working from Madrid: iterations 3 & 4. I came back to Norway to work in ASTRA during one month and a half during the summer: very useful to elicit and implement last requirements. It has been a very enriching experience: opportunity of working in a real researching project collaborating with teams from several countries, in technological terms, etc.
  • 43. Development and integration of an awareness applications manager into ASTRA Conclusions & future work