SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
Technology for Pervasive Computing




Middleware for Ubiquitous Systems:
                a model driven development approach
Till Riedel, TecO, Pervasive Computing Systems




                                                           In a few decades there won’t be many industrial products that
                                                           don’t have computers woven into them, just like a nervous
                                                           system is woven into organisms”´         Karl Steinbuch, 1966
 KIT – University of the State of Baden-Wuerttemberg and
 National Research Center of the Helmholtz Association                                                               www.kit.edu
2


Overview
 Motivation

 Approach / Thesis

 Domain Architecture #1: Implicit Middleware
    Optimized Distribution over heterogeneous, changing system
     environments


 Domain Architecture #2: Generative GWs
    Model Driven Sensor Network Gateway Generation
Pushing computation
                                                 3




                           to the item




Close gap
between virtual world and reality

Scale with the
with the item


           Prof. Dr.-Ing. Michael Beigl
Short History of Smart Items at TecO:                    4




Relocation of Computation
 Collaborative Business Items (2006)
 In-situ detection of hazardous situations of chemical
 goods
 App: safety provision for worker, environment

 DigiClip (2004)
 Couple paper-based documents to computer-based
 document management systems
 App: Active physical (paper-based) documents

 eSeal (2004)
 Transform electronic contracts onto physical items,
 App: Trustworthy, continuous self-supervision of
 goods during transport, cold supply chain
5


    Ubiquitous Computing Systems
               The industrial analogy: one engine (1900) for whole factory to many
               small specialized electrical motors (today) [Weiser, 1991]




                            Technological Development Challenges

                                          Resource-constrained Devices
                                          Heterogeneous Environments
                                                Changing Context
                                            Cross-Domain Embedding




(Bardram/Friday in Ubiquitous Computing Fundamentals, 2010)
(Banavar, Bernstein, Software infrastructure and design challenges for ubiquitous computing applications, 2002)
(Weiser, The computer of the 21st century, 1991)
6


    The Software Engineering Problem
  Bottom up                                                            Top Down (Antithesis)
  Bandram, Friday, 2010: Experimental                                  Milner, 2006: Tower of Models
  “As one experiment may enable a hypothesis to be refined             “What concepts and properties are relevant to
  leading to further experiments cyclically, so a system               describing a ubiquitous system?“
  design may lead to another and be iteratively refined.”
                                                                       “Any system must be modelled at higher and lower
  Ubicomp systems development                                          levels of abstraction.”

  historically based in the 90s SE:                                    Rigorous approach to better
  participatory design, rapid prototyping                              understanding of the problem domain


  Problem: low-reuse of code&knowledge                                 Problem: reality often too messy,
 Boehm, 2006: Hegelian Dialectics of Software Engineering’s Past

  Synthesis: Model driven software development (MDSD)
  Very pragmatic take on formalism.
  Rapid development using conceptual models. Tool
(Bardram,Friday, Ubiquitous Computing Systems, in Ubiquitous Computing Fundamentals, 2010)
(Milner, Ubiquitous computing: shall we understand it?, 2006)
(Boehm, A view of 20th and 21st century software engineering,2006)
(Voelter, Stahl, Czarnecki, Model-Driven Software Development: Technology, Engineering, Management, 2006)
7

Hypothesis

Model Driven Software Development of Ubiquitous
Systems solves the inherent contradiction between
top-down and bottom-up development

by deduction we then expect to
see the following observable theses:


MDSD in Ubicomp should lead to better
    a.   flexibility (heterogeneity and re-use)
    b.   code size, performance (resource constraints)
    c.   complexity
    d.   analyzability (tower of models)
    e.   integrativeness

(effects of successful MDSD according to Stahl 2010)
8


Methodology

 apply model driven software development paradigm
to complex realistic problems from the UbiComp domain and see if we can
observe the theses

The two common problems:
     Distributed execution of services with changing execution context
     Communication in heterogeneous low-power wireless networks




„Abduction having suggested a theory, we employ deduction to deduce from that ideal theory a
promiscuous variety of consequences to the effect that if we perform certain acts, we shall find
ourselves confronted with certain experiences. We then proceed to try these experiments, and if
the predictions of the theory are verified, we have a proportionate confidence that the experiments
that remain to be tried will confirm the theory.“
– Peirce: Collected Papers (CP 8.209)
#1: Implicit Middleware
                                                                    9


  Bytecode
Distributed execution of services with changing execution context




                Prof. Dr.-Ing. Michael Beigl
10


Problem: Relocation of Service to SI Services

                            Business Logic Backend
                               Service



                                                Relocated
                                                 Service


                Mapper
Repository
                                                Smart Items (SI)




 Problem: no optimal modularisation strategy for smart item services

  Fine granular modularization leads to high middleware overhead
  Coarse modularization leads to suboptimal mapping

 Required knowledge not available at development time
11


Solution: Automatic partitioning

   System                              Cost                              Platform
    State                              Model       Middleware              Code
                  Optimization
                                                   Generation
   Profile



    Relocated
     Service
                                                                         Distributed
                                                                         SI Service


 Solution: Use implicit middleware instead of explicit modularization.
 Find optimal distribution and insert Middleware where needed.
12


 The Domain Architecture                            Web Service

                                                  Service Mapper



                                                    Web Service
 Input Models/Artefacts:                        Service Repository
                                                                                          Web Service

                                                                                         System State
       Service
       System state                             code, profile                   state


       Cost                                               Web Service                    Web Service
                                          cost         Implicit Middleware               Device Manager
       Profile
                                        Given: CoBIs, SAP (SI)² Integration
 Transformations:
     Optimization                           WebAS                    Platform
     Middleware Generation                  Server                   Gateway

                                                           Smart Item Service


 Product:
     platform-specific,                Product: Distributed SI Services
      distribution-optimized binaries


 Platform:
     Embedded JavaVM
                                        Platform: CatPart, ParticleVM
