SOFTWARECHALLENGES
PHILIPPE LALANDA
KOBE UNIVERSITY – AUGUST 2017

Purpose of this lecture-Show that software plays a major role in pervasive applications-

Describe the major challenges-

Show that much progress is still needed

Philippe Lalanda - 20172

Structure of this lecture
Introduction
Context-awareness and adaptation
Distribution
Heterogeneity
Dynamicity
More non functional properties
Conclusion
Philippe Lalanda - 20173

Pervasive computing
Pervasive computing promotes the integration of smart,
networked devices in our living environments in order toprovide us services.

Those services areare context aware
require minimal and natural interaction
bring real added value
are easy to administrate by end-users

Philippe Lalanda - 20174

Implications
Context-aware

Capture and model contextual information
Adapt services accordingly

Minimal and naturalinterfaces

Develop new interaction mechanisms (voice,virtual reality)
Put Human in the loop

Added-value services

Real-time and deliberative services
Powerful infrastructure (processing, storage)

Easy administration forend-users

Automated mechanisms
User care (devices, applications)

Philippe Lalanda - 2017

5

This leads to complex architectures...

Deliberative services - big data,learning, advanced processing.

CloudInternet, GSM

WE
B

Gateway (edge)

Real-time services anddata redirection.

Wireless

Smart device

Philippe Lalanda - 2017

Sensing and streaming data.

6

... where software is key
For a given service, code is needed indevices
gatewayscommunication
multi-modal interaction
mobilescloud
In addition, developing this code is very challenging.
Note: there is also complex code for the infrastructure!
Philippe Lalanda - 20177

Example – where is the code of “activity tracking”?

Activity tracker

Philippe Lalanda - 2017

Application

DataAdmin

Web App8Code complexity
All this code is for a single applicationdifferent requirements
different languages
different Operating System (if any)
Very different from usual applications. It often implies
multiple parties (for Internet transport for instance).
The cost for a newcomer is very high (Bosch example)

Philippe Lalanda - 2017

9Major requirements
Device level

Hard real-time
Limited resources (CPU, code size, memory)
Consumption
Security

Gateway (hub) level

Soft real-time
Flexibility (networks, devices, clients)
Autonomy
Security

Mobile level

Responsiveness
Usability
Flexibility (to change layout/functions)
Security

Cloud level

Advanced data management and analysis
Scalability (machines, storage, ...)
Security

Philippe Lalanda - 201710

Impact n° 1
Such architecture cannot be entirely developed by a single
person or teamtoo different domains
too many technologies

Collaboration between individuals and companies are needed
hard to put in place
this explains why many products are not good or limited

Philippe Lalanda - 201711

Impact n° 2
Such architecture cannot be entirely developed without tools
middlewareprogramming languages
Integrated Development Tools

iCasa is one of themPhilippe Lalanda - 201712

This lecture
The purpose of this lecture is to highlight the non functional
requirements of the code and see their impacts on software
context awareness
distribution
heterogeneity
dynamicity

Philippe Lalanda - 201713

Structure of this lecture
Introduction
Context-awareness and adaptation
Distribution
Heterogeneity
Dynamicity
More non functional properties
Conclusion
Philippe Lalanda - 201714

Context awareness
A service is context-aware if it uses information about the situation
to perform its tasks. This includes information about theenvironment, the users, the supporting machines, etc.

The service collects information in the environment.
It uses this information for its execution.
It may act upon the environment.

Philippe Lalanda - 201715

Activity tracking – context awareness

Activity tracker

Application

Data

Admin

Web App

Use of the available devices and networks

Philippe Lalanda - 201716

Activity tracking – context awareness

Activity tracker

Application

Data

Admin

Web App

Consider the persons’ situation (health...)Philippe Lalanda - 201717

Activity tracking – context awareness

Activity tracker

Application

Data

Admin

Web App

Use of the available data to derive activity

Philippe Lalanda - 201718

Service adaptation
Software wise, context awareness raises major difficulties
Observing the world
Building a model of the world that is in line withapplications needs
Adapting software at runtime

Philippe Lalanda - 201719

