SlideShare une entreprise Scribd logo
1  sur  26
Implicit Middleware
T. Riedel, M. Beigl, M. Berchtold, C. Decker
and A. Puder
Motivation



   Information systems                                   Information

                      Files
                              Data bases
                                                 Object-ID           State     Processes


                                 Barcode         RFID               Sensor     Smart
                     Manual      scanning        Tags               networks   Items
                     Accumulation

      Real world                         Objects, items, activities, events



Control of complex information flows between
  processes in the real world and computer-based
  information systems.

Till Riedel , TecO               Persys'08, Monterrey, 14.11.2008                          2
Motivation: CoBis

 Business Logic describes the real world
 processes in a virtual representation

 Interfaces needed to couple real and virtual
 world and keep consistency

 Smart Items:
 deploy business logic on sensor nodes
 Example CoBIs:
    SAP Environment Health and Safety (EH&S)
    Sensor Nodes on Chemical Drums

 Storage Regulations Detection Services:
    Storage Incompatibility
    Absolute volume limit
    Temperature / Environmental constraints


Till Riedel , TecO           Persys'08, Monterrey, 14.11.2008   3
Relocation of Services
                     B u s in e s s L o g ic B a c k e n d
                           Task



                     S e n s o r N e tw o rk          R e lo c a te d
                                                   Relocated Task
                                                          Task




                                                 C o lla b o r a tiv e B u s in e s s
                                                                Ite m s

 Challenge:
 Integration Sensing Services in Application Framework

 Problems:
 How to provide syntactically and semantically equal Interfaces?
 How to integrate into development process?
 How much of the code to execute on “the Node”?
 How to partition (existing) Services?

Till Riedel , TecO                          Persys'08, Monterrey, 14.11.2008            4
Design of an Implicit Middleware




 How much of code to execute on “the node”?
   Development date != deployment date
   Changing Hardware
         Advances in Hardware
         Use of more constraint/cheaper HW

   Changing Constraints
         Lifetime/energy   saving constraints differ per application (not per service)
   Changing Networking/topologies
         Based on local necessities, link costs vary with topologies (1 vs. n hop)
         Networks with hybrid nodes: more powerful router/gateway nodes

Till Riedel , TecO                 Persys'08, Monterrey, 14.11.2008                 5
Design of an Implicit Middleware




 How to partition (existing) Services?
    Maintain semantics of existing Service (Middleware):
         Location  transparency
         Access transparency
         Concurrency transparency
         Failure transparency *
         Technology transparency

    Adding Middleware adds new abstractions:
     use VM semantics instead !!

Till Riedel , TecO            Persys'08, Monterrey, 14.11.2008   6
Implicit Middleware Work-flow




 Generating the optimal distribution of an application/service
    Optimality based on model !

 Just before deployment

 Implementation optimizes execution times
    network
    instruction


Till Riedel , TecO         Persys'08, Monterrey, 14.11.2008   7
Transformation Architecture

                                                                     System
       Java App/Service             Platform Models
                                                                     Landscape
                       Simulation                                      Monitoring
                          Trace Model                         System Model


      Byte-Code                                     Optimization Problem
      Transformation
                                                  Optimization
                        Allocation
                        Model

Distributed App
                                                                Deployment
                                 Instantiation
Till Riedel , TecO         Persys'08, Monterrey, 14.11.2008                  8
Modeling Software and System

                                                                     System
       Java App/Service             Platform Models
                                                                     Landscape
                     Simulation                                     Monitoring
                          Trace Model                         System Model


                                                    Optimization Problem


                      Allocation
                      Model

Distributed App
                                                                Deployment

Till Riedel , TecO         Persys'08, Monterrey, 14.11.2008                  9
System/Trace Model

System Model
    References Platform Model                                                      System
                                                         Platform Models
                                                                                    Landscape
         Contains cost functions/parameters
         User defined/from simulation

    Generated from Node Discovery                                         System Model


Trace Model
    Use Eclipse Test and Performance Tools
         Generates   ecore model
    Use simulated inputs
         Currently by random distribution                    Monolithic Java App
         Set of simulated runtime libraries

    Execute program locally
                                                                                Trace Model
    Approximate
         average execution time of Class A
         average number of calls from Class A to B