13


The MDSD approach
Describes mapping from models to platform:
                                                                    Input
1.   Describe domain using formal models /
     domain specific languages

2.   Build a reference product

3.   Develop generic meta-model based                            Optimization
     transformations

4.   Automate the process using domain
     architecture
                                                             Middleware Generation


 Not quite the typical MDSD:
        DSL partially create as binary artifacts by other
         systems
        use reverse engineering                                   Product
        some AI involved (search and optimization)
        but implemented as EMF Workflow
15


Idea: Class based optimal assignment
                               EnvNode
                                             DrumConditionService                                        LocalGateway

                        TemperatureSensor                                                               AlarmSystem
       TempSensor_native            TemperatureSensingTask                                               Alarm
             0,4                            397                                                            1
             0.03                           27,79                                                        0,01



                  DrumNode                                   DrumNode                   (default package)
                                                                                      ConditionServiceMain
                                                                                               3
                                                                                              0,27

          AccelerationSensor                                                      FrequencyController
       AccellerationSensor_native                                       FrequencyControler                   Fft
                  3                                                            3                             3
                 3,71                                                         24,08                          2,8




                                                Simple Cost Model




                                                                                                             com
                           DrumNode         9                 20                       100

                                                       EnvNode   7                     100

                                                                               Local GW      100
16


  A Domain Homomorphism



                RelocatedService                         Distributed SI Service


Byte Code                          Transformation t        φ ‘-1
                  φ                                                        φ
Mathematical
Programming                          Optimization o
                  Assignment                                   Optimal
                   Problem                                    Assignment


      Map Problem to domain/goal driven, conceptual representation
17


Optimization Transform
Find Mapping Function:


              classes   platforms
       of application   of system state                via indicator function


Objective Function:




Constraints:


    Map all classes            Fix some classes   Obey available ROM
Mathematical Programming (ZIMPL)                                     18



 as Implementation
Objective Function:
minimize cost:
  sum <p,c> in PLATFORMS*CLASSES:
    c_exec_c[c] * c_exec_p[p] * mu[p,c]
    + sum <p0,p1,c0,c1> in PLATFORMS*CLASSES * PLATFORM*CLASSES:
      c_link_c[c0,c1] * c_link_p[p0,p1] * mu_times_mu[p0,c0,p1,c1];


#mu_times_mu(c0,p0,c1,p1) equals mu(c0,p0)*mu(c1,p1)
subto if_mu_and_mu_the_mu2:
  forall <p0,p1,c0,c1> in MAP2 do
    mu_times_mu[m0,m1,c0,c1] >= mu[m0,c0]+mu[p1,c1,p0,c1]-1;


Constraints:
subto map_all_classes: forall <c> in CLASSES:
  sum <m> in MACHINES : mu[m,c] > 0;
19


State dependent (re-)deployment

                        EnvNode                                                       LocalGatewayLocalGateway
                                                                                                                               before after
                 TemperatureSensor                                                                 AlarmSystem
TempSensor_native            TemperatureSensingTask                                                 Alarm
      0,4                            397                                                              1
      0.03                           27,79                                                          0,01



           DrumNode                                   DrumNode                     (default package)
                                                                                                                        Slow 330       330
                                                                                ConditionServiceMain                           + 420   + 420
                                                                                          3
                                                                                   0,27         0,01                           = 231   = 231
   AccelerationSensor
AccellerationSensor_native
                                                                             FrequencyController
                                                                 FrequencyControler                       Fft           Fast   330     330
           3
          3,71                                                   24,08
                                                                         3
                                                                               0,19                 2,8
                                                                                                          3
                                                                                                              0,02
                                                                                                                               + 420   + 420
                                                                                                                               = 231   = 231

                 Slow Network and Nodes                                                                       Faster network

                 7                   20               100                                                       7     20       10

                                     9                100                                                             9        10

                                                      100                                                                      100
LocalGateway   21


