KIT – University of the State of Baden-Wuerttemberg and National Research Center of the Helmholtz Association www.kit.edu 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
33
Embed
Thesis presentation: Middleware for Ubicomp - A Model Driven Development Approach
With computers that will be interwoven into almost every industrial product like its nervous system (Steinbuch, 1966) we are already approaching what Weiser (1991) called Ubiquitous Computing, in terms of quantity, degree of embedding of computing systems in our life and work environment.
This thesis investigates model driven software development (MDSD) approach as a tool for contextual adaption of ubiquitous systems. Ubiquitous Systems (i.e. the embedded devices) are subject to changes that affect the execution of software. The systems are very heterogeneous and and the designer has to take a diverse set of plattforms and ressource constrained hardware into consideration.
By implementing a model driven development techniques for core problems of ubiquitous computing, namely distributed execution and heterogeneous communication in ubiquitous systems the work demonstrates that Model Driven Software Development of Ubiquitous Systems maybe used to solve the inherent contradiction between top-down and bottom-up development of networked embedded systems.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
KIT – University of the State of Baden-Wuerttemberg and
National Research Center of the Helmholtz Association www.kit.edu
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
2
Overview
Motivation
Approach / Thesis
Domain Architecture #1: Implicit Middleware Optimized Distribution over heterogeneous, changing system
App: Trustworthy, continuous self-supervision of goods during transport, cold supply chain
5
Ubiquitous Computing Systems
Technological Development Challenges
Resource-constrained Devices
Heterogeneous Environments
Changing Context
Cross-Domain Embedding
The industrial analogy: one engine (1900) for whole factory to many small specialized electrical motors (today) [Weiser, 1991]
(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
Bandram, Friday, 2010: Experimental
“As one experiment may enable a hypothesis to be refined leading to further experiments cyclically, so a system design may lead to another and be iteratively refined.”
Ubicomp systems development historically based in the 90s SE: participatory design, rapid prototyping
Problem: low-reuse of code&knowledge
Boehm, 2006: Hegelian Dialectics of Software Engineering’s Past
Top Down (Antithesis)
Milner, 2006: Tower of Models
“What concepts and properties are relevant to describing a ubiquitous system?“
“Any system must be modelled at higher and lower levels of abstraction.”
Rigorous approach to better understanding of the problem domain
Problem: reality often too messy,
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)
9
Bytecode
Prof. Dr.-Ing. Michael Beigl
#1: Implicit Middleware Distributed execution of services with changing execution context
10
Problem: Relocation of Service to SI Services
Service
Relocated
Service
Smart Items (SI)
Business Logic Backend
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
Repository Mapper
11
Solution: Automatic partitioning
Optimization
System State
Cost Model Middleware
Generation
Profile
Distributed
SI Service
PlatformCode
Relocated
Service
Solution: Use implicit middleware instead of explicit modularization. Find optimal distribution and insert Middleware where needed.
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?
33 Also tried to scope and develop in some real vertical domains…
…, but there were not conclusive results.
ServIoT UbiML landmarke
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