Challenges In Building Applications And Services For Smart ... · Challenges In Building...

42
Challenges In Building Applications And Services For Smart Devices Moderator Krishna Kavi, University of North Texas, USA Panelists Michael Gebhart, iteratec GmbH, Germany Mira Kajko-Mattsson, KTH Royal Institute of Technology, Sweden Sylvain Vauttier, Ecole Nationale Supérieure des Mines d'Alès, France Faouzi Moussa, CRISTAL, Tunisia Petre Dini, IARIA, USA

Transcript of Challenges In Building Applications And Services For Smart ... · Challenges In Building...

Page 1: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Challenges In Building Applications AndServices For Smart Devices

ModeratorKrishna Kavi, University of North Texas, USA

PanelistsMichael Gebhart, iteratec GmbH, Germany

Mira Kajko-Mattsson, KTH Royal Institute of Technology, SwedenSylvain Vauttier, Ecole Nationale Supérieure des Mines d'Alès, France

Faouzi Moussa, CRISTAL, TunisiaPetre Dini, IARIA, USA

Page 2: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Challenges In Building Applications AndServices For Smart Devices

A General Framework for Discussion

a). Availability of Tools (and ease of use)

Tools for Development

Tools for Testing

Tools for Performance/Energy evaluation

Security/Reliability/Safety

Designing for Ergonomics and Usability

b). Security Related Issues

Testing for security

Integrating 3rd party codes

Updating against new security vulnerabilities

c). Creating A Market

Page 3: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Challenges In Building Applications AndServices For Smart Devices

A General Framework for Discussion

Other Issues

Interoperability

Programming languages and frameworks

Ever changing hardware capabilities

And Smart Devices span beyond Smart phones

Wearable and Implantable devices

IoT

Page 4: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Challenges In Building Applications AndServices For Smart Devices

My two cents worth (based on discussions with students and colleagues)

Per developing smart phone aps

Keeping up with the ever changing capabilities of devices and updating apps

Control over hardware capabilities (e.g., power management)

Cross platform development tools are becoming available, but often cumbersome

Interoperability is also an issue, if not in terms of functionality,

but in terms of performance

Philosophy behind different manufacturers (Android vs IOS)

Need more standardization

Page 5: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Challenges In Building Applications AndServices For Smart Devices

My two cents worth (based on discussions with students and colleagues)

Per developing smart phone aps

Testing for functionality is reasonably addressed

but not for security or performance/energy management

Xcode (IOS) is better for integrating with 3rd party libraries

Better support with Objective C (than Java)

Android is better with Java

Android has more relaxed attitude and thus may not be as secure

Page 6: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Challenges In Building Applications AndServices For Smart Devices

My two cents worth (based on discussions with students and colleagues)

”Making applications is easy, but securing them is very difficult” Immunio.inc

Create layers of protection around applications

Control access

Log activity (and monitor)

Sanitize inputs

Report vulnerabilities appropriately

Assess risks associated with third party and legacy applications

Page 7: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Challenges In Building Applications AndServices For Smart Devices

Michael Gebhart: Choosing the right paradigm: Native vs. Hybrid vs. Web apps.

Is it necessary to write native apps? Or is it sufficient to use web technologies and

frameworks?

Mira Kajko-Mattsson: Organizational, educational challenges: Method and competency perspective

Sylvain Vauttier: User empowerment for building smart environments with IoT technologies: Privacy,

Ethics and Interoperability

Faouzi Moussa: Designing context-aware User Interfaces while integrating ergonomic/usability rules

Petre Dini: Challenges in developing apps for wearable/implantable devices: Computation vs Sensing

processing requirement

Page 8: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

A three-level versioning model for component-based software architectures

Abderrahman MOKNI*, Marianne HUCHARD**, Christelle URTADO* and Sylvain VAUTTIER*

*Ecole des Mines d’Alès, Nîmes, France**LIRMM, Montpellier, France

ECSA’16 1

Page 9: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Outline

� Context: Dedal, an architecture description languag e for reuse intensive development processes

� Managing the evolution of three-leveled architectur e descriptions in Dedal

� Three-level versioning model for tracing the evolut ions of architecture descriptions in Dedal

� Conclusion and perspectives

2ECSA’16

Page 10: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Context : reuse-intensive development processes

3ECSA’16

� Software product-line engineering

Page 11: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Context : reuse intensive development processes

� Component-based software engineering

4ECSA’16

Architecture Configuration

Functionalrequirements

Component repositories

ArchitectureDesign

ArchitectureImplementation

ArchitectureDeployment

Architecture Specification

Architecture Assembly

Page 12: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Context : reuse intensive development processes

� Dedal: a three-level architecture description langua ge• capture architectural decisions• foster architecture description reuse

5ECSA’16

Architecturespecification

Architectureconfiguration

ArchitectureAssembly

<<implements>>

<<instantiates>>

<<realizes>>

<<instantiates>>

Componentrole

Component class

Component instance

Page 13: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Context : reuse intensive development processes

6