Lazy Middleware Generation




                                                                                                      DispatchHelper
                                                                                                                           Fft
                                                                      DrumNode

 EMF-Adapter for Java Byte-code
                                                 AccelerationSensor

                                               AccellerationSensor_native        FrequencyControler                       FrequencyControle


 Fully automatic, platform-dependent
  stub/dispatcher generation



 Meta-model-based QVT-R and ETL
     byte code-transformation
    1. Remove instructions, fields (for stub
    2. Add remote pointer
    3. Transform signature to pushX/popX
        Sequence



 Minimal static platform layer, efficient
  generated byte-code
22


    Runtime Performance

   better than handwritten code*
   lazy middleware insertion
   optimal distribution**
   low run-time overhead




* if execution context changes, **exact solution regarding model
23



#2: Model Driven Gateways
Ubiquitous communication                                                  24



platforms
         32 bit ARM9,
         2M RAM/512M Flash/528 MHz, GSM/UMTS/WiFi/BT, Android


                       32 bit AR7 MIPSel,2MB RAM/8MB
                           Flash/212MHz, IP, DSL/WiFi/Ethernet, Linux


         32 bit ARM7
             256KB RAM/2MB Flash/80 MHz, 802.15.4, Java


                             32 bit OpenRISC NIC,
                             96K RAM/192K Flash/16 MHz, 6lowPAN,Contiki


          8bit PIC18F6720 MCU
            4KB RAM /128KB Flash,5MIPS, Awarecon, C/Java

                             8bit rfPIC
                               64 Byte RAM/1.4 KB Flash 1MIPS, C/Config only

       No MCU,
        1bit-4kbyte EEPROM
25


       Sensor Web Services
 ABB



       Aletheia
        mobile


                  Client C       WebService            Service Proxy S'


                       GW




             GW                                       Sensor
                                 GW                 Measurement
                                                     Service S




The question will not be how to write a single gateway but
how to write all the gateways needed in the future…
26


Model based Transformation
                                                   Gateway WS/WSN
      TransportA            WS Comm.                  TransportA
   TransformationXA                              TransformationGW_AB
                      <sample> ….</sample>
      PlatformX                                       TransportB



                                                          111|101001011|1011
How to write transformations
• Manual Proxies
• Declarative Mapping
   • uMiddle                                 TransportB
   • CoBIS UPnP GW                     TransformationXB

Better: Implicit Mapping!                    PlatformY
27


Domain Architecture
Models:
    High Level Message Model       ABB




        (XML Schema, UML/MOF, …)         Aletheia
                                           mobile

Transformations:
    Automata Representation
    Aspect-oriented Platform
     and Encoding support
Product:
    m:n Gateways
    Platform De/Encoders
    Query Interfaces
Plattforms:
    Various SensorNodes (, RFID)
    Embedded Gateways (Linux)
    Microsoft .NET / WCF4
28



Model Based Transformation
                          Domain specific


Abstract, Executable




                       Platform Specific
Visibly Pushdown Automata                                                 29




 & Aspect Oriented code generation
                                                       read(10bit)/10-20
 High code reuse factor                    0
                                               1
 Efficient execution                       <sample>
    MCU: min. RAM/Jumps

 Encoding Aspects
    Grammar Based Compression
    Platform optimization:
     Align/Endian/Shift




                                                                     encoding
    Automated Encoding Translation
 Platform Aspects
    (C, Java, Proto-threads, SAX, DOM,…)

 Cross-Layer Network Integration
    Physical Layer Query Support
30


   DPWS Gateway
Particle/plain C/AwareCon



WCF 4.0/C#/IP




                            AVR Fritzbox 7170,AR7@150 MHz, 8MB
31




Conclusion
32


 Conclusion
 MDSD addresses core problem of UbiComp (middle-out development)
 Formal models can really help to easily solve real life UbiComp SE problems
     Tower of Models
 DPWS GWs have successfully used in multiple projects
  (takes 1 person night to adapt to new platform ;) )
 Thesis captures best practices/experiences from past practical projects
       (>5 research projects, over 50 scientific publications)

 Horizontal scoping (pervasive services, middleware) allowed efficient Model driven
  development for UbiComp


 Discussion:
     only partially practical/complete solutions  in research projects
     what about vertical scoping == ubicomp applications?
Also tried to scope and develop in            33



 some real vertical domains…



                      landmarke
ServIoT                                     UbiML




…, but there were not conclusive results.
34



A qualified Hypothesis
Theses:
MDSD has led to better
   a.   flexibility (heterogeneity and re-use)
   b.   code size, performance (resource constraints)
   c.   complexity
   d.   analyzability (tower of models)
   e.   integrativeness


Qualified Hypothesis:
Model Driven Software Development of Ubiquitous
Systems solves the inherent contradiction between
top-down and bottom-up development
for Middleware for Ubiquitous Systems
35




 Questions?

riedel@teco.edu

www.teco.edu/~riedel

Más contenido relacionado

La actualidad más candente

Cloud computing from an institutional perspective
Cloud computing from an institutional perspectiveCloud computing from an institutional perspective
Cloud computing from an institutional perspectiveIgnacio M. Llorente
 
Cloud Foundations: Visibility, Analytics, Security, Programming Models, Runtime
Cloud Foundations: Visibility, Analytics, Security, Programming Models, RuntimeCloud Foundations: Visibility, Analytics, Security, Programming Models, Runtime
Cloud Foundations: Visibility, Analytics, Security, Programming Models, RuntimeCanturk Isci
 
It auditing to assure a secure cloud computing
It auditing to assure a secure cloud computingIt auditing to assure a secure cloud computing
It auditing to assure a secure cloud computingingenioustech
 
Java & dotnet titles
Java & dotnet titlesJava & dotnet titles
Java & dotnet titlesingenioustech
 
Cloud computing 2011 call for papers
Cloud computing 2011 call for papersCloud computing 2011 call for papers
Cloud computing 2011 call for paperspsundarau
 
Innovation in cloud computing architectures with open nebula
Innovation in cloud computing architectures with open nebulaInnovation in cloud computing architectures with open nebula
Innovation in cloud computing architectures with open nebulaIgnacio M. Llorente
 
Ca technology exchange virtualization
Ca technology exchange   virtualizationCa technology exchange   virtualization
Ca technology exchange virtualizationrsravi
 
ClassCloud: switch your PC Classroom into Cloud Testbed
ClassCloud: switch your PC Classroom into Cloud TestbedClassCloud: switch your PC Classroom into Cloud Testbed
ClassCloud: switch your PC Classroom into Cloud TestbedJazz Yao-Tsung Wang
 
WICSA 2012 tutorial
WICSA 2012 tutorialWICSA 2012 tutorial
WICSA 2012 tutorialLen Bass
 
Kybernetika accelerates provision of virtual IT environments
Kybernetika accelerates provision of virtual IT environmentsKybernetika accelerates provision of virtual IT environments
Kybernetika accelerates provision of virtual IT environmentsCisco Case Studies
 
An Extensible Virtual Digital Libraries Generator @ ECDL 2008
An Extensible Virtual Digital Libraries Generator @ ECDL 2008An Extensible Virtual Digital Libraries Generator @ ECDL 2008
An Extensible Virtual Digital Libraries Generator @ ECDL 2008Leonardo Candela
 
Open Cloud System Networking Vision
Open Cloud System Networking VisionOpen Cloud System Networking Vision
Open Cloud System Networking VisionRandy Bias
 