Observing the world
The world is dynamic, stochastic and not fully observable

Dynamic: the world is evolving
Stochastic: evolutions depend on actions
but also on some unknown factorsthat cannot easily be predicted
Not fully observable: some pieces of information
cannot be captured

Philippe Lalanda - 201720

Observing the world
Pervasive application have then to build some form ofrepresentation of the world. This is called context.

How to model contextual information?
How to update it at the right pace?
Which information should be sought?
Should contextual information shared?

A lecture on that subject

Philippe Lalanda - 201721

World model
The model representing the world isincomplete
uncertain (possibly with probabilities)
late (image of the past)
This has to be considered in the application codeuse of Bayesian methods
use of Markov model
check causality...

Philippe Lalanda - 201722

Adapting application code
Services must constantly adapt to unpredictable changing
conditions to meet their requirements.

Adaptation may result in using different resources ...
Philippe Lalanda - 201723

Adapting application code
Services must constantly adapt to unpredictable changing
conditions to meet their requirements.

... Or, more complex, in changes in the code/data
Philippe Lalanda - 201724

Adapting application code
Code adaptation may concern every aspect of an
application , including
configuration
algorithms
placement
display
quality of service
Adaptation can be doneat compile timeat design timeat run time
Philippe Lalanda - 201725

Approaches
Runtime adaptation
Separated configuration files and directives
Dynamic loading and binding (OSGi, Erlang, etc.)
service-orientation

Philippe Lalanda - 201726

Context-awareness and pervasive platform
A pervasive platform has to provide
a programming model favoring adaptationa context service allowing the creation andmanagement of contextual information
Ideally, adaptation is partially autonomic and based on
generic mechanisms

Philippe Lalanda - 201727

Structure of this lecture
Introduction
Context-awareness and adaptation
Distribution
Heterogeneity
Dynamicity
More non functional properties
Conclusion
Philippe Lalanda - 201728

Distribution
Pervasive applications are inherently distributed among
mobile and stationary devices
devices integrated in the physical environment
mobile devices (smartphones, smart watches, ...)
gatewaysedge computers

Cloud Cloud Cloud

cloud computers
Web resources

WE
BInternet, GSM

Gateway (edge)
Wireless

Smart device
Philippe Lalanda - 201729

Distribution - issues
Distributed software is complex to build and to manage
Important errors about distribution
The network is reliable error handling

Latency is zero

 take time into accountBandwidth is infinite prune data

The network is secure protect data

Topology doesn't change automate configuration

Transport cost is zero select data to be sent

Distributed architectures require extra care at design time
Philippe Lalanda - 201730

Activity recognition (part of tracker)

Activity tracker

Application

Data

Admin

Web App

Good repartition real-time and deliberative services

Philippe Lalanda - 201731

Activity recognition (part of tracker)

Activity tracker

Application

Data

Admin

Web App

Only send up quality data(security and cost)

Philippe Lalanda - 201732

Activity recognition (part of tracker)

Activity tracker

Application

Data

Admin

Web App

Automate configuration (Internet/4G/...)

Philippe Lalanda - 201733

Activity recognition (part of tracker)

Activity tracker

Application

DataAdmin

Web App

Cache data in gateways, cloud, browsers(availability)

Philippe Lalanda - 201734

Distribution – architecture example
In the mobile industry, edge servers are more and more used to(partly) run applications backend near the mobiles. It improves
efficiency
bandwidth
securityhomogeneity
But application management
is more complicatedSame kind of architecture
in pervasive are coming
Philippe Lalanda - 201735

Structure of this lecture
Introduction
Context-awareness and adaptation
DistributionHeterogeneity
Dynamicity
More non functional properties
Conclusion
Philippe Lalanda - 201736

Heterogeneity
Pervasive architectures are by nature very heterogeneous.
Competing device and software providers are numerous. Thisimplies different:
communication protocols
data formats
data semantic
supporting technologies
Many standards are proposed
without much success(in software)

Philippe Lalanda - 201737

