Javantura Zagreb 2014 - universAAL - Andrej Grgurić

29
universAAL platform development Javantura Zagreb, 22.2.2014. [email protected]

Transcript of Javantura Zagreb 2014 - universAAL - Andrej Grgurić

universAAL platform development

Javantura Zagreb, 22.2.2014.

[email protected]

Agenda

Why?

Who?

For whom?

What?

How?

22/02/2014 universAAL platform - Javantura 2

WHY?

universAAL platform - Javantura 22/02/2014 3

Ambient Assisted Living (AAL)

Problem

demographic development towards an “ageing society”

Solution - Ambient Assisted Living (AAL)

use of ICT to increase the quality of life of elderly people and to prolong their independence

Ambient Assisted Living

eHealth Human

Computer Interaction

Artificial Intelligence

Wireless Sensor

Networks

Internet of Things

Robotics

Smart environments

Context aware computing

Social Web of Things

universAAL platform - Javantura 22/02/2014 4

WHO?

universAAL platform - Javantura 22/02/2014 5

universAAL project at a glance

22/02/2014 universAAL platform - Javantura 6

Carrying out support activities promoting widespread acceptance and adoption of the platform

• Association – support and coordinate AAL R&D as part of an open community of stakeholders

– AAL OPEN ASSOCIATION (AALOA)

• Manifesto – encourage industry and academic world to participate in forming an association to develop and exploit AAL platforms

• Competition – promote active participation

AALOA can host a project for you!

http://evaal.aaloa.org

Ma

nife

sto

Asso

cia

tio

n

Co

mp

etitio

n

Community support: http://www.aaloa.org

universAAL platform - Javantura 22/02/2014 7

FOR WHOM?

universAAL platform - Javantura 22/02/2014 8

Users

universAAL platform - Javantura

Primary Users End-Users

22/02/2014 9

WHAT?

universAAL platform - Javantura 22/02/2014 10

universAAL platform

Online Shop

Developer Site Assisted Person

AAL Application Developer

AAL Service

Provider

AAL Service

AAL Application

Application Platform

Development Tools

AAL Application

universAAL platform - Javantura 22/02/2014 11

universAAL platform: Runtime Support

universAAL universAAL universAAL universAAL universAAL

Applications

Applications run as if all of them are in one device

22/02/2014 universAAL platform - Javantura 12

Runtime platform: Building blocks

22/02/2014 universAAL platform - Javantura 13

Applications

AAL Space Managers

AAL Node Middleware

Container

Discovery & Peering Data

Representation

Communication

Context Management

LDDI Service Management

Profiling UI

Management AAL Space Gateway

Runtime platform building blocks

Separation into 7 Expert Groups (EG):

1. Middleware (associated: porting to OSGi-over-Android and Native Android)

2. Local Device Discovery & Integration

3. Security

4. Context Management (associated: ontologies)

5. User Interaction

6. Service Infrastructure

7. Remote Interoperability

22/02/2014 universAAL platform - Javantura 14

Developer Depot

Entry-point for developers

Hosts required development resources for universAAL

http://depot.universaal.org/

universAAL platform - Javantura 22/02/2014 15

AAL Studio – Eclipse-based IDE for universAAL

universAAL platform - Javantura 22/02/2014 16

AAL Studio: Dashboard

Role streamlines the process of developing universAAL applications, services and

components.

Benefits helps developers get an overview of the process, and help guide them through it

ensures that developers have access to all the relevant components through a simple interface

universAAL platform - Javantura 17 22/02/2014

HOW?

universAAL platform - Javantura 22/02/2014 18

Technology platform: OSGi

Implements a complete and dynamic component model

Components are not coupled to other components

Service oriented

Continuous operation – no need to restart the platform

Apache Felix

https://felix.apache.org/

Apache Karaf

http://karaf.apache.org/

19 22/02/2014 universAAL platform - Javantura

20

Benefits of Using the OSGi Service Platform

Components are smaller

Easier to make

Components are not coupled to other components

Gives reusability

Excellent model for the myriad of customizations and variation that are required of today’s devices

Collaborative model

Allows reuse of other components for most problems

Projects in gforge (SVN, wikis, forums, issue trackers)

universAAL platform - Javantura 22/02/2014 21

Maven - Automated Build Tool

Apache Maven: http://maven.apache.org/

Project Object Model (pom.xml)

Makes the build process easy and uniform

Simplifies dependency resolution.

You only have to declare the dependencies • Maven will download them, setup the classpath for you, and even

deploy the dependencies with your application if required.

Maven manages not only the direct dependencies for you - but even the dependencies of the dependecies (transitive dependencies).

22 22/02/2014 universAAL platform - Javantura

Maven repository of build files

universAAL platform - Javantura 22/02/2014 23

Continuous Integration: Hudson

Hudson – extensible continuous integration server

24

Trigger Hudson Job

Hudson Server

22/02/2014 universAAL platform - Javantura

Integration testing

Spring Dynamic Modules project provides a test class hierarchy (based on org.springframework.osgi.test.AbstractOsgiTests) that provides support for writing regular JUnit test cases that are then automatically executed in an OSGi environment http://docs.spring.io/osgi/docs/1.2.1/reference/html/testing.html#tes

ting:integration

25 22/02/2014 universAAL platform - Javantura

QUESTIONS?

universAAL platform - Javantura 22/02/2014 26

Resources

• universAAL

• Homepage: www.universaal.org

• Development depot: http://depot.universaal.org/

• Tools

• Hudson (http://hudson-ci.org/)

• Nexus (http://nexus.sonatype.org/)

• Maven (http://maven.apache.org/)

• SVN (http://subversion.tigris.org/)

22/02/2014 universAAL platform - Javantura 27

EXTRA SLIDES

universAAL platform - Javantura 22/02/2014 28

OSGi run configurations

Pax Runner is a tool to provision OSGi bundles in all major open source OSGi framework implementations https://ops4j1.jira.com/wiki/display/paxrunner/Pax+Runn

er

simple composite model supports installing groups of bundles as a single composite bundle http://felix.apache.org/site/composite-bundles.html

Apache Karaf uses features: simple, yet flexible, way to provision applications

http://karaf.apache.org/manual/latest-2.3.x/users-guide/provisioning.html

29 22/02/2014 universAAL platform - Javantura