� Example: Home Automation System

Architecture Specification

Architecture Configuration

Architecture Assembly

ECSA’16

Page 14: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Evolution of three-leveled architecture models in Dedal

� Architecture maintenance• prevent obsolescence

� Derive new architectures from existing ones• agile/incremental development

� Problematics: inconsistencies, loss of architectura l decisions

• Drift: architectural decision that does not violate higher level design decisions

• Erosion: architectural decision that does not violate higher level design decisions

� Solution: a disciplined evolution process…

7ECSA’16

Page 15: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Evolution of three-leveled architecture models in Dedal

� Solution: … based on a formal metamodel• written in B (first-order logic, set theory based formal language)• formal definition of the relations between components on each

architecture description level (intra-level relations)─ connection, specialization (substitution)

• formal definition of the relations between the different architecture description levels (inter-level relations)─ implementation, instantiation

• Derived from object type theory (Liskov 1993)

8ECSA’16

C<<component>>

D<<component>>

X X’

? Y

?

Page 16: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Evolution of three-leveled architecture models in Dedal

� Example: implementation relations• N-M relations between component roles from the specification level

and component classes from the implementation level

9ECSA’16

Light

ILightpowerOn() : voidpowerOff() : void

ILumsetIntensity(int intensity) : void

Luminosity<<component role>> <<component role>>

AdjustableLamp

ILamppowerOn() : voidpowerOff() : void

IIIntensitysetIntensity(int intensity) : voidgetIntensity() : int

<<component class>>

<<implements>>

<<implements>>

Page 17: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Evolution of three-leveled architecture models in Dedal

� Example : implementation relation• a N-M relation between component roles from the specification level

and the component classes from the implementation level

10ECSA’16

AirConditioner

IModesetHeatingMode(HeatingMode mode) : void

Thermostat

ITempgetTemp () : int

ITemp

ITempgetTemp() : int

IModesetHeatingMode(HeatingMode mode) : void

Conditioner

<<component role>>

<<component class>> <<component class>> IMode

<<component class>>

<<implements>>

<<delegate>>

<<delegate>>

Page 18: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Evolution of three-leveled architecture models in Dedal

� A complex evolution process…• Change initiation• Local impact analysis (intra-level consistency

checking)• Local consistency restoration (intra-level change

propagation)• Global impact analysis (inter-level consistency

checking)• Global consistency restoration (inter-level change

propagation)

� … hopefully assisted by a solver• architectures definitions considered as state machines• changes considered as state transitions• automatic generation of evolution plans (sequences of

changes) that realize required changes and restore local and global consistency

11ECSA’16

Architecturemodel

Dedalformal

metamodel

EvolutionPlan

input input

output

B Solver

Evolution goal

(requiredchanges)

input

Page 19: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Three-level versioning model for architecture descriptions in Dedal

� Requirements: manage a version space• to store all the designed versions of architectures• to trace all the architectural decisions that define architectures

(historic derivation relations)• to handle the different semantics of derivation

─ revision: the new version of the architecture is intended to replace source versions

─ variant: the new version is intended to co-exist with source versions

12ECSA’16

v4

v1

v2

v5

v3 v

6

v7

v8

v9

Page 20: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Three-level versioning model for architecture descriptions in Dedal

� Problematics: combining version space with architec tural space

13ECSA’16

Page 21: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Three-level versioning model for architecture descriptions in Dedal

� Proposal: assisted versioning strategies� Minimum derivation strategy

• Derive only the impacted architecture definitions• Suitable for architecture variant derivation

14ECSA’16

S

.v1

c1

.v1

C2

.v1

C3

.v1

a11

.v1

a12

.v1

a21

.v1

a31

.v1

a32

.v1

S

.v2

C1

.v2

a12

.v2

Page 22: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Three-level versioning model for architecture descriptions in Dedal

� Maximum derivation strategy• Derive the whole architectural space• Suitable for architecture revision derivation

15

s

.v1

c1

.v1

c2

.v1

c3

.v1

a11

.v1

a12

.v1

a21

.v1

a31

.v1

a32

.v1

s

.v2

c1

.v2

c2

.v2

a11

.v2

a12

.v2

a31

.v2

a32

.v2

a21

.v2

ECSA’16

Page 23: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Conclusion

� Dedal ADL and tools

• Capture architectural decisions─ a three-level architecture description language

• Maintain architectural decisions─ a disciplined and assisted evolution process

• Reuse architectural decisions─ a semantic versioning model

� Future work• formal definition of the derivation relations (variant, revision)• formal definition of version space consistency properties• automatic management of versioning (automatic consistency

checking and derivation)

16ECSA’16

Page 24: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Michael Gebhart

Hybrid vs. Native Apps

Page 25: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

©it

erat

ec©

iter

atec

©it

erat

ec

› Android: 86.2%

› iOS: 12.9%

› Microsoft Windows: 0.6%

› Others: 0.3%

Mobile OS Market Share

23

.08

.20

16

2

Page 26: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

©it

erat

ec

