This document describes the development and integration of an awareness applications manager into the ASTRA system. The objectives are to create a repository for sharing and searching applications, a system for tagging applications with private, community, and public tags, and a graphical user interface. Key components include the RepositoryManager, TagManagerBackend, TagManagerNode, and ApplicationManager bundles. Technologies used include SOA, OSGi, and Lucene. Testing evaluated functionality, compatibility, and user experience through iterations.
The purpose of the Smarcos newsletter is to cover the
consortium activities around the project. The main objective of this first issue is to give a global view of the whole project.
The purpose of the Smarcos newsletter is to cover the
consortium activities around the project. The main objective of this first issue is to give a global view of the whole project.
Report about Software Architecture for Robotics, for class of Introduction to Robotics of Prof. Sukhan Lee, of department of computer engineering of Sungkyunkwan University.
Student: Lorran Pegoretti.
Suwon, South Korea, December 2013
from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...Data & Analytics Magazin
Have you ever heard of the language code DE? No, it's not a typo, it stands for "Dumb Errors". And let's be real, we've all had our fair share of dumb errors in our programming journey. But fear not, because with the art of object-oriented programming from analysis to design, we can learn to avoid those pesky errors. It's like taking a painting class and learning to mix colors before starting your masterpiece. You wouldn't just slap paint on a canvas and hope for the best, would you? So, let's take the same approach with coding and create beautiful, error-free programs with our newfound object-oriented skills. No more DE for us!
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMijfcstjournal
Component Based Software Engineering has one main sole motive of making the development process of
software systems as easy as possible and to achieve this objective work needs to be done in previous
systems to identify the concerns and limitations which can be overcome using this software engineering
based approach. In this paper to support concept of component based system a domain is chosen that
covers the GIS systems. GIS (Geographic Information Systems) are commonly used for development of map
based applications these systems are widely used across the web and in various organizations. With the
development and deepening of GIS, traditional GIS systems showed the challenges on isolation, sealing,
interoperability and the limitations, thereby hindering further development and application of GIS
technology. In this paper framework for component based GIS system is proposed. This framework is
having rich graphical interface and user data can be easily retrieved from the connected database and
displayed in the browser.
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMijfcstjournal
Component Based Software Engineering has one main sole motive of making the development process of
software systems as easy as possible and to achieve this objective work needs to be done in previous
systems to identify the concerns and limitations which can be overcome using this software engineering
based approach. In this paper to support concept of component based system a domain is chosen that
covers the GIS systems. GIS (Geographic Information Systems) are commonly used for development of map
based applications these systems are widely used across the web and in various organizations. With the
development and deepening of GIS, traditional GIS systems showed the challenges on isolation, sealing,
interoperability and the limitations, thereby hindering further development and application of GIS
technology. In this paper framework for component based GIS system is proposed. This framework is
having rich graphical interface and user data can be easily retrieved from the connected database and
displayed in the browser.
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMijfcstjournal
Component Based Software Engineering has one main sole motive of making the development process of
software systems as easy as possible and to achieve this objective work needs to be done in previous
systems to identify the concerns and limitations which can be overcome using this software engineering
based approach. In this paper to support concept of component based system a domain is chosen that
covers the GIS systems. GIS (Geographic Information Systems) are commonly used for development of map
based applications these systems are widely used across the web and in various organizations. With the
development and deepening of GIS, traditional GIS systems showed the challenges on isolation, sealing,
interoperability and the limitations, thereby hindering further development and application of GIS
technology. In this paper framework for component based GIS system is proposed. This framework is
having rich graphical interface and user data can be easily retrieved from the connected database and
displayed in the browser.
When Ostrom Meets Blockchain: Exploring the Potentials of Blockchain for Com...David Rozas
Slides from presentation "When Ostrom Meets Blockchain: Exploring the Potentials of Blockchain for Commons Governance”. Symposium “Mereologies” at Bartlett School of Architecture. University College London (London, 25/04/2019)
When Ostrom Meets Blockchain: Exploring the Potentials of Blockchain for Comm...David Rozas
Slides from presentation "When Ostrom Meets Blockchain: Exploring the Potentials of Blockchain for Commons Governance” at Surrey Code seminar, Surrey Business School, University of Surrey, Guildford (UK) – 20.03.2019.
More Related Content
Similar to Development and integration of an awareness applications manager into ASTRA
Report about Software Architecture for Robotics, for class of Introduction to Robotics of Prof. Sukhan Lee, of department of computer engineering of Sungkyunkwan University.
Student: Lorran Pegoretti.
Suwon, South Korea, December 2013
from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...Data & Analytics Magazin
Have you ever heard of the language code DE? No, it's not a typo, it stands for "Dumb Errors". And let's be real, we've all had our fair share of dumb errors in our programming journey. But fear not, because with the art of object-oriented programming from analysis to design, we can learn to avoid those pesky errors. It's like taking a painting class and learning to mix colors before starting your masterpiece. You wouldn't just slap paint on a canvas and hope for the best, would you? So, let's take the same approach with coding and create beautiful, error-free programs with our newfound object-oriented skills. No more DE for us!
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMijfcstjournal
Component Based Software Engineering has one main sole motive of making the development process of
software systems as easy as possible and to achieve this objective work needs to be done in previous
systems to identify the concerns and limitations which can be overcome using this software engineering
based approach. In this paper to support concept of component based system a domain is chosen that
covers the GIS systems. GIS (Geographic Information Systems) are commonly used for development of map
based applications these systems are widely used across the web and in various organizations. With the
development and deepening of GIS, traditional GIS systems showed the challenges on isolation, sealing,
interoperability and the limitations, thereby hindering further development and application of GIS
technology. In this paper framework for component based GIS system is proposed. This framework is
having rich graphical interface and user data can be easily retrieved from the connected database and
displayed in the browser.
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMijfcstjournal
Component Based Software Engineering has one main sole motive of making the development process of
software systems as easy as possible and to achieve this objective work needs to be done in previous
systems to identify the concerns and limitations which can be overcome using this software engineering
based approach. In this paper to support concept of component based system a domain is chosen that
covers the GIS systems. GIS (Geographic Information Systems) are commonly used for development of map
based applications these systems are widely used across the web and in various organizations. With the
development and deepening of GIS, traditional GIS systems showed the challenges on isolation, sealing,
interoperability and the limitations, thereby hindering further development and application of GIS
technology. In this paper framework for component based GIS system is proposed. This framework is
having rich graphical interface and user data can be easily retrieved from the connected database and
displayed in the browser.
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMijfcstjournal
Component Based Software Engineering has one main sole motive of making the development process of
software systems as easy as possible and to achieve this objective work needs to be done in previous
systems to identify the concerns and limitations which can be overcome using this software engineering
based approach. In this paper to support concept of component based system a domain is chosen that
covers the GIS systems. GIS (Geographic Information Systems) are commonly used for development of map
based applications these systems are widely used across the web and in various organizations. With the
development and deepening of GIS, traditional GIS systems showed the challenges on isolation, sealing,
interoperability and the limitations, thereby hindering further development and application of GIS
technology. In this paper framework for component based GIS system is proposed. This framework is
having rich graphical interface and user data can be easily retrieved from the connected database and
displayed in the browser.
When Ostrom Meets Blockchain: Exploring the Potentials of Blockchain for Com...David Rozas
Slides from presentation "When Ostrom Meets Blockchain: Exploring the Potentials of Blockchain for Commons Governance”. Symposium “Mereologies” at Bartlett School of Architecture. University College London (London, 25/04/2019)
When Ostrom Meets Blockchain: Exploring the Potentials of Blockchain for Comm...David Rozas
Slides from presentation "When Ostrom Meets Blockchain: Exploring the Potentials of Blockchain for Commons Governance” at Surrey Code seminar, Surrey Business School, University of Surrey, Guildford (UK) – 20.03.2019.
Cuando Ostrom se encuentra con blockchain: explorando las potencialidades de ...David Rozas
Slides from presentation "Cuando Ostrom se encuentra con blockchain: explorando las potencialidades de blockchain para la gobernanza procomunal” at GRASIA seminar, Universidad Complutense, Madrid (Spain) – 28.01.2019.
When Ostrom Meets Blockchain: Exploring the Potentials of Blockchain for Comm...David Rozas
Presentation at "Validation rules for blockchain research: International workshop on scholarly blockchain research priorities" - Institute for Information Law, University of Amsterdam (Amsterdam, 04/12/2018).
Ostrom’s crypto-principles? Towards a commons-based approach for the use of B...David Rozas
Sildes from presentation at "Science, politics, activism and citizenship". Redes CTS & Catalan Society for the History of Science and Technology (Valencia, 31/05/2018).
Self-organisation in Commons-Based Peer Production. Drupal: “the drop is alwa...David Rozas
Slides from presentation "Self-organisation in Commons-Based Peer Production. Drupal: “the drop is always moving” at GRASIA seminar, Universidad Complutense, Madrid (Spain) – 14.02.2018.
Self-organisation in Commons-Based Peer Production. Drupal: “the drop is alwa...David Rozas
Slides from presentation "Self-organisation in Commons-Based Peer Production. Drupal: “the drop is always moving” at PhD seminar, Guildford (UK) – 22.11.2017.
More information: https://davidrozas.cc/phd
Drupal: the drop is always moving. Autogestión y gobernanza de infraestructur...David Rozas
En esta charla se presentarán de manera resumida los hallazgos de un proyecto de investigación centrado en el estudio de los cambios organizativos de comunidades procomún. El caso de estudio es la comunidad de software libre Drupal: un proyecto de gestión de contenidos liberado en 2001 y que actualmente cuenta con más de un millón de personas registradas en la plataforma principal de colaboración. Como resultado de su crecimiento la comunidad de Drupal afrontó, y continúa afrontando, una necesidad constante de escalar su procesos autoorganizativos y de toma de decisiones. Dichos hallazgos se estructuran en tres ejes:
- Estudio de la noción de contribución en comunidades de procomún. Tipologías de contribución y necesidad de enfoques constructivistas.
- Emergencia de dinámicas globales de formalización y descentralización en la toma de decisiones e interconexión entre las mismas.
- Emergencia de gobernanza policéntrica y de sistemas socio-técnicos de contribución con diferentes grados de organicidad afectando sus principales entidades organizativas (e.g. división del trabajo, reglas o herramientas colaborativas).
Drupal: "come for the software, stay for the community". Conociendo la comunidadDavid Rozas
Transparencias de la charla "Drupal: come for the software, stay for the community. Conociendo la comunidad" para la asignatura 'Software Corporativo' en la Universidad Complutense de Madrid (davidrozas.cc/presentations/drupal-come-software-stay-community-conociendo-la-comunidad) el 13 de diciembre de 2016.
Talk is silver, code is gold? Contribution beyond source code in Free/Libre O...David Rozas
Slides from presentation "Talk is silver, code is gold? Contribution beyond source code in Free/Libre Open Source Software communities" at European Sociological Association PhD Summer School, Lisbon – 21.06.2016
Talk is silver, code is gold? Contribution beyond source code in Free/Libre O...David Rozas
Slides from presentation "Talk is silver, code is gold? Contribution beyond source code in Free/Libre Open Source Software communities" at Sociology PGR Day Conference (Guildford, 27/04/2016).
Talk is silver, code is gold? Contribution beyond source code in Free/Libre O...David Rozas
Slides from presentation "Talk is silver, code is gold? Contribution beyond source code in Free/Libre Open Source Software communities" at Surrey PGR Conference - http://www.surrey.ac.uk/pgrconference/downloads/2016_pgr_conference_programme.pdf#page=36 (Guildford, 13/04/2016).
Lightning talk - Affective labour and the notion of contribution in FLOSS com...David Rozas
Slides for lightning talk: Affective labour and the notion
of contribution in FLOSS communities: beyond
source code. Commons Collaborative Economies
11-13 March Barcelona - http://procomuns.net/en/
Directori català de l’economia col·laborativaDavid Rozas
Slides from the presentation "Directori català de l’economia col·laborativa - el caso de directory.p2pvalue.eu" at Commons
Collaborative Economies (Barcelona, 11-13.03.2016) - http://procomuns.net/session/directori-catala-de-leconomia-col%C2%B7laborativa/
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
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.
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.
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.
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.
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.