Testing mobile computing applications: toward a scenario language and tools

Similar documents
Testing Mobile Computing Applications: Toward a Scenario Language and Tools

The Feasibility of Supporting Large-Scale Live Streaming Applications with Dynamic Application End-Points

Configuration Management Models in Commercial Environments

Chap 1. Introduction to Software Architecture

Business-Driven Software Engineering Lecture 3 Foundations of Processes

1.. This UI allows the performance of the business process, for instance, on an ecommerce system buy a book.

TETRA BS Load Generator

EXTENDING NETWORK KNOWLEDGE: MAKING OLSR A QUALITY OF SERVICE CONDUCIVE PROTOCOL

SECURE DATA TRANSMISSION USING INDISCRIMINATE DATA PATHS FOR STAGNANT DESTINATION IN MANET

Processing and data collection of program structures in open source repositories

Proposition of a new approach to adapt SIP protocol to Ad hoc Networks

Communicating Systems

Integrated Development of Distributed Real-Time Applications with Asynchronous Communication

An Open Framework for Reverse Engineering Graph Data Visualization. Alexandru C. Telea Eindhoven University of Technology The Netherlands.

A Comparison Study of Qos Using Different Routing Algorithms In Mobile Ad Hoc Networks

Component visualization methods for large legacy software in C/C++

Autoconfiguration and maintenance of the IP address in ad-hoc mobile networks

Automatic Test Data Synthesis using UML Sequence Diagrams

Testing automation of projects in telecommunication domain

A Sarsa based Autonomous Stock Trading Agent

Chapter 4 Software Lifecycle and Performance Analysis

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

Analysis on Leveraging social networks for p2p content-based file sharing in disconnected manets

Summer Internship 2013 Group No.4-Enhancement of JMeter Week 1-Report-1 27/5/2013 Naman Choudhary

Introduction to Synoptic

UML Diagram Types. Use Cases do the Following. Use Case Diagram

Basic Unified Process: A Process for Small and Agile Projects

Applying 4+1 View Architecture with UML 2. White Paper

TTCN-3, Qtronic and SIP

A Mobility Tolerant Cluster Management Protocol with Dynamic Surrogate Cluster-heads for A Large Ad Hoc Network

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c

SAP InfiniteInsight Explorer Analytical Data Management v7.0

A Study of Application Recovery in Mobile Environment Using Log Management Scheme

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Security Risk Assessment of Software Architecture

Distributed Dynamic Load Balancing for Iterative-Stencil Applications

Investment Analysis using the Portfolio Analysis Machine (PALMA 1 ) Tool by Richard A. Moynihan 21 July 2005

Simulating a File-Sharing P2P Network

Developing SOA solutions using IBM SOA Foundation

Continuous Fastest Path Planning in Road Networks by Mining Real-Time Traffic Event Information

The STC for Event Analysis: Scalability Issues

ZooKeeper. Table of contents

BENEFITS OF MODELING WITH A FORMAL LANGUAGE. Emmanuel Gaudin emmanuel.gaudin@pramadev.com

A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems

Explaining EA: business architecture basics

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

From Business Process Models to Use Case Models

A NEW APPROACH TO MODEL A FORMALISED DESCRIPTION OF A COMMUNICATION SERVICE

Mobile Security Wireless Mesh Network Security. Sascha Alexander Jopen

UNLOCK YOUR IEC TESTING EXCELLENCE

Event Management Proposal for Distribution Data Service Standard

Structural Detection of Deadlocks in Business Process Models

Project estimation with Use Case Points using Enterprise Architect (EA)

Model based testing tools. Olli Pekka Puolitaival

BP2SAN From Business Processes to Stochastic Automata Networks

KEYWORD SEARCH OVER PROBABILISTIC RDF GRAPHS

A Framework for Highly Available Services Based on Group Communication

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

CS556 Course Project Performance Analysis of M-NET using GSPN

A UML Introduction Tutorial

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

PERFORMANCE ANALYSIS OF VIDEO CONFERENCING SOFTWARE IN TECHNOLOGY N NABILA BINTI RUSLAN

Software Modeling and Verification

School of Computer Science

Enhancement of Development Technologies for Agent- Based Software Engineering

Secure Software Architecture Description using UML Jan Jürjens Competence Center for IT Security Software & Systems Engineering TU Munich, Germany

On evaluating performance of exploration strategies for an autonomous mobile robot