Executive Breakfast SysValue-NetApp-VMWare - 16 de Março de 2012 - Apresentaç...
Executive Breakfast SysValue-NetApp-VMWare - 16 de Março de 2012 - Apresentaç...Executive Breakfast SysValue-NetApp-VMWare - 16 de Março de 2012 - Apresentaç...
Executive Breakfast SysValue-NetApp-VMWare - 16 de Março de 2012 - Apresentaç...Joao Barreto Fernandes
 
Transforming Communications Networks
Transforming Communications NetworksTransforming Communications Networks
Transforming Communications NetworksJim St. Leger
 
Network Infrastructure for Academic IC CAD Environments
Network Infrastructure for Academic IC CAD EnvironmentsNetwork Infrastructure for Academic IC CAD Environments
Network Infrastructure for Academic IC CAD Environmentsthyandrecardoso
 

La actualidad más candente (17)

Cloud computing from an institutional perspective
Cloud computing from an institutional perspectiveCloud computing from an institutional perspective
Cloud computing from an institutional perspective
 
Cloud Foundations: Visibility, Analytics, Security, Programming Models, Runtime
Cloud Foundations: Visibility, Analytics, Security, Programming Models, RuntimeCloud Foundations: Visibility, Analytics, Security, Programming Models, Runtime
Cloud Foundations: Visibility, Analytics, Security, Programming Models, Runtime
 
It auditing to assure a secure cloud computing
It auditing to assure a secure cloud computingIt auditing to assure a secure cloud computing
It auditing to assure a secure cloud computing
 
Java & dotnet titles
Java & dotnet titlesJava & dotnet titles
Java & dotnet titles
 
Cloud computing 2011 call for papers
Cloud computing 2011 call for papersCloud computing 2011 call for papers
Cloud computing 2011 call for papers
 
Innovation in cloud computing architectures with open nebula
Innovation in cloud computing architectures with open nebulaInnovation in cloud computing architectures with open nebula
Innovation in cloud computing architectures with open nebula
 
Ca technology exchange virtualization
Ca technology exchange   virtualizationCa technology exchange   virtualization
Ca technology exchange virtualization
 
ClassCloud: switch your PC Classroom into Cloud Testbed
ClassCloud: switch your PC Classroom into Cloud TestbedClassCloud: switch your PC Classroom into Cloud Testbed
ClassCloud: switch your PC Classroom into Cloud Testbed
 
WICSA 2012 tutorial
WICSA 2012 tutorialWICSA 2012 tutorial
WICSA 2012 tutorial
 
Kybernetika accelerates provision of virtual IT environments
Kybernetika accelerates provision of virtual IT environmentsKybernetika accelerates provision of virtual IT environments
Kybernetika accelerates provision of virtual IT environments
 
119 125
119 125119 125
119 125
 
SLTN
SLTNSLTN
SLTN
 
An Extensible Virtual Digital Libraries Generator @ ECDL 2008
An Extensible Virtual Digital Libraries Generator @ ECDL 2008An Extensible Virtual Digital Libraries Generator @ ECDL 2008
An Extensible Virtual Digital Libraries Generator @ ECDL 2008
 
Open Cloud System Networking Vision
Open Cloud System Networking VisionOpen Cloud System Networking Vision
Open Cloud System Networking Vision
 
Executive Breakfast SysValue-NetApp-VMWare - 16 de Março de 2012 - Apresentaç...
Executive Breakfast SysValue-NetApp-VMWare - 16 de Março de 2012 - Apresentaç...Executive Breakfast SysValue-NetApp-VMWare - 16 de Março de 2012 - Apresentaç...
Executive Breakfast SysValue-NetApp-VMWare - 16 de Março de 2012 - Apresentaç...
 
Transforming Communications Networks
Transforming Communications NetworksTransforming Communications Networks
Transforming Communications Networks
 
Network Infrastructure for Academic IC CAD Environments
Network Infrastructure for Academic IC CAD EnvironmentsNetwork Infrastructure for Academic IC CAD Environments
Network Infrastructure for Academic IC CAD Environments
 

Destacado

Pluggable Realworld Interfaces
Pluggable Realworld InterfacesPluggable Realworld Interfaces
Pluggable Realworld InterfacesTill Riedel
 
Relate: Architecture, Systems and Tools for Relative Positioning
Relate: Architecture, Systems and Tools for Relative PositioningRelate: Architecture, Systems and Tools for Relative Positioning
Relate: Architecture, Systems and Tools for Relative PositioningTill Riedel
 
IoT 2014 Value Creation Workshop: SDIL
IoT 2014 Value Creation Workshop: SDILIoT 2014 Value Creation Workshop: SDIL
IoT 2014 Value Creation Workshop: SDILTill Riedel
 
A device-free future of ubicomp?
A device-free future of ubicomp?A device-free future of ubicomp?
A device-free future of ubicomp?Till Riedel
 
Protocol Optimizations using anonymous EPC Gen2 Inventories
Protocol Optimizations using anonymous EPC Gen2 InventoriesProtocol Optimizations using anonymous EPC Gen2 Inventories
Protocol Optimizations using anonymous EPC Gen2 InventoriesTill Riedel
 
A gen2 based rfid authentication protocol
A gen2 based rfid authentication protocolA gen2 based rfid authentication protocol
A gen2 based rfid authentication protocolSunil Rm
 
From Load Forecasting to Demand Response - A Web of Things Use Case
From Load Forecasting to Demand Response  - A Web of Things Use CaseFrom Load Forecasting to Demand Response  - A Web of Things Use Case
From Load Forecasting to Demand Response - A Web of Things Use CaseTill Riedel
 

Destacado (8)

Pluggable Realworld Interfaces
Pluggable Realworld InterfacesPluggable Realworld Interfaces
Pluggable Realworld Interfaces
 