Heterogeneity – issues
Heterogeneous software is complex to build and to manage. It
needs to be frequently updated (every time new data/devices
come in).
Main issues
Protocol heterogeneity (even with the same specification)
Syntactic and semantic differences
QoS merging
Loss of information

Philippe Lalanda - 201738

Activity tracking

Activity tracker

Application

DataAdmin

Web App

Use of devices of various brands

Philippe Lalanda - 201739

Activity tracking

Activity tracker

Application

DataAdmin

Web App

Use of devices of different browsers

Philippe Lalanda - 201740

Mediation code
Mediation software have been proposed to integrate disparate
information sources
Communication alignment
Syntactic alignment
Semantic alignmentNon-functional property alignment
Persistency
Monitoring
Generally, component based

Philippe Lalanda - 201741

Mediation for multi-modality

Philippe Lalanda - 201742

Issues with mediation
Several technologies must be usedhighly skilled engineersdifficult to findnot in the same company
New mediation chains must beprovided very frequently

Philippe Lalanda - 201743

Structure of this lecture
Introduction
Context-awareness and adaptation
Distribution
Heterogeneity
Dynamicity
More non functional properties
Conclusion
Philippe Lalanda - 201744

Dynamicity
Every device, every system that contribute to the computing
environment evolves and changes through time. It may also
disappear/reappear anytime
Hardware or software failures
Energy shortage
Maintenance operations
Functional evolutions
Applications must recover, generally in a dynamic fashion
they cannot be restarted often

Philippe Lalanda - 201745

Activity tracking

Activity tracker

Application

DataAdmin

Web AppDevice appear/disappear

Philippe Lalanda - 201746

Activity tracking

Activity tracker

Application

DataAdmin

Web App

Computing resources appear/disappear

Philippe Lalanda - 201747

Dynamicity - issues
A pervasive applications must be able to opportunistically use theavailable resources.
Dynamic programming is however very complex
maintain control flow
don’t loose data
avoid crashes (extremely complex
synchronization code)
Variability in programs

Philippe Lalanda - 201748

Structure of this lecture
Introduction
Context-awareness and adaptation
Distribution
Heterogeneity
Dynamicity
More non functional properties
Conclusion
Philippe Lalanda - 201749

Energy management- devices
Some sensors are connected to the mains power source
Others rely on battery (energy is then a limited resource)
wake up on events (motion sensor)
wake up on periods (thermometer)
configurable (periods, motion, etc.)
their use is not straightforward

Philippe Lalanda - 201750

Energy management – data storage
Data center are very demanding
they use as much energy as a little town
In a near future, consumption will have to be controlled
select data to be stored
decide on the duration

Philippe Lalanda - 201751

Security
Security is certainly the main brake to the development of
pervasive computing
protect privacy
protect dataprotect against denial of service
protect against malicious actions on devices
The issue is made worst by
distribution/heterogeneity/dynamicity

Philippe Lalanda - 201752

Scalability
Success is an option!
Software must be able to rapidly scaleat the gateway level (more apps, more gateways)
at the transport level (more data)at the cloud level (more resources needed, moreanalytics, etc.)

Philippe Lalanda - 201753

Structure of this lecture
Introduction
Context-awareness and adaptation
Distribution
Heterogeneity
Dynamicity
More non functional properties
Conclusion
Philippe Lalanda - 201754

Software challenges
Impacts on software are tremendous.
What is needed
new architectures
new development paradigms
new platforms and middleware
new technologies
new interaction means, ...
Software engineering is not readyrecent focus was on design activities
Philippe Lalanda - 201755

Software engineering
Software engineering defines repeatable processes andtechnologies for supporting software development andmaintenance activities.
Unfortunately, it has been mainly thought for deterministic
environments and focuses on early phases.

Requirements

Philippe Lalanda - 2017

DesignCoding

Deployment

Execution

56

Research agenda
Most activities have to be rethought and moved to runtime
requirements must be explicitly considered at runtime
application goals must be known at runtime
applications have to be opportunist and adaptable
testing must be partially made at runtime
deployment and integration must be continuous

Philippe Lalanda - 2017

57Research agenda
Pervasive platform is a highly studied domain

More to come !

Philippe Lalanda - 201758