Native vs. Hybrid DevelopmentSupport for Android and iOS

23

.08

.20

16

3

Page 27: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Waldemar BrittsAccenture Digital

Sweden

Mira Kajko-MattssonKTH Royal Institute of Technology

Sweden

Challenges for BuildingApplications and Services for

Smart Devices

Page 28: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Challenges

We need smart educationWe need smart organizationsWe need smart employeesWe need smart methods

Page 29: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Smart education

Education is not smart today.

Educators cannot imagine what our future will be like in 20years.

Educators must choose a portfolio of subjects that preparestudents for work for at least 10 years ahead.

Educators do not have all the competencies required forteaching the subject portfolios.

Help needs to be acquired from outside.

The subjects’ needs will only increase.

Students are not well prepared for developing applicationsand services for smart devices.

Page 30: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Smart Organizations

Constantly evolving organizations

Highly innovative and productive mills

More flexible and more competitive and still havecontrol over what they do and how they act.

Encourage the development and improvement ofnew devices and services.

Page 31: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Agile Organizations: TowardsInnovative and Highly Productive Mills

Agile methods Idea generation and

productivization Spontaneous order Emergent adaptations

Communication Continuous learning envir. Fluid roles and dynamic

decision making Management and co-ordination Organizational structures

Smart

Smart

Page 32: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Smart employee

There’s a new brand type of employee out there.The Smart Creative.

Page 33: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Smart employee

Smart creatives causes change. They do not hold back whenever they have an idea that can

improve the world. They always find solutions to major problems. They are not afraid to fail or try smth new. They make sure that their ideas are foolproof. They influence other employees and make them better. They bring fast-paced thinking and problem-solving. They find ways to work smarter. They reinvent the wheel while being original and forward-

thinking. Smart creatives come in all shapes and sizes. There is no

race, gender, sexual orientation, education.

Page 34: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

Smart methods

What does cooking have to do with developing applications andservices for smart devices?

Page 35: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

1

2016ROME

PANEL on ICSEA 2016

Title: Challenges for Building Applications andServices for Smart Devices

onComfort/Heat Computational Requirements

indeveloping apps for wearable/implantable devices

Petre Dini, IARIA

WWW.IARIA.ORG

Page 36: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

2222016

Requirements for Software/Apps

GENERAL CONSIDERATIONS

• Centralized systems | hardware vs. software

• Distributed systems | hardware vs. software

• Real-time systems | embedded software

• Mobile systems | systems on the chip

• Wearable systems | systems on the chip

• Implantable systems | systems on the chip

• Body systems | cyberman

• Requirements Systems Testing and Validation

• Mobile/Wearable/Implantable Human Behavior/ Body Features

Page 37: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

3332016

Specifics of requirements for Apps

• Standardization and methodologies

Screen Sizes

API for many OSs

• Special considerations for Requirements, as Humans are heavily involved

• Classical: functional / non-functional

• Specific for Apps: functional / non-functional / comfort-requirements

Thermal considerations

Material and environment [moisture/humidity/cold, human body reactions,

isolation]

Testing [human-in-the-middle]

Page 38: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

4442016

Thermal considerations

• A specific aspect is that wearable devices introduce some unique thermaldesign challenges that should be considered for devices, Apps and theentire system. This is not only referring to operability, but also to a requiredcomfort level for humans. This design challenge is mainly for processorintensive applications and units with complex displays.

Heussner, D. Texas Instruments, USAhttp://electronicdesign.com/digital-ics/wearable-technologiespresent-packaging-challenges

Page 39: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

5552016

Cyberman

Page 40: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

6662016

Computation/communication/heat issues

Comfort requirements

• Esthetic (color, size)

• Shape (form, fitting)

• Attachment status (mandatory, removable)

• Heat-related (computational, device-material, ambient)

Heat comfort requirements

• Process intensive applications

• Complex display

• Fast data communication (health hazards, alarms, critical applications)

Testing-for-Real on the above is mandatory

• As wearable devices are quite specific, simply substituting them withemulators is not suitable; as the discipline is evolving in a rapid pace, trustingthe results of such emulator is doubtful.

Page 41: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

7772016

Solutions and Challenges

SOLUTIONS

• #1 Monitoring the heat on a wearable/implantable device

• #2 Forward intensive executions when a heat threshold is reached:

- To an idle body devices (for cyberman)

- To a remote server

• #3 Brig back computation, when comfortably acceptable

CHALLENGES

• Different mobile devices need different user interfaces. With regard to screen size,automated GUI generation with automated tailoring may become an option.

• What is specific on designing and testing wearable devices and Apps is that userexperience is more relevant than in traditional approaches.

• “It is a challenge to develop and test very specific features; e.g., “smart watcheshave very small screens and almost no buttons, making the use of space,navigation and user interaction incredibly important””

Page 42: Challenges In Building Applications And Services For Smart ... · Challenges In Building Applications And Services For Smart Devices My two cents worth (based on discussions with

8882016

WWW.IARIA.ORG

Thanks

Qs