A Business Process Driven Approach for Generating Software Modules

Location Information Services in Mobile Ad Hoc Networks

Process Modelling from Insurance Event Log

Real-Time Traffic Engineering Management With Route Analytics

Introduction to LAN/WAN. Network Layer

Introduction to Formal Methods. Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm

What is a metamodel: the OMG s metamodeling infrastructure

Oracle Data Integrator 12c: Integration and Administration

Kirsten Sinclair SyntheSys Systems Engineers

CS423 Spring 2015 MP4: Dynamic Load Balancer Due April 27 th at 9:00 am 2015

Automated Model Based Testing for an Web Applications

feature model-driven development Test-Driven Modeling for Model-Driven Development

STIC-AMSUD project meeting, Recife, Brazil, July Quality Management. Current work and perspectives at InCo

From Self-Organising Mechanisms to Design Patterns

Applications. Network Application Performance Analysis. Laboratory. Objective. Overview

Ontological Identification of Patterns for Choreographing Business Workflow

Exploration and Visualization of Post-Market Data

SOFTWARE PROJECT MANAGEMENT

The Test Automation Journey

Energy Optimal Routing Protocol for a Wireless Data Network

Supporting Software Development Process Using Evolution Analysis : a Brief Survey

Performance Evaluation of VANETs with Multiple Car Crashes in Different Traffic Conditions

CHAPTER 1. Basic Concepts on Planning and Scheduling

A Tool Suite for the Generation and Validation of Configurations for Software Availability

The Goldberg Rao Algorithm for the Maximum Flow Problem

A Framework for the Semantics of Behavioral Contracts

Efficient Agent Based Testing Framework for Web Applications

Model Driven Testing AGEDIS Architecture Interfaces and Tools

A Review on Zero Day Attack Safety Using Different Scenarios

IRMA: Integrated Routing and MAC Scheduling in Multihop Wireless Mesh Networks

<is web> Information Systems & Semantic Web University of Koblenz Landau, Germany

PERFORMANCE ANALYSIS OF AD-HOC ON DEMAND DISTANCE VECTOR FOR MOBILE AD- HOC NETWORK

PERFORMANCE STUDY AND SIMULATION OF AN ANYCAST PROTOCOL FOR WIRELESS MOBILE AD HOC NETWORKS

Transcription:

Sixth International Workshop on Dynamic Analysis (WODA), 21 July 2008 Testing mobile computing applications: toward a scenario language and tools Minh Duc Nguyen, Hélène Waeselynck, Nicolas Rivière

Mobile computing systems Dynamicity of system structure Communication with unknown partners in a local vicinity Context awareness Solutions for the testing of applications and services in mobile settings 2

Outline State of the art in testing traditional/mobile distributed systems Case study: a Group Membership Protocol (GMP) in the ad hoc domain Toward a scenario language & automated support for mobile computing applications Conclusion and perspectives 3

Testing: state of the art Traditional distributed systems Platforms with dedicated test interfaces, dedicated test languages (e.g. TTCN-3) Use of graphical scenario languages (MSC, UML SD) to support design & validation activities Formal approaches in the protocol community SDL model test purposes test cases Passive testing approaches Mobile computing systems Experimental platforms with simulation facilities (mainly for evaluation purposes) Testing issues have been little explored so far Pioneering work based on SDL models (but SDL is not well-suited to mobile settings) No established modeling framework for mobile computing systems 4

Outline State of the art in testing traditional/mobile distributed systems Case study: a Group Membership Protocol (GMP) in the ad hoc domain Toward a scenario language & automated support for mobile computing applications Conclusion and perspectives 5