Relate: Architecture, Systems and Tools for Relative Positioning
Relate: Architecture, Systems and Tools for Relative PositioningRelate: Architecture, Systems and Tools for Relative Positioning
Relate: Architecture, Systems and Tools for Relative Positioning
 
IoT 2014 Value Creation Workshop: SDIL
IoT 2014 Value Creation Workshop: SDILIoT 2014 Value Creation Workshop: SDIL
IoT 2014 Value Creation Workshop: SDIL
 
A device-free future of ubicomp?
A device-free future of ubicomp?A device-free future of ubicomp?
A device-free future of ubicomp?
 
ParticleVM
ParticleVMParticleVM
ParticleVM
 
Protocol Optimizations using anonymous EPC Gen2 Inventories
Protocol Optimizations using anonymous EPC Gen2 InventoriesProtocol Optimizations using anonymous EPC Gen2 Inventories
Protocol Optimizations using anonymous EPC Gen2 Inventories
 
A gen2 based rfid authentication protocol
A gen2 based rfid authentication protocolA gen2 based rfid authentication protocol
A gen2 based rfid authentication protocol
 
From Load Forecasting to Demand Response - A Web of Things Use Case
From Load Forecasting to Demand Response  - A Web of Things Use CaseFrom Load Forecasting to Demand Response  - A Web of Things Use Case
From Load Forecasting to Demand Response - A Web of Things Use Case
 

Similar a Thesis presentation: Middleware for Ubicomp - A Model Driven Development Approach

Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...Prolifics
 
Challenges and solutions in Cloud computing for the Future Internet
Challenges and solutions in Cloud computing for the Future InternetChallenges and solutions in Cloud computing for the Future Internet
Challenges and solutions in Cloud computing for the Future InternetSOFIProject
 
Cloud computingjun28
Cloud computingjun28Cloud computingjun28
Cloud computingjun28korusamol
 
(R)evolution of the computing continuum - A few challenges
(R)evolution of the computing continuum  - A few challenges(R)evolution of the computing continuum  - A few challenges
(R)evolution of the computing continuum - A few challengesFrederic Desprez
 
Challenges in hybrid and federated cloud computing
Challenges in hybrid and federated cloud computingChallenges in hybrid and federated cloud computing
Challenges in hybrid and federated cloud computingIgnacio M. Llorente
 
OpenStack- The Time is Now - Lew Tucker, Cisco
OpenStack- The Time is Now - Lew Tucker, CiscoOpenStack- The Time is Now - Lew Tucker, Cisco
OpenStack- The Time is Now - Lew Tucker, Ciscoramdurairaj
 
OpenStack: Time is Now - Lew Tucker
OpenStack: Time is Now - Lew TuckerOpenStack: Time is Now - Lew Tucker
OpenStack: Time is Now - Lew TuckerLew Tucker
 
PhD defense: David Ameller
PhD defense: David AmellerPhD defense: David Ameller
PhD defense: David AmellerDavid Ameller
 
MICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context EvolutionMICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context EvolutionLuca Berardinelli
 
Scientific Cloud Computing: Present & Future
Scientific Cloud Computing: Present & FutureScientific Cloud Computing: Present & Future
Scientific Cloud Computing: Present & Futurestratuslab
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREAraf Karsh Hamid
 
TUW- 184.742 Emerging Dynamic Distributed Systems and Challenges for Advanced...
TUW- 184.742 Emerging Dynamic Distributed Systems and Challenges for Advanced...TUW- 184.742 Emerging Dynamic Distributed Systems and Challenges for Advanced...
TUW- 184.742 Emerging Dynamic Distributed Systems and Challenges for Advanced...Hong-Linh Truong
 
2013 mitchell ical_021213
2013 mitchell ical_0212132013 mitchell ical_021213
2013 mitchell ical_021213Erik Mitchell
 
Pulse Smarter Computing
Pulse Smarter ComputingPulse Smarter Computing
Pulse Smarter ComputingMauricio Godoy
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)David Rosenblum
 
Taiye Lambo - Auditing the cloud
Taiye Lambo - Auditing the cloudTaiye Lambo - Auditing the cloud
Taiye Lambo - Auditing the cloudnooralmousa
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud ComputingAnimesh Chaturvedi
 

Similar a Thesis presentation: Middleware for Ubicomp - A Model Driven Development Approach (20)

Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
 
Challenges and solutions in Cloud computing for the Future Internet
Challenges and solutions in Cloud computing for the Future InternetChallenges and solutions in Cloud computing for the Future Internet
Challenges and solutions in Cloud computing for the Future Internet
 
Cloud computingjun28
Cloud computingjun28Cloud computingjun28
Cloud computingjun28
 
Cloud computingjun28
Cloud computingjun28Cloud computingjun28
Cloud computingjun28
 
(R)evolution of the computing continuum - A few challenges
(R)evolution of the computing continuum  - A few challenges(R)evolution of the computing continuum  - A few challenges
(R)evolution of the computing continuum - A few challenges
 
Cloud Update
Cloud UpdateCloud Update
Cloud Update
 
Challenges in hybrid and federated cloud computing
Challenges in hybrid and federated cloud computingChallenges in hybrid and federated cloud computing
Challenges in hybrid and federated cloud computing
 
OpenStack- The Time is Now - Lew Tucker, Cisco
OpenStack- The Time is Now - Lew Tucker, CiscoOpenStack- The Time is Now - Lew Tucker, Cisco
OpenStack- The Time is Now - Lew Tucker, Cisco
 
OpenStack: Time is Now - Lew Tucker
OpenStack: Time is Now - Lew TuckerOpenStack: Time is Now - Lew Tucker
OpenStack: Time is Now - Lew Tucker
 
PhD defense: David Ameller
PhD defense: David AmellerPhD defense: David Ameller
PhD defense: David Ameller
 
Sa 008 patterns
Sa 008 patternsSa 008 patterns
Sa 008 patterns
 
MICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context EvolutionMICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context Evolution
 
Scientific Cloud Computing: Present & Future
Scientific Cloud Computing: Present & FutureScientific Cloud Computing: Present & Future
Scientific Cloud Computing: Present & Future
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
 
TUW- 184.742 Emerging Dynamic Distributed Systems and Challenges for Advanced...
TUW- 184.742 Emerging Dynamic Distributed Systems and Challenges for Advanced...TUW- 184.742 Emerging Dynamic Distributed Systems and Challenges for Advanced...
TUW- 184.742 Emerging Dynamic Distributed Systems and Challenges for Advanced...
 
2013 mitchell ical_021213
2013 mitchell ical_0212132013 mitchell ical_021213
2013 mitchell ical_021213
 
Pulse Smarter Computing
Pulse Smarter ComputingPulse Smarter Computing
Pulse Smarter Computing
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
 
Taiye Lambo - Auditing the cloud
Taiye Lambo - Auditing the cloudTaiye Lambo - Auditing the cloud
Taiye Lambo - Auditing the cloud
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud Computing
 

Más de Till Riedel

A Community Platform for Auto-Annotated Recreational Maps
A Community Platform for Auto-Annotated Recreational MapsA Community Platform for Auto-Annotated Recreational Maps
A Community Platform for Auto-Annotated Recreational MapsTill Riedel
 
Ubiquitous Resources Abstraction using a File System Interface on Sensor Nodes
Ubiquitous Resources Abstraction using a File System Interface on Sensor NodesUbiquitous Resources Abstraction using a File System Interface on Sensor Nodes
Ubiquitous Resources Abstraction using a File System Interface on Sensor NodesTill Riedel
 
Architecture for Collaborative Business Items
Architecture for Collaborative Business ItemsArchitecture for Collaborative Business Items
Architecture for Collaborative Business ItemsTill Riedel
 
Implicit Middleware
Implicit MiddlewareImplicit Middleware
Implicit MiddlewareTill Riedel
 
Barcodes, RFID or Smart Items? Evaluating track and trace technology today a...
Barcodes, RFID or Smart Items? Evaluating track and trace technology  today a...Barcodes, RFID or Smart Items? Evaluating track and trace technology  today a...
Barcodes, RFID or Smart Items? Evaluating track and trace technology today a...Till Riedel
 
uBox A Distributed Resource Management Architecture for the Web-of-Things
uBox A Distributed Resource Management Architecture for the Web-of-ThingsuBox A Distributed Resource Management Architecture for the Web-of-Things
uBox A Distributed Resource Management Architecture for the Web-of-ThingsTill Riedel
 
Using Web Service Gateways and Code Generation for Sustainable IoT System Dev...
Using Web Service Gateways and Code Generation for Sustainable IoT System Dev...Using Web Service Gateways and Code Generation for Sustainable IoT System Dev...
Using Web Service Gateways and Code Generation for Sustainable IoT System Dev...Till Riedel
 

Más de Till Riedel (8)

A Community Platform for Auto-Annotated Recreational Maps
A Community Platform for Auto-Annotated Recreational MapsA Community Platform for Auto-Annotated Recreational Maps
A Community Platform for Auto-Annotated Recreational Maps
 
Ubiquitous Resources Abstraction using a File System Interface on Sensor Nodes
Ubiquitous Resources Abstraction using a File System Interface on Sensor NodesUbiquitous Resources Abstraction using a File System Interface on Sensor Nodes
Ubiquitous Resources Abstraction using a File System Interface on Sensor Nodes
 
Architecture for Collaborative Business Items
Architecture for Collaborative Business ItemsArchitecture for Collaborative Business Items
Architecture for Collaborative Business Items
 
Implicit Middleware
Implicit MiddlewareImplicit Middleware
Implicit Middleware
 
Syncob
SyncobSyncob
Syncob
 
Barcodes, RFID or Smart Items? Evaluating track and trace technology today a...
Barcodes, RFID or Smart Items? Evaluating track and trace technology  today a...Barcodes, RFID or Smart Items? Evaluating track and trace technology  today a...
Barcodes, RFID or Smart Items? Evaluating track and trace technology today a...
 
uBox A Distributed Resource Management Architecture for the Web-of-Things
uBox A Distributed Resource Management Architecture for the Web-of-ThingsuBox A Distributed Resource Management Architecture for the Web-of-Things
uBox A Distributed Resource Management Architecture for the Web-of-Things
 
Using Web Service Gateways and Code Generation for Sustainable IoT System Dev...
Using Web Service Gateways and Code Generation for Sustainable IoT System Dev...Using Web Service Gateways and Code Generation for Sustainable IoT System Dev...
Using Web Service Gateways and Code Generation for Sustainable IoT System Dev...
 

Último

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 

Último (20)

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 

