Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 Service Behavior Consistency in the OSGi Platform Authors Y.Qin, H.Hao,L.Jun, G.Jidong and L.Jian Proceedings.

Slides:



Advertisements
Similar presentations
Translation-Based Compositional Reasoning for Software Systems Fei Xie and James C. Browne Robert P. Kurshan Cadence Design Systems.
Advertisements

Verification of Evolving Software Natasha Sharygina Joint work with Sagar Chaki and Nishant Sinha Carnegie Mellon University.
An Introduction to Channel Routing
Bayesian Networks Bucket Elimination Algorithm 主講人:虞台文 大同大學資工所 智慧型多媒體研究室.
國立台灣大學 資訊工程學系 Chapter 4: Threads. 資工系網媒所 NEWS 實驗室 Objectives To introduce the notion of a thread — a fundamental unit of CPU utilization that forms the.
Hidden Markov Model 主講人:虞台文 大同大學資工所 智慧型多媒體研究室. Contents Introduction – Markov Chain – Hidden Markov Model (HMM) Formal Definition of HMM & Problems Estimate.
Optimization Problems 虞台文 大同大學資工所 智慧型多媒體研究室. Content Introduction Definitions Local and Global Optima Convex Sets and Functions Convex Programming Problems.
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
主講人:虞台文 大同大學資工所 智慧型多媒體研究室
Neural network (II) — HNN Hopfield Neural Network Date : 2002/09/24 Present by John Chen
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
LensBar – Visualization for Browsing and Filtering Large Lists of Data Toshiyuki Masui Proceedings. IEEE Symposium on Information Visualization, 1998 元智資工所.
CS 501: Software Engineering
Towards a Better Understanding of Web Resources and Server Responses for Improved Caching Craig E. Wills and Mikhail Mikhailov Computer Science Department.
A new predictive search area approach for fast block motion estimation Kuo-Liang Chung ( 鍾國亮 ) Lung-Chun Chang ( 張隆君 ) 國立台灣科技大學資訊工程系暨研究所 IEEE TRANSACTIONS.
A Simulation Study of the PWM Strategy for Inverters
Using BPEL to implement “Classical Tutorial Course” 徐天送 2004/7/29 Business Process Container BPEL Process IMS LD.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
1 Conceptual Modeling of User Interfaces to Workflow Information Systems Conceptual Modeling of User Interfaces to Workflow Information Systems By: Josefina.
國立台灣大學 資訊工程學系 薛智文 98 Spring Symbol Table (textbook ch#2.7 and 6.5 )
資訊工程系智慧型系統實驗室 iLab 南台科技大學 1 Optimizing Cloud MapReduce for Processing Stream Data using Pipelining 出處 : 2011 UKSim 5th European Symposium on Computer Modeling.
Requirements Analysis
國立台灣大學 資訊工程學系 Chapter 4: Threads. 資工系網媒所 NEWS 實驗室 Objectives To introduce the notion of a thread — a fundamental unit of CPU utilization that forms the.
Jorge Muñoz-Gama Universitat Politècnica de Catalunya (Barcelona, Spain) Algorithms for Process Conformance and Process Refinement.
Introduction For some compiler, the intermediate code is a pseudo code of a virtual machine. Interpreter of the virtual machine is invoked to execute the.
Copyright © 2012, A Minimum Cost Resource Allocation Approach for Cloud Data Centers 指導教授:王國禎 學生:連懷恩 國立交通大學資訊工程系 行動計算與寬頻網路實驗室 1.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Computer-Aided Verification 計算機輔助驗證 (Spring 2006) 熊博安 國立中正大學資訊工程研究所
智慧型系統實驗室 iLab 南台資訊工程 1 Evaluation for the Test Quality of Dynamic Question Generation by Particle Swarm Optimization for Adaptive Testing Department of.
資訊工程系智慧型系統實驗室 iLab 南台科技大學 1 A Static Hand Gesture Recognition Algorithm Using K- Mean Based Radial Basis Function Neural Network 作者 :Dipak Kumar Ghosh,
Integrating UML and Petri Nets Problem with Current Software Engineering Methodology Stochastic Petri nets and their useful properties Translating UML.
Lecture 1: A Formal Model of Computation 虞台文 大同大學資工所 智慧型多媒體研究室.
Intelligent Database Systems Lab 國立雲林科技大學 National Yunlin University of Science and Technology A k-mean clustering algorithm for mixed numeric and categorical.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
The Foundations of Ubiquitous Computing
國立台灣大學 資訊工程學系 薛智文 98 Spring Compiler TH 234, DTH 103.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Reinforcement Learning 主講人:虞台文 大同大學資工所 智慧型多媒體研究室.
Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix.
The LSAM Proxy Cache - a Multicast Distributed Virtual Cache Joe Touch USC / Information Sciences Institute 元智大學 資訊工程研究所 系統實驗室 陳桂慧
CFTP - A Caching FTP Server Mark Russell and Tim Hopkins Computing Laboratory University of Kent Canterbury, CT2 7NF Kent, UK 元智大學 資訊工程研究所 系統實驗室 陳桂慧.
Intelligent Database Systems Lab 國立雲林科技大學 National Yunlin University of Science and Technology 1 Multiclass boosting with repartitioning Graduate : Chen,
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 Managing Quality of Context in Pervasive Computing Authors Y.Bu, T.Gu, X.Tao, J.Li, S.Chen, and J.Lu Proceedings.
The Measured Access Characteristics of World-Wide-Web Client Proxy Caches Bradley M. Duska, David Marwood, and Michael J. Feeley Department of Computer.
Lecture 3: Count Programs, While Programs and Recursively Defined Functions 虞台文 大同大學資工所 智慧型多媒體研究室.
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 Brainstorming Principles Reporter Chun-Feng Liao Sep 12,2005 Source D.Bellin and S.S.Simone, ”Brainstorming: A.
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 Jena: A Semantic Web Framework for Java Reporter C.F.Liao ( 廖峻鋒 ) May 17,2007.
計算機程式語言 Lecture 03-1 國立台灣大學生物機電系 林達德 3 3 Introduction to Classes and Objects.
Lecture 5: Finite Automata 虞台文 大同大學資工所 智慧型多媒體研究室.
Page 1 國立交通大學電力電子晶片設計與 DSP 控制實驗室 Power Electronics IC Design & DSP Control Lab., NCTU, Taiwan 年 10 月 13 日 賴 逸 軒賴 逸.
Hopfield Neural Networks for Optimization 虞台文 大同大學資工所 智慧型多媒體研究室.
Lecture 2: Limiting Models of Instruction Obeying Machine 虞台文 大同大學資工所 智慧型多媒體研究室.
Requirement Analysis SOFTWARE ENGINEERING. What are Requirements? Expression of desired behavior Deals with objects or entities, the states they can be.
1 CEN 4020 Software Engineering PPT4: Requirement analysis.
資訊工程系智慧型系統實驗室 iLab 南台科技大學 1 A new social and momentum component adaptive PSO algorithm for image segmentation Expert Systems with Applications 38 (2011)
國立台灣大學 資訊工程學系 Chapter 7: Deadlocks. 資工系網媒所 NEWS 實驗室 Chapter Objectives To develop a description of deadlocks, which prevent sets of concurrent processes.
Copyright © 2010, Install OpenFlow Mininet 指導教授:王國禎 學生:洪維藩 國立交通大學資訊科學與工程研究所 行動計算與寬頻網路實驗室.
Improving the WWW: Caching or Multicast? Pablo RodriguezErnst W. BiersackKeith W. Ross Institut EURECOM 2229, route des Cretes. BP , Sophia Antipolis.
Lecture 6: Context-Free Languages
NTHU CS ISLAB 國立清華大學 資訊工程研究所 資訊安全實驗室 Semantically Rich Application- Centric Security in Android Machigar Ongtang, Stephen McLaughlin, William Enck and.
莊 永 裕 國立台灣大學 資訊工程學系 通訊與多媒體實驗室
Applied Software Implementation & Testing
Model-Driven Analysis Frameworks for Embedded Systems
Computer-Aided Verification 計算機輔助驗證 (Spring 2004)
Hopfield Neural Networks for Optimization
Lecture 5: Turning Machine
Longest Common Subsequence (LCS)
Simulated Annealing & Boltzmann Machines
Edit Distance 張智星 (Roger Jang)
Presentation transcript:

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 Service Behavior Consistency in the OSGi Platform Authors Y.Qin, H.Hao,L.Jun, G.Jidong and L.Jian Proceedings of 12th Asia-Pacific Software Engineering Conference (APSEC’05) (acceptance rate ~= 29%)Reporter C.F.Liao ( 廖峻鋒 ) Feb 15,2007

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 2/30 Outline  Preliminaries  Behavior Inconsistency Problem  The Proposed Solutions Service Behavior Modeling Verification of Service Behavior Consistency  Implementation  skipped  Conclusion

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 3/ V 110V Reusable Component Structural Consistent Structural Consistent but Behavioral Inconsistent! What this Paper is Talking About?

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 4/30 Making Software Reusable openTV(), X.10 Invoker openTV(), UPnP Invoker When you modify service X, You have to rewrite all of it’s invokers!

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 5/30 Interface As Service Specification Spec of openTV() (Interface) Invoker X.10 Implementation of openTV() UPnP Implementation of openTV() The developers can substitute the service implementations without affecting the invoker.

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 6/30 Substitutable Components We can substitute Service A with Service B without affect overall system behavior iff Service A is Structural Consistent with Service B w.r.t. a common interface I

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 7/30 Term Definitions Service Client / Service Invoker Service Specification / Interface Service Implementation / Component / Service

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 8/30 Formal Definitions of Interfaces and Services  Service Specification (interface)  Service Implementation A set of exported methods of IFUnique id of IF Unique id of S A set of exported methods of S

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 9/30 Structural Consistency  SA is Structural Consistent with Structural Consistent with SB SB w.r.t An Interface IF w.r.t An Interface IF if and only if if and only if and LogService SA SB log

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 10/30 Structural Consistency – An Example log finalize init LogService log finalize init log finalize init logDB Given We can obtain that So ConsoleLogService is Structural Consistence with DBLogService w.r.t. LogService ConsoleLogService DBLogService

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 11/30 Enhanced Structural Consistency in OSGi  OSGi enhances structural consistency by specifying “Properties” of components.  Format: RFC 1960: ”A String Representation of LDAP search filters”  Example: &(DeviceName=TV2) (Size=21) &(DeviceName=TV2) (Size=21) |(vendor~=HP)(!(dpi<=300))(type=printer) |(vendor~=HP)(!(dpi<=300))(type=printer)

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 12/30 OSGi Services Unique id of S A set of exported methods of S A set of properties of S We can revise the previous definition of a Service to the following form:

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 13/30 Behavioral Consistency  Proposed by  Proposed by B.Liskov and N.Belkhatir at 1994 in the ACM Trans on PLS. The interface mechanism in traditional OOP only guarantees Structural Consistency The implementations may have unexpected behavior even if they are Structural Consistent. Behavior  A matter of call sequences from the Service Client!

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 14/ V The Problem of Structural Consistency  Structural Consistency only guarantees the service implementations are structurally compatible with each other.  The underlying behavior of methods may different.  What if the 110V and 220V have the same socket shape? 110V

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 15/30 Behavior Consistency – An Example(1) log finalize init LogService init log finalize ConsoleLogService log finalize init

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 16/30 Behavior Consistency – An Example(2) log finalize init LogService init log finalize logDB log finalize init logDB DBLogService The expected call sequences of LogService is different from that of DBLogService !

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 17/30 Ensuring the Behavior Consistency  Behavior Modeling Workflow Net  an extension of Petri Net to model the workflow management systems. Proposed by W.M.P. van der Aalst in ATPN  Consistency Validation Observation / Invocation Behavior Consistency Theory Proposed by J.Ebert and G. Engels in 1994.

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 18/30 Behavior Model (BM) BM is essentially a Workflow Net except TM is redefined. Places Transitions Directed Arcs Input place / output place A function that assigns each transition to a method

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 19/30 Summary: Revised Definition of Service

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 20/30 Invocation Consistency Service S1’s Behavior Model Service S1’s Behavior Model is invocation consistent with S2’s Behavior Model is invocation consistent with S2’s Behavior Model if if What is LMS ?

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 21/30 Legal Method Sequence (LMS)  Can be derived by depth-first traversal on a Reachability Graph of a Petri Net. Depth-First Traversal

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 22/30 Invocation Consistency - Example init log finalize LogService init log finalize logDB DBLogService

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 23/30 init logDB finalize LogService Invocation Consistency isn’t Enough ! init logDB finalize logDBEnc DBLogService

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 24/30 Method Projection

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 25/30 Observation Consistency Service S1’s Behavior Model Service S1’s Behavior Model is observation consistent with S2’s Behavior Model is observation consistent with S2’s Behavior Model if if LogService DBLogService log init logDB finalize

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 26/30 Observation Consistency - Example init log finalize LogService init log finalize logDB DBLogService

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 27/30 Verifying Behavioral Consistency The Service Implementation S is Behavioral Consistent with Service Specification I iff : The Service Implementation S is Behavioral Consistent with Service Specification I iff : (S is invocation consistent with I) (S is invocation consistent with I) (S is observation consistent with I) (The proof of this theory is in [J.Ebert and G. Engels 94])

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 28/30 Summary (1) Structural Consistency (Traditional OOP Reuse) Enhanced Structural Consistency (OSGi Service Reuse) Behavioral Consistency [Liskov et al.94] Modeling: UML Verification: Language Mechanism Modeling: UML Verification: OSGi Platform Modeling: Workflow Net Verification: IC / OC theorems and Key=value

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 29/30 Summary (2) Behavioral Consistency [Liskov et al.94] Modeling: Workflow Net Verification: IC / OC theorems Behavioral Subtyping [Liskov et al.94] Motivation Problem Modeling Workflow Net [ W.M.P. van der Aalst 97 ] OSGi Component Model Problem Domain Reachability Graph / LMS Methodology Integration / Mapping IC / OC Theorems [ J.Ebert et al.94 ] Solution Prototype Multi-Service Coordination Behavioral Consistency Extension SOBECA Implementation

Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 30/30 Comments  This paper provides formal modeling methods of reusable components. However, many errors in this paper.  Petri Net modeling will be more valuable if used to model distributed / concurrent components.  Stateful is considered harmful in service design, does the behavior consistency really matter?