A Group Membership Protocol (GMP) References "Relying on Safe Distance to Achieve Strong Group Membership in Ad Hoc Mobile Environments ", IEEE Transactions on Mobile Computing, Washington University Open-source implementation in the mobility-oriented LIME middleware (http://lime.sourceforge.net) Goal Consistent view of the group members while groups merge and split according to location information The GMP case study: Exemplifies a classical problem in distributed computing Still, the mobile settings particularizes the problem High dynamicity, high dependency on location & movement patterns Example in the ad hoc domain Not trivial (each node = 4KLOC of Java code, 6 concurrent threads) 6

GMP principle Notion of safe distance Nodes are close enough to prevent motion-induced disconnection for some time (assuming an upper bound V max on speed) 1 2 3 4 safe safe safe Accomodates multi-hop communication Requirements: 8 properties (local & global) GMP analysis and testing Review of the paper specification Reverse engineering of the source code to produce UML models Test experiments using a synthetic workload (random movement of nodes) 7

Insights gained from the case study Test platforms need network and context simulators [Ricardo Morla et al.] & [Christoph Schroth et al.] Adequate formalisms to support design & validation activities? Standard UML: OK for modeling one GMP node System-level behavior and structure? Graphical scenario descriptions appear a useful support but: Usual scenario languages need extensions to account for mobile settings Production of concrete contextual data (e.g., location coordinates) to instantiate an abstract scenario? 8

Outline State of the art in testing traditional/mobile distributed systems Case study: a Group Membership Protocol (GMP) in the ad hoc domain Toward a scenario language & automated support for mobile computing applications Conclusion and perspectives 9

Describing scenarios from the case study 1 2 4 GetLeader 3 LeaderAddress GroupInfo GroupChange GroupChange Example of a split & merge fail scenario GroupChange Failure MSC-like languages: focus on the partial order of communication events But the underlying spatial configuration is equally important to characterize the split & merge scenario Absence of broadcast constructs How to represent broadcast in local vicinity (here, «hello» message from 2)? 10

Scenario language for mobile settings 1 2 3 4 Config. C1 C1 C2 1 2 4 Config changes from C1 to C2 hello (Safe, RangeNotSafe) 3 hello from 2 hello from 2 GetLeader hello from 5 1 2 3 4 Config. C2 LeaderAddress GroupInfo GroupChange GroupChange Being at a safe distance (Safe) Being at communication range, But not at a safe distance (RangeNotSafe) (a) Spatial view GroupChange (b) Event view Labeled graphs for the spatial configurations Configuration changes as global events, causally related to communication events Topology-aware broadcast primitives 11

Automated support To check whether an execution trace satisfies a requirement To check whether an execution trace covers a test purpose 1. Determine which physical nodes match the nodes specified in the spatial view 2. Analyze the order of events in the identified configurations To assist in the production of contextual data for implementing a test case (principle: extract data from random simulation runs) 1. Run the context controller and record contextual data at each simulation step 2. Abstract the simulation trace by series of graphs 3. Search whether subgraphs can match the desired evolution pattern 4. List of matches = baseline configurations for the implementation of the scenario Importance of graph matching problems 12

Automated support (2) Does G1 appear as a subgraph of G2? Graph G1 Graph G2 Build a graph homomorphism from G1 to G2 A graph homomorphism from G 1 = (V 1, E 1, λ 1, μ 1 ) to G 2 = (V 2, E 2, λ 2, μ 2 ) is an injective function f :V 1 V 2 such that: λ 1 (v 1 ) = λ 2 (f(v 1 )) for all v 1 V 1 For any edge e 1 = (v 1s, v 1e ) E 1, there exists an edge e 2 = (f(v 1s ), f(v 1e )) such that μ 1 (e 1 )=μ 2 (e 2 ) 13

Automated support (3) Some convenient extensions to the basic definition: Allow for tuple of labels, e.g. node can be characterized by <id, type> Allow for label variables, e.g. nodes <x,"mobile"> and <1,"Mobile"> can match using substitution x:=1 Graph matching = Mapping of nodes + Valuation that unifies the labels 14

Implementation Based on an existing graph tool (developed at LAAS) Input: a graph G1, a graph G2 Ouput: all homomorphisms from G1 to G2 Our work: search for sequences of configuration patterns in a concrete trace Patterns: P1 P2 Pm Trace : C1 C2 Cn (Note: a configuration pattern Pi may occur in several consecutive Cj before the configuration changes to Pi+1) Fixed number of nodes in patterns Nodes may appear and disappear This introduces some additional concerns 15

Outline State of the art in testing traditional/mobile distributed systems Case study: a Group Membership Protocol (GMP) in the ad hoc domain Toward a scenario language & automated support for mobile computing applications Conclusion and perspectives 16

Conclusion and perspectives Proposition of extensions to better represent scenario descriptions in mobile computing settings Processing of scenario descriptions, based on graph matching algorithms On-going work Scenario language for mobile settings Extensions of UML 2.0 Sequence Diagram Compromise: expressiveness / well-defined semantics Support for automated comparison of scenarios and traces Spatial view: Optimizations required to handle large simulation traces, consideration of min-max duration constraints Event view: Comparison of the order of events: will be implemented once the language is stabilized 17