Thesis presentation: Middleware for Ubicomp - A Model Driven Development Approach

  • 1. Technology for Pervasive Computing Middleware for Ubiquitous Systems: a model driven development approach Till Riedel, TecO, Pervasive Computing Systems In a few decades there won’t be many industrial products that don’t have computers woven into them, just like a nervous system is woven into organisms”´ Karl Steinbuch, 1966 KIT – University of the State of Baden-Wuerttemberg and National Research Center of the Helmholtz Association www.kit.edu
  • 2. 2 Overview  Motivation  Approach / Thesis  Domain Architecture #1: Implicit Middleware  Optimized Distribution over heterogeneous, changing system environments  Domain Architecture #2: Generative GWs  Model Driven Sensor Network Gateway Generation
  • 3. Pushing computation 3 to the item Close gap between virtual world and reality Scale with the with the item Prof. Dr.-Ing. Michael Beigl
  • 4. Short History of Smart Items at TecO: 4 Relocation of Computation Collaborative Business Items (2006) In-situ detection of hazardous situations of chemical goods App: safety provision for worker, environment DigiClip (2004) Couple paper-based documents to computer-based document management systems App: Active physical (paper-based) documents eSeal (2004) Transform electronic contracts onto physical items, App: Trustworthy, continuous self-supervision of goods during transport, cold supply chain
  • 5. 5 Ubiquitous Computing Systems The industrial analogy: one engine (1900) for whole factory to many small specialized electrical motors (today) [Weiser, 1991] Technological Development Challenges Resource-constrained Devices Heterogeneous Environments Changing Context Cross-Domain Embedding (Bardram/Friday in Ubiquitous Computing Fundamentals, 2010) (Banavar, Bernstein, Software infrastructure and design challenges for ubiquitous computing applications, 2002) (Weiser, The computer of the 21st century, 1991)
  • 6. 6 The Software Engineering Problem Bottom up Top Down (Antithesis) Bandram, Friday, 2010: Experimental Milner, 2006: Tower of Models “As one experiment may enable a hypothesis to be refined “What concepts and properties are relevant to leading to further experiments cyclically, so a system describing a ubiquitous system?“ design may lead to another and be iteratively refined.” “Any system must be modelled at higher and lower Ubicomp systems development levels of abstraction.” historically based in the 90s SE: Rigorous approach to better participatory design, rapid prototyping understanding of the problem domain Problem: low-reuse of code&knowledge Problem: reality often too messy, Boehm, 2006: Hegelian Dialectics of Software Engineering’s Past Synthesis: Model driven software development (MDSD) Very pragmatic take on formalism. Rapid development using conceptual models. Tool (Bardram,Friday, Ubiquitous Computing Systems, in Ubiquitous Computing Fundamentals, 2010) (Milner, Ubiquitous computing: shall we understand it?, 2006) (Boehm, A view of 20th and 21st century software engineering,2006) (Voelter, Stahl, Czarnecki, Model-Driven Software Development: Technology, Engineering, Management, 2006)
  • 7. 7 Hypothesis Model Driven Software Development of Ubiquitous Systems solves the inherent contradiction between top-down and bottom-up development by deduction we then expect to see the following observable theses: MDSD in Ubicomp should lead to better a. flexibility (heterogeneity and re-use) b. code size, performance (resource constraints) c. complexity d. analyzability (tower of models) e. integrativeness (effects of successful MDSD according to Stahl 2010)
  • 8. 8 Methodology  apply model driven software development paradigm to complex realistic problems from the UbiComp domain and see if we can observe the theses The two common problems:  Distributed execution of services with changing execution context  Communication in heterogeneous low-power wireless networks „Abduction having suggested a theory, we employ deduction to deduce from that ideal theory a promiscuous variety of consequences to the effect that if we perform certain acts, we shall find ourselves confronted with certain experiences. We then proceed to try these experiments, and if the predictions of the theory are verified, we have a proportionate confidence that the experiments that remain to be tried will confirm the theory.“ – Peirce: Collected Papers (CP 8.209)
  • 9. #1: Implicit Middleware 9 Bytecode Distributed execution of services with changing execution context Prof. Dr.-Ing. Michael Beigl
  • 10. 10 Problem: Relocation of Service to SI Services Business Logic Backend Service Relocated Service Mapper Repository Smart Items (SI) Problem: no optimal modularisation strategy for smart item services  Fine granular modularization leads to high middleware overhead  Coarse modularization leads to suboptimal mapping Required knowledge not available at development time
  • 11. 11 Solution: Automatic partitioning System Cost Platform State Model Middleware Code Optimization Generation Profile Relocated Service Distributed SI Service Solution: Use implicit middleware instead of explicit modularization. Find optimal distribution and insert Middleware where needed.
  • 12. 12 The Domain Architecture Web Service Service Mapper Web Service  Input Models/Artefacts: Service Repository Web Service System State  Service  System state code, profile state  Cost Web Service Web Service cost Implicit Middleware Device Manager  Profile Given: CoBIs, SAP (SI)² Integration  Transformations:  Optimization WebAS Platform  Middleware Generation Server Gateway Smart Item Service  Product:  platform-specific, Product: Distributed SI Services distribution-optimized binaries  Platform:  Embedded JavaVM Platform: CatPart, ParticleVM
  • 13. 13 The MDSD approach Describes mapping from models to platform: Input 1. Describe domain using formal models / domain specific languages 2. Build a reference product 3. Develop generic meta-model based Optimization transformations 4. Automate the process using domain architecture Middleware Generation  Not quite the typical MDSD:  DSL partially create as binary artifacts by other systems  use reverse engineering Product  some AI involved (search and optimization)  but implemented as EMF Workflow
  • 14. 15 Idea: Class based optimal assignment EnvNode DrumConditionService LocalGateway TemperatureSensor AlarmSystem TempSensor_native TemperatureSensingTask Alarm 0,4 397 1 0.03 27,79 0,01 DrumNode DrumNode (default package) ConditionServiceMain 3 0,27 AccelerationSensor FrequencyController AccellerationSensor_native FrequencyControler Fft 3 3 3 3,71 24,08 2,8 Simple Cost Model com DrumNode 9 20 100 EnvNode 7 100 Local GW 100
  • 15. 16 A Domain Homomorphism RelocatedService Distributed SI Service Byte Code Transformation t φ ‘-1 φ φ Mathematical Programming Optimization o Assignment Optimal Problem Assignment Map Problem to domain/goal driven, conceptual representation
  • 16. 17 Optimization Transform Find Mapping Function: classes platforms of application of system state via indicator function Objective Function: Constraints: Map all classes Fix some classes Obey available ROM
  • 17. Mathematical Programming (ZIMPL) 18 as Implementation Objective Function: minimize cost: sum <p,c> in PLATFORMS*CLASSES: c_exec_c[c] * c_exec_p[p] * mu[p,c] + sum <p0,p1,c0,c1> in PLATFORMS*CLASSES * PLATFORM*CLASSES: c_link_c[c0,c1] * c_link_p[p0,p1] * mu_times_mu[p0,c0,p1,c1]; #mu_times_mu(c0,p0,c1,p1) equals mu(c0,p0)*mu(c1,p1) subto if_mu_and_mu_the_mu2: forall <p0,p1,c0,c1> in MAP2 do mu_times_mu[m0,m1,c0,c1] >= mu[m0,c0]+mu[p1,c1,p0,c1]-1; Constraints: subto map_all_classes: forall <c> in CLASSES: sum <m> in MACHINES : mu[m,c] > 0;
  • 18. 19 State dependent (re-)deployment EnvNode LocalGatewayLocalGateway before after TemperatureSensor AlarmSystem TempSensor_native TemperatureSensingTask Alarm 0,4 397 1 0.03 27,79 0,01 DrumNode DrumNode (default package) Slow 330 330 ConditionServiceMain + 420 + 420 3 0,27 0,01 = 231 = 231 AccelerationSensor AccellerationSensor_native FrequencyController FrequencyControler Fft Fast 330 330 3 3,71 24,08 3 0,19 2,8 3 0,02 + 420 + 420 = 231 = 231 Slow Network and Nodes Faster network 7 20 100 7 20 10 9 100 9 10 100 100
  • 19. LocalGateway 21 Lazy Middleware Generation DispatchHelper Fft DrumNode  EMF-Adapter for Java Byte-code AccelerationSensor AccellerationSensor_native FrequencyControler FrequencyControle  Fully automatic, platform-dependent stub/dispatcher generation  Meta-model-based QVT-R and ETL byte code-transformation 1. Remove instructions, fields (for stub 2. Add remote pointer 3. Transform signature to pushX/popX Sequence  Minimal static platform layer, efficient generated byte-code
  • 20. 22 Runtime Performance  better than handwritten code*  lazy middleware insertion  optimal distribution**  low run-time overhead * if execution context changes, **exact solution regarding model
  • 22. Ubiquitous communication 24 platforms 32 bit ARM9, 2M RAM/512M Flash/528 MHz, GSM/UMTS/WiFi/BT, Android 32 bit AR7 MIPSel,2MB RAM/8MB Flash/212MHz, IP, DSL/WiFi/Ethernet, Linux 32 bit ARM7 256KB RAM/2MB Flash/80 MHz, 802.15.4, Java 32 bit OpenRISC NIC, 96K RAM/192K Flash/16 MHz, 6lowPAN,Contiki 8bit PIC18F6720 MCU 4KB RAM /128KB Flash,5MIPS, Awarecon, C/Java 8bit rfPIC 64 Byte RAM/1.4 KB Flash 1MIPS, C/Config only No MCU, 1bit-4kbyte EEPROM
  • 23. 25 Sensor Web Services ABB Aletheia mobile Client C WebService Service Proxy S' GW GW Sensor GW Measurement Service S The question will not be how to write a single gateway but how to write all the gateways needed in the future…
  • 24. 26 Model based Transformation Gateway WS/WSN TransportA WS Comm. TransportA TransformationXA TransformationGW_AB <sample> ….</sample> PlatformX TransportB 111|101001011|1011 How to write transformations • Manual Proxies • Declarative Mapping • uMiddle TransportB • CoBIS UPnP GW TransformationXB Better: Implicit Mapping! PlatformY
  • 25. 27 Domain Architecture Models:  High Level Message Model ABB  (XML Schema, UML/MOF, …) Aletheia mobile Transformations:  Automata Representation  Aspect-oriented Platform and Encoding support Product:  m:n Gateways  Platform De/Encoders  Query Interfaces Plattforms:  Various SensorNodes (, RFID)  Embedded Gateways (Linux)  Microsoft .NET / WCF4
  • 26. 28 Model Based Transformation Domain specific Abstract, Executable Platform Specific
  • 27. Visibly Pushdown Automata 29 & Aspect Oriented code generation read(10bit)/10-20  High code reuse factor 0 1  Efficient execution <sample>  MCU: min. RAM/Jumps  Encoding Aspects  Grammar Based Compression  Platform optimization: Align/Endian/Shift encoding  Automated Encoding Translation  Platform Aspects  (C, Java, Proto-threads, SAX, DOM,…)  Cross-Layer Network Integration  Physical Layer Query Support
  • 28. 30 DPWS Gateway Particle/plain C/AwareCon WCF 4.0/C#/IP AVR Fritzbox 7170,AR7@150 MHz, 8MB
  • 30. 32 Conclusion  MDSD addresses core problem of UbiComp (middle-out development)  Formal models can really help to easily solve real life UbiComp SE problems  Tower of Models  DPWS GWs have successfully used in multiple projects (takes 1 person night to adapt to new platform ;) )  Thesis captures best practices/experiences from past practical projects  (>5 research projects, over 50 scientific publications)  Horizontal scoping (pervasive services, middleware) allowed efficient Model driven development for UbiComp  Discussion:  only partially practical/complete solutions  in research projects  what about vertical scoping == ubicomp applications?
  • 31. Also tried to scope and develop in 33 some real vertical domains… landmarke ServIoT UbiML …, but there were not conclusive results.
  • 32. 34 A qualified Hypothesis Theses: MDSD has led to better a. flexibility (heterogeneity and re-use) b. code size, performance (resource constraints) c. complexity d. analyzability (tower of models) e. integrativeness Qualified Hypothesis: Model Driven Software Development of Ubiquitous Systems solves the inherent contradiction between top-down and bottom-up development for Middleware for Ubiquitous Systems