Till Riedel , TecO               Persys'08, Monterrey, 14.11.2008                      10
Optimization

                                                                     System
       Java App/Service             Platform Models
                                                                     Landscape


                          Trace Model                         System Model


                                                    Optimization Problem
                                                  Optimization
                      Allocation
                      Model

Distributed App
                                                                Deployment

Till Riedel , TecO         Persys'08, Monterrey, 14.11.2008                  11
Optimization

                                                            Trace Model          System Model
  Generate formal ILP Problem that
 assigns all classes to a Platform
                                                                          Optimization Problem

 (              is the allocation relation to be found)                       Optimization

 while minimizing communication                                             Allocation
                                                                             Model
 and execution costs
 
                                                                      is a product :(



  Sensor Classes and immovable interfaces
 are fixed:




Till Riedel , TecO              Persys'08, Monterrey, 14.11.2008                        12
Byte-Code Transformation

                                                                     System
       Java App/Service             Platform Models
                                                                     Landscape


                          Trace Model                         System Model


      Byte-Code                                     Optimization Problem
      Transformation
                       Allocation
                       Model

Distributed App
                                                                Deployment

Till Riedel , TecO         Persys'08, Monterrey, 14.11.2008                  13
Byte-Code Transformation
1st Stage: Partitioning
 Generate platform                                                 Monolithic Java App
 independent middleware code
                                                                                   Allocation Model
2 Stage:
 nd

Target code generation                                           Distributed App
  Use of XSLT technology
  Principal support for arbitrary
   target language
  Proof of concept javascript/C++
   targets
                                                  Uses either ASM or XMLVM for
Example: computationally heavy or                 code analysis/rewriting
classes w/ WS interface
                                                  Transformations build to
                                                  retain code semantics
                                                   Statical analysis and
                                                  rewriting/code generation on
                                                  byte code/XMLVM level

 Till Riedel , TecO           Persys'08, Monterrey, 14.11.2008                           14
Stub and Dispatcher Generation




 Generated class stubs replace remote classes
    Interface to middleware runtime
    Connects local and remote garbage collection

 Generated dispatcher
    No runtime reflection
    Perfect hash (possible because of late optimization)



Till Riedel , TecO           Persys'08, Monterrey, 14.11.2008   15
Transparent Distribution




 Stubs call Middleware to marshal calls
    Simple push interface
    Type safe for basic data types
    Objects are passed by reference
    Add fixed class and method id

 Dispatch calls method by id
    pops arguments from message
Till Riedel , TecO           Persys'08, Monterrey, 14.11.2008   16
Runtime Architecture


         Generi
         c




        Portabl
        e                                               Specifi
                                                        c

Till Riedel , TecO   Persys'08, Monterrey, 14.11.2008       17
Instantiation

                                                                     System
       Java App/Service             Platform Models
                                                                     Landscape


                          Trace Model                         System Model


                                                    Optimization Problem


                      Allocation
                      Model

Distributed App
                                                                Deployment
                                 Instantiation
Till Riedel , TecO         Persys'08, Monterrey, 14.11.2008                  18
Deployment: Java on Particles/Sun Spots

   Ultra light-weight Java VM on Particle computers
   Further size and static optimizations on byte code level




Platform Independent                  CLDC 1.1 Java
    Java ByteCode                      for Sun Spots

                                   Strip down,
                                   optimization, versioning    Java
                                                          Virtual Machine
                                          Wireless
       Java ByteCode                      Transfer
        for Particles
                                  Versioning control,
                                  Selective updates,          Particle Computer
                                  Mass programming


Till Riedel , TecO         Persys'08, Monterrey, 14.11.2008            19
Optimization Results
Optimizing only for call latencies




Optimizing only for execution times




 Till Riedel , TecO       Persys'08, Monterrey, 14.11.2008   20
Performance

 Optimizer (Simple Vibration Alarm Example)
    Using ZIMPL Interface: 342 variables and 980 constraints
    Solved 0.2s on 1.65GHz x86 CPU by soPlex solver
    Branch and Bound
    Called once on deployment

 Middleware Overhead
    Particle Computer
         Low execution overhead (typ. <1ms per call vs. 13ms RF slot)
         Low memory overhead (in bytes):

   




    Sun Spots
         Stub w/ Methods: code size 4,13 kByte
         High overhead due to thread generation (round trip >500 ms!!!)

Till Riedel , TecO              Persys'08, Monterrey, 14.11.2008           21
Limitations/Discussion I

 More complex cost models?
    Trace model based
         Also becomes more difficult to model
         Exhaustive search
            implemented but slow
            Possible heuristics are questionable
         Describe as non-linear (convex) optimizations
            does also not describe most network effects

    Simulation in the loop
         Easy  integrability
            All VM based
            Simulator hooks can be generated
         Really costly!




Till Riedel , TecO           Persys'08, Monterrey, 14.11.2008   22
Limitations/Discussion II

  Finer granularity for partitioning?
     Object mobility
           Probably   needed for realistic apps
           Stubs for all classes
           Synchronization overhead = more runtime middleware
           Efficient only with more statical analysis (data flow)

     Function level
           Need     to expose internal state
     Instruction level
        More difficult to retain semantics
        Distributed VM




Till Riedel , TecO                 Persys'08, Monterrey, 14.11.2008   23
Conclusion

  Solution for easy development of “smart item” technology (1-click)

  Optimizes partitioning between hybrid devices
    Based on device capabilities
    Network properties

  Implementation using generative model based approach
    Minimal runtime requirements
    No reflection / efficient platform independent code

 Support for energy efficient Particle sensor nodes and CLDC 1.1




Till Riedel , TecO          Persys'08, Monterrey, 14.11.2008   24
Future Directions

 Integration in Deployment Framework like OSGi
   Run Implicit Middleware as container/host
    rOSGi synergies?

 Start directly from Abstract Models
    Does not require “reverse” engineering of classes
    System already nicely integrates in EMF Toolchain
    Build better models for simulation aspects
    Integrate e.g. performance measures earlier in development process

 Support for distributed sensor networking
    Capture semantics of context
    Move away from pure Java semantics
    Support parallel aggregating/redundant operations with variable # of
     nodes



Till Riedel , TecO          Persys'08, Monterrey, 14.11.2008         25
Questions?



Till Riedel , TecO   Persys'08, Monterrey, 14.11.2008   26

Contenu connexe

En vedette

Object and component based middleware for distributed system development
Object and component based middleware for distributed system developmentObject and component based middleware for distributed system development
Object and component based middleware for distributed system development
ektabhalwara
 

En vedette (11)

Object and component based middleware for distributed system development
Object and component based middleware for distributed system developmentObject and component based middleware for distributed system development
Object and component based middleware for distributed system development
 
Entity beans in java
Entity beans in javaEntity beans in java
Entity beans in java
 
Java bean
Java beanJava bean
Java bean
 
Introduction to EJB
Introduction to EJBIntroduction to EJB
Introduction to EJB
 
EJB3 Basics
EJB3 BasicsEJB3 Basics
EJB3 Basics
 
Middleware
MiddlewareMiddleware
Middleware
 
Enterprise Java Beans - EJB
Enterprise Java Beans - EJBEnterprise Java Beans - EJB
Enterprise Java Beans - EJB
 
EJB .
EJB .EJB .
EJB .
 
Lecture 8 Enterprise Java Beans (EJB)
Lecture 8  Enterprise Java Beans (EJB)Lecture 8  Enterprise Java Beans (EJB)
Lecture 8 Enterprise Java Beans (EJB)
 
Explicit v implicit
Explicit v  implicitExplicit v  implicit
Explicit v implicit
 
Entreprise Java Beans (EJB)
Entreprise Java Beans (EJB)Entreprise Java Beans (EJB)
Entreprise Java Beans (EJB)
 

Similaire à Implicit Middleware

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
Luca Berardinelli
 
Model Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & FutureModel Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & Future
elliando dias
 
Analyze your software assets with Modisco par Frédéric Madiot
Analyze your software assets with Modisco par Frédéric MadiotAnalyze your software assets with Modisco par Frédéric Madiot
Analyze your software assets with Modisco par Frédéric Madiot
EclipseDayParis
 
Best practices for building and deploying predictive models over big data pre...
Best practices for building and deploying predictive models over big data pre...Best practices for building and deploying predictive models over big data pre...
Best practices for building and deploying predictive models over big data pre...
Kun Le
 
Solution de génération de rapport OpenDocument à partir de plusieurs sources ...
Solution de génération de rapport OpenDocument à partir de plusieurs sources ...Solution de génération de rapport OpenDocument à partir de plusieurs sources ...
Solution de génération de rapport OpenDocument à partir de plusieurs sources ...
EclipseDayParis
 
Enabling high level application development for internet of things
Enabling high level application development for internet of thingsEnabling high level application development for internet of things
Enabling high level application development for internet of things
Pankesh Patel
 

Similaire à Implicit Middleware (20)

Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...
Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...
Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...
 
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
 
Oracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureOracle Cloud Reference Architecture
Oracle Cloud Reference Architecture
 
Elements of DDD with ASP.NET MVC & Entity Framework Code First
Elements of DDD with ASP.NET MVC & Entity Framework Code FirstElements of DDD with ASP.NET MVC & Entity Framework Code First
Elements of DDD with ASP.NET MVC & Entity Framework Code First
 
System model optimization through functional models execution methodology and...
System model optimization through functional models execution methodology and...System model optimization through functional models execution methodology and...
System model optimization through functional models execution methodology and...
 
Model Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & FutureModel Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & Future
 
Towards Enterprise Interoperability Service Utilities
Towards Enterprise Interoperability Service UtilitiesTowards Enterprise Interoperability Service Utilities
Towards Enterprise Interoperability Service Utilities
 
Analyze your software assets with Modisco par Frédéric Madiot
Analyze your software assets with Modisco par Frédéric MadiotAnalyze your software assets with Modisco par Frédéric Madiot
Analyze your software assets with Modisco par Frédéric Madiot
 
java
javajava
java
 
SRCenabling application development for the internet of things
SRCenabling  application development for the internet of thingsSRCenabling  application development for the internet of things
SRCenabling application development for the internet of things
 
Best practices for building and deploying predictive models over big data pre...
Best practices for building and deploying predictive models over big data pre...Best practices for building and deploying predictive models over big data pre...
Best practices for building and deploying predictive models over big data pre...
 
Developing Actors in Azure with .net
Developing Actors in Azure with .netDeveloping Actors in Azure with .net
Developing Actors in Azure with .net
 
Framework
FrameworkFramework
Framework
 
NCOIC SCOPE Executive Overview
NCOIC SCOPE Executive OverviewNCOIC SCOPE Executive Overview
NCOIC SCOPE Executive Overview
 
Solution de génération de rapport OpenDocument à partir de plusieurs sources ...
Solution de génération de rapport OpenDocument à partir de plusieurs sources ...Solution de génération de rapport OpenDocument à partir de plusieurs sources ...
Solution de génération de rapport OpenDocument à partir de plusieurs sources ...
 
Framework Engineering
Framework EngineeringFramework Engineering
Framework Engineering
 
Enabling high level application development for internet of things
Enabling high level application development for internet of thingsEnabling high level application development for internet of things
Enabling high level application development for internet of things
 
Interoperability for Intelligence Applications using Data-Centric Middleware
Interoperability for Intelligence Applications using Data-Centric MiddlewareInteroperability for Intelligence Applications using Data-Centric Middleware
Interoperability for Intelligence Applications using Data-Centric Middleware
 
Lambda Architecture 2.0 Convergence between Real-Time Analytics, Context-awar...
Lambda Architecture 2.0 Convergence between Real-Time Analytics, Context-awar...Lambda Architecture 2.0 Convergence between Real-Time Analytics, Context-awar...
Lambda Architecture 2.0 Convergence between Real-Time Analytics, Context-awar...
 
PhD defense: David Ameller
PhD defense: David AmellerPhD defense: David Ameller
PhD defense: David Ameller
 

Plus de Till 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 Positioning
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 Inventories
Till Riedel
 
Pluggable Realworld Interfaces
Pluggable Realworld InterfacesPluggable Realworld Interfaces
Pluggable Realworld Interfaces
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 Maps
Till 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 Nodes
Till Riedel
 
Architecture for Collaborative Business Items
Architecture for Collaborative Business ItemsArchitecture for Collaborative Business Items
Architecture for Collaborative Business Items
Till 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
 
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
 

Plus de Till Riedel (14)

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
 
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?
 
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
 
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
 
Pluggable Realworld Interfaces
Pluggable Realworld InterfacesPluggable Realworld Interfaces
Pluggable Realworld Interfaces
 
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
 
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...
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Dernier (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Implicit Middleware

  • 1. Implicit Middleware T. Riedel, M. Beigl, M. Berchtold, C. Decker and A. Puder
  • 2. Motivation Information systems Information Files Data bases Object-ID State Processes Barcode RFID Sensor Smart Manual scanning Tags networks Items Accumulation Real world Objects, items, activities, events Control of complex information flows between processes in the real world and computer-based information systems. Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 2
  • 3. Motivation: CoBis Business Logic describes the real world processes in a virtual representation Interfaces needed to couple real and virtual world and keep consistency Smart Items: deploy business logic on sensor nodes Example CoBIs:  SAP Environment Health and Safety (EH&S)  Sensor Nodes on Chemical Drums Storage Regulations Detection Services:  Storage Incompatibility  Absolute volume limit  Temperature / Environmental constraints Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 3
  • 4. Relocation of Services B u s in e s s L o g ic B a c k e n d Task S e n s o r N e tw o rk R e lo c a te d Relocated Task Task C o lla b o r a tiv e B u s in e s s Ite m s Challenge: Integration Sensing Services in Application Framework Problems: How to provide syntactically and semantically equal Interfaces? How to integrate into development process? How much of the code to execute on “the Node”? How to partition (existing) Services? Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 4
  • 5. Design of an Implicit Middleware How much of code to execute on “the node”?  Development date != deployment date  Changing Hardware  Advances in Hardware  Use of more constraint/cheaper HW  Changing Constraints  Lifetime/energy saving constraints differ per application (not per service)  Changing Networking/topologies  Based on local necessities, link costs vary with topologies (1 vs. n hop)  Networks with hybrid nodes: more powerful router/gateway nodes Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 5
  • 6. Design of an Implicit Middleware How to partition (existing) Services?  Maintain semantics of existing Service (Middleware):  Location transparency  Access transparency  Concurrency transparency  Failure transparency *  Technology transparency  Adding Middleware adds new abstractions: use VM semantics instead !! Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 6
  • 7. Implicit Middleware Work-flow Generating the optimal distribution of an application/service  Optimality based on model ! Just before deployment Implementation optimizes execution times  network  instruction Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 7
  • 8. Transformation Architecture System Java App/Service Platform Models Landscape Simulation Monitoring Trace Model System Model Byte-Code Optimization Problem Transformation Optimization Allocation Model Distributed App Deployment Instantiation Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 8
  • 9. Modeling Software and System System Java App/Service Platform Models Landscape Simulation Monitoring Trace Model System Model Optimization Problem Allocation Model Distributed App Deployment Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 9
  • 10. System/Trace Model System Model  References Platform Model System Platform Models Landscape  Contains cost functions/parameters  User defined/from simulation  Generated from Node Discovery System Model Trace Model  Use Eclipse Test and Performance Tools  Generates ecore model  Use simulated inputs  Currently by random distribution Monolithic Java App  Set of simulated runtime libraries  Execute program locally Trace Model  Approximate  average execution time of Class A  average number of calls from Class A to B Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 10
  • 11. Optimization System Java App/Service Platform Models Landscape Trace Model System Model Optimization Problem Optimization Allocation Model Distributed App Deployment Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 11
  • 12. Optimization Trace Model System Model  Generate formal ILP Problem that assigns all classes to a Platform Optimization Problem ( is the allocation relation to be found) Optimization while minimizing communication Allocation Model and execution costs  is a product :(  Sensor Classes and immovable interfaces are fixed: Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 12
  • 13. Byte-Code Transformation System Java App/Service Platform Models Landscape Trace Model System Model Byte-Code Optimization Problem Transformation Allocation Model Distributed App Deployment Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 13
  • 14. Byte-Code Transformation 1st Stage: Partitioning Generate platform Monolithic Java App independent middleware code Allocation Model 2 Stage: nd Target code generation Distributed App  Use of XSLT technology  Principal support for arbitrary target language  Proof of concept javascript/C++ targets Uses either ASM or XMLVM for Example: computationally heavy or code analysis/rewriting classes w/ WS interface Transformations build to retain code semantics  Statical analysis and rewriting/code generation on byte code/XMLVM level Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 14
  • 15. Stub and Dispatcher Generation Generated class stubs replace remote classes  Interface to middleware runtime  Connects local and remote garbage collection Generated dispatcher  No runtime reflection  Perfect hash (possible because of late optimization) Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 15
  • 16. Transparent Distribution Stubs call Middleware to marshal calls  Simple push interface  Type safe for basic data types  Objects are passed by reference  Add fixed class and method id Dispatch calls method by id  pops arguments from message Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 16
  • 17. Runtime Architecture Generi c Portabl e Specifi c Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 17
  • 18. Instantiation System Java App/Service Platform Models Landscape Trace Model System Model Optimization Problem Allocation Model Distributed App Deployment Instantiation Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 18
  • 19. Deployment: Java on Particles/Sun Spots Ultra light-weight Java VM on Particle computers Further size and static optimizations on byte code level Platform Independent CLDC 1.1 Java Java ByteCode for Sun Spots Strip down, optimization, versioning Java Virtual Machine Wireless Java ByteCode Transfer for Particles Versioning control, Selective updates, Particle Computer Mass programming Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 19
  • 20. Optimization Results Optimizing only for call latencies Optimizing only for execution times Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 20
  • 21. Performance Optimizer (Simple Vibration Alarm Example)  Using ZIMPL Interface: 342 variables and 980 constraints  Solved 0.2s on 1.65GHz x86 CPU by soPlex solver  Branch and Bound  Called once on deployment Middleware Overhead  Particle Computer  Low execution overhead (typ. <1ms per call vs. 13ms RF slot)  Low memory overhead (in bytes):   Sun Spots  Stub w/ Methods: code size 4,13 kByte  High overhead due to thread generation (round trip >500 ms!!!) Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 21
  • 22. Limitations/Discussion I More complex cost models?  Trace model based  Also becomes more difficult to model  Exhaustive search  implemented but slow  Possible heuristics are questionable  Describe as non-linear (convex) optimizations  does also not describe most network effects  Simulation in the loop  Easy integrability  All VM based  Simulator hooks can be generated  Really costly! Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 22
  • 23. Limitations/Discussion II Finer granularity for partitioning?  Object mobility  Probably needed for realistic apps  Stubs for all classes  Synchronization overhead = more runtime middleware  Efficient only with more statical analysis (data flow)  Function level  Need to expose internal state  Instruction level  More difficult to retain semantics  Distributed VM Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 23
  • 24. Conclusion  Solution for easy development of “smart item” technology (1-click)  Optimizes partitioning between hybrid devices  Based on device capabilities  Network properties  Implementation using generative model based approach  Minimal runtime requirements  No reflection / efficient platform independent code Support for energy efficient Particle sensor nodes and CLDC 1.1 Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 24
  • 25. Future Directions Integration in Deployment Framework like OSGi  Run Implicit Middleware as container/host  rOSGi synergies? Start directly from Abstract Models  Does not require “reverse” engineering of classes  System already nicely integrates in EMF Toolchain  Build better models for simulation aspects  Integrate e.g. performance measures earlier in development process Support for distributed sensor networking  Capture semantics of context  Move away from pure Java semantics  Support parallel aggregating/redundant operations with variable # of nodes Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 25
  • 26. Questions? Till Riedel , TecO Persys'08, Monterrey, 14.11.2008 26

Notes de l'éditeur

  1. Die Schlüsselposition der Perv.Comp.Systeme führt zu einer noch stärkeren Informatisierung der realen Welt