Constraint-Based Modeling of InterOperability Problems Using an Object-Oriented Approach Mohammed H. Sqalli Eugene C. Freuder University of New Hampshire.

Slides:



Advertisements
Similar presentations
웹 서비스 개요.
Advertisements

Network II.5 simulator ..
When is Orientated Programming NOT? Mike Fitzpatrick.
Visual Scripting of XML
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
TTCN-3 Test Case Generation from arbitrary traces Capture & Replay Bogdan Stanca-Kaposta & Theofanis Vassiliou-Gioles (Testing Technologies)
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
12. Summary, Trends, Research. © O. Nierstrasz PS — Summary, Trends, Research Roadmap  Summary: —Trends in programming paradigms  Research:...
Programming Language Paradigms: summary. Object-oriented programming Objects are the fundamental building blocks of a program. Interaction is structured.
13. Summary, Trends, Research. © O. Nierstrasz PS — Summary, Trends, Research Summary, Trends, Research...  Summary: functional, logic and object-oriented.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
1 / 31 CS 425/625 Software Engineering User Interface Design Based on Chapter 15 of the textbook [SE-6] Ian Sommerville, Software Engineering, 6 th Ed.,
Protocols and the TCP/IP Suite
In-Band Flow Establishment for End-to-End QoS in RDRN Saravanan Radhakrishnan.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Case-Based Reasoning to Enhance Diagnosis and CSP Model Debugging in Interoperability Testing: ADIOP Mohammed H. Sqalli Eugene.
12. Summary, Trends, Research. © O. Nierstrasz PS — Summary, Trends, Research Roadmap  Summary: —Trends in programming paradigms  Research:...
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Internetworking Fundamentals (Lecture #2) Andres Rengifo Copyright 2008.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
C++ fundamentals.
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
QualNet 2014/05/ 尉遲仲涵. Outline Directory Structure QualNet Basic Message & Event QualNet simulation architecture Protocol Model Programming.
Introduction To System Analysis and design
MADALINA CROITORU Software Engineering week 4 Madalina Croitoru IUT Montpellier.
Evaluating Centralized, Hierarchical, and Networked Architectures for Rule Systems Benjamin Craig University of New Brunswick Faculty of Computer Science.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
I. Pribela, M. Ivanović Neum, Content Automated assessment Testovid system Test generator Module generators Conclusion.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Software Design Refinement Using Design Patterns Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
Protocols and the TCP/IP Suite
An Introduction to Software Architecture
COMP 410 & Sky.NET May 2 nd, What is COMP 410? Forming an independent company The customer The planning Learning teamwork.
Winrunner Usage - Best Practices S.A.Christopher.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
POSTECH DP & NM Lab. (1)(1) POWER Prototype (1)(1) POWER Prototype : Towards Integrated Policy-based Management Mi-Joung Choi
Cracow Grid Workshop, October 27 – 29, 2003 Institute of Computer Science AGH Design of Distributed Grid Workflow Composition System Marian Bubak, Tomasz.
CSE 219 Computer Science III Program Design Principles.
Chapter 18 Object Database Management Systems. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Motivation for object.
CSC480 Software Engineering Lecture 11 September 30, 2002.
5 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
1 Optical Packet Switching Techniques Walter Picco MS Thesis Defense December 2001 Fabio Neri, Marco Ajmone Marsan Telecommunication Networks Group
Chapter 12 Support for Object oriented Programming.
Designing Classes Prelude © 2015 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Data Structures and Abstractions with Java, 4e Frank.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 9 Virtual Trunking Protocol.
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
MPEG-4: Multimedia Coding Standard Supporting Mobile Multimedia System Lian Mo, Alan Jiang, Junhua Ding April, 2001.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
The CoBFIT Toolkit PODC-2007, Portland, Oregon, USA August 14, 2007 HariGovind Ramasamy IBM Zurich Research Laboratory Mouna Seri and William H. Sanders.
Protocol Layering Chapter 11.
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
IBM Express Runtime Quick Start Workshop © 2007 IBM Corporation Deploying a Solution.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
DBS201: Data Modeling. Agenda Data Modeling Types of Models Entity Relationship Model.
“Port Monitor”: progress & open questions Torsten Wilde and James Kohl Oak Ridge National Laboratory CCA Forum Quarterly Meeting Santa Fe, NM ~ October.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
CSC 222: Object-Oriented Programming
CSC 222: Object-Oriented Programming
CSC 222: Object-Oriented Programming
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Introduction to Data Structure
Computer Networking A Top-Down Approach Featuring the Internet
Solving InterOperability Problems Using Object-Oriented CSP Modeling
Presentation transcript:

Constraint-Based Modeling of InterOperability Problems Using an Object-Oriented Approach Mohammed H. Sqalli Eugene C. Freuder University of New Hampshire -The first author is currently at the of Canada Ltd. -This material is based in part on work supported by the National Science Foundation.

IAAI-01: Sqalli & Freuder2August 7, 2001 Outline l Example l Domain of Application l Motivations and Contributions l CSP Modeling l Modeling with Objects l Modeling Interface and Language l Test Cases as Objects l Application & Evaluation l Summary

IAAI-01: Sqalli & Freuder3August 7, 2001 Outline l Example l Domain of Application l Motivations and Contributions l CSP Modeling l Modeling with Objects l Modeling Interface and Language l Test Cases as Objects l Application & Evaluation l Summary

IAAI-01: Sqalli & Freuder4August 7, 2001 InterOperability Testing Specifications (What should Happen) Observations (What really happens) Communication line InterOperability Testing Compare (Specifications, Observations) Device B Device A

IAAI-01: Sqalli & Freuder5August 7, 2001 Example from a Test Suite l Test Case ID: V4202H__004 l Test Purpose: Verify that the first Hello sent from both sides contains Remote node ID and Remote port ID set to zero (1Way). l Pre-requisite: Both SUTs (A, B) are in different lowest level peer groups (Out). l Verdict Criteria: The first Hello packet observed from each SUT will have the Remote node ID field and Remote port ID field set to zero (1WayOut).

IAAI-01: Sqalli & Freuder6August 7, 2001 Example - Test Description Switch ASwitch B 1WayOut

IAAI-01: Sqalli & Freuder7August 7, 2001 Example - CSP Model Node IDPort ID Remote Node ID Status Source 1WayOut(A) Variables Unary Binary Constraints 1WayOut(A) {Source, Time, Status, Node_ID,...} 1WayOut(B) {Source, Time, Status, Node_ID,...}... 1WayOut(A).Status = Mandatory 1WayOut(A).Remote_Node_ID != 0 1WayOut(A).Time < 1WayOut(B).Time 1WayOut(A).Peer_Group_ID != 1WayOut(B).Peer_Group_ID Remote Port ID Type Peer Group ID Time Hello Node IDPort ID Remote Node ID Status Source 1WayOut(B) 1 0 Remote Port ID Type Peer Group ID Time Hello < != 00

IAAI-01: Sqalli & Freuder8August 7, 2001 ADIOP- Test Suite Builder GUI Panel showing the CSP model of a test case Panel for declaring variables and domains Panel for declaring constraints

IAAI-01: Sqalli & Freuder9August 7, 2001 ADIOP - Test Suite Menu GUI

IAAI-01: Sqalli & Freuder10August 7, 2001 Protocol Specification Monitored Observations Result Decoded Observations Test Suites Test #1 Test #2 … CSP Models CSP #1 CSP #2 … CBR + Expert Result Report OK NoYes ? Store Next Step Debugging Modeling Diagnosis Decoding ADIOP – The big picture (Four Modules) Update

IAAI-01: Sqalli & Freuder11August 7, 2001 ADIOP - Modeling Protocol Specification Test Suites Test #1 Test #2 … CSP Models CSP #1 CSP #2 … Modeling

IAAI-01: Sqalli & Freuder12August 7, 2001 Outline l Example l Domain of Application l Motivations and Contributions l CSP Modeling l Modeling with Objects l Modeling Interface and Language l Test Cases as Objects l Application & Evaluation l Summary

IAAI-01: Sqalli & Freuder13August 7, 2001 InterOperability Lab l Verify the interoperability and/or conformance of the computer communications products l Consortiums: ATM, FDDI, Wireless, … l Protocols tested: UNI, LANE, PNNI, … l Test Suites for IOP testing: LANE, PNNI, … l Testing Equipment: Snifters, Generators,... l Testing Problems: Data Analysis, Similar Problems,...

IAAI-01: Sqalli & Freuder14August 7, 2001 ATM and PNNI l Asynchronous Transfer Mode – supports all classes of traffic: voice, video, and data – provides quick and easy switching and multiplexing – connection oriented l Private Network Network Interface – provides dynamic routing: includes discovery of the topology of the network – supports QoS and hierarchical routing – scales to very large networks

IAAI-01: Sqalli & Freuder15August 7, 2001 InterOperability Testing Network MonitorDevice A Device B Protocol Specifications Compare to Report Observations

IAAI-01: Sqalli & Freuder16August 7, 2001 Outline l Example l Domain of Application l Motivations and Contributions l CSP Modeling l Modeling with Objects l Modeling Interface and Language l Test Cases as Objects l Application & Evaluation l Summary

IAAI-01: Sqalli & Freuder17August 7, 2001 Motivations – The ADIOP System l Diagnose IOP problems in a timely manner l Analyze a large amount of data l Keep trace of previous problems and their solutions to be reused in future similar cases l Debug IOP tests

IAAI-01: Sqalli & Freuder18August 7, 2001 Solution - The ADIOP System l Automate the process of InterOperability Testing – CSP modeling of IOP tests – Diagnosing IOP problems quickly and efficiently using CSP models (including Explanation) l Debug the InterOperability tests

IAAI-01: Sqalli & Freuder19August 7, 2001 Contributions l Model building: Simple, declarative, transparent, GUI-based, and complete modeling language for stating and generating IOP tests. l OO provides a more natural, concise, scalable and reusable framework for model statement of IOP tests. l Combination of CSP and OO: metavariables and metavalues to represent packets and generate test cases as objects. l Modeling is generic across protocols: independent of the protocol being used. l Scalability: More protocols can be made available for modeling by adding the corresponding decoders. l Dynamic loading of protocols and packets being used. l Many-models architecture: each test case is represented by a CSP model. l Constraint expressiveness: unary and binary constraints.

IAAI-01: Sqalli & Freuder20August 7, 2001 Outline l Example l Domain of Application l Motivations and Contributions l CSP Modeling l Modeling with Objects l Modeling Interface and Language l Test Cases as Objects l Application & Evaluation l Summary

IAAI-01: Sqalli & Freuder21August 7, 2001 Constraint Satisfaction Problems Values Constraints Problem Statement VariablesCSP Algorithm Solution X ZY Coloring Problem CSP Representation Search Inference X: red Y: blue Z: green Red green blue Red green blue Red green blue Z X Y Z X Y

IAAI-01: Sqalli & Freuder22August 7, 2001 One Model vs. Many Models l One Model (Protocol Specification) [Sqalli & Freuder 1996] – Only one model to use for testing, but too complex – Less inconsistencies – No redundant testing l Many Models (Test Suite) [Sqalli & Freuder 1998] – Easy and small models for specific tests l To state l To fix/update – Suitable for interoperability testing l Generate reports l Preferred by vendors/testers – Explanation of the cause of failure

IAAI-01: Sqalli & Freuder23August 7, 2001 CSP Modeling of InterOperability Testing Protocol Specification Monitored Observations Result Decoded Observations Test Suites Test #1 Test #2 … CSP Models CSP #1 CSP #2 … NB: The decoders have built in functionality that provides the information (protocols, packets, packet’s fields) to build the CSP models.

IAAI-01: Sqalli & Freuder24August 7, 2001 Outline l Example l Domain of Application l Motivations and Contributions l CSP Modeling l Modeling with Objects l Modeling Interface and Language l Test Cases as Objects l Application & Evaluation l Summary

IAAI-01: Sqalli & Freuder25August 7, 2001 Modeling with Objects Packet... TimeSourceTypeNode ID Object (Metavariable/ Metavalue) Time Source Type Node ID getNodeID getTime getPacket CSP Metavariable: X = {x 1, x 2, …, x n }, where x i is a variable Metavalue: V = {v 1, v 2, …, v n }, where v i is a value Binary Metaconstraint: C xy = {c 1, c 2, …, c m }, where c k is a constraint between x i and y j

IAAI-01: Sqalli & Freuder26August 7, 2001 Class Hierarchy Packet TimeSourceInfo PNNI Routing Packet TimeSourcePNNI Routing HeaderInfo Hello Packet TimeSourceNode ID... PNNI Routing Header Packet Mpoa PnniRoutLane Hello Dbs

IAAI-01: Sqalli & Freuder27August 7, 2001 Advantages of Object-Orientation l Inheritance between objects allows for a hierarchical definition of packets which matches the way protocols are specified. l Encapsulation – Information hiding of the objects definition as the users do not need to know the details but only the functionality. – Modularity: Each object is a separate entity with its own functionality. l Scalability: Adding more protocols and packets does not affect the already existing system. l Reusability: The same objects are being used for decoding packets as well as for CSP model definition. l Natural: The CSP model obtained using objects is concise and expressive.

IAAI-01: Sqalli & Freuder28August 7, 2001 Outline l Example l Domain of Application l Motivations and Contributions l CSP Modeling l Modeling with Objects l Modeling Interface and Language l Test Cases as Objects l Application & Evaluation l Summary

IAAI-01: Sqalli & Freuder29August 7, 2001 Modeling Interface (GUI) Protocols List: loaded from the class hierarchy of the Packet class Packet Types List: loaded from the class hierarchy of the protocol’s class Packet’s Parameters (CSP variables) List: loaded from the class definition of a packet.

IAAI-01: Sqalli & Freuder30August 7, 2001 Advantages of CSP Modeling using OOP l No need for the tester to know what each packet contains (built in the hierarchy). l No need to know the syntax of the modeling language (generated by the GUI) l Possibility to add more protocols just by adding the decoder for such protocol (protocol independent modeling). l Dynamic loading of information about protocols, packets, etc. (done at runtime).

IAAI-01: Sqalli & Freuder31August 7, 2001 Example from a Test Suite l Test Case ID: V4202H__004 l Test Purpose: Verify that the first Hello sent from both sides contains Remote node ID and Remote port ID set to zero (1Way). l Pre-requisite: Both SUTs (A, B) are in different lowest level peer groups (Out). l Verdict Criteria: The first Hello packet observed from each SUT will have the Remote node ID field and Remote port ID field set to zero (1WayOut).

IAAI-01: Sqalli & Freuder32August 7, 2001 CSP Model Node IDPort ID Remote Node ID Status Source 1WayOut(A) Variables Unary Binary Constraints 1WayOut(A) {Source, Time, Status, Node_ID,...} 1WayOut(B) {Source, Time, Status, Node_ID,...}... 1WayOut(A).Status = Mandatory 1WayOut(A).Remote_Node_ID != 0 1WayOut(A).Time < 1WayOut(B).Time 1WayOut(A).Peer_Group_ID != 1WayOut(B).Peer_Group_ID Remote Port ID Type Peer Group ID Time Hello Node IDPort ID Remote Node ID Status Source 1WayOut(B) 1 0 Remote Port ID Type Peer Group ID Time Hello < != 00 Metavariable

IAAI-01: Sqalli & Freuder33August 7, 2001 Test Suite Builder GUI Step 5: This generates the test case object Step 1: Choose the protocol Step 2: Start CSP Model Step 3: Define the packets Step 4: Define the constraints

IAAI-01: Sqalli & Freuder34August 7, 2001 Example of CSP Modeling - Modeling Language - $CSP $PROTOCOLPnniRout $PACKETOneWayOutAHello $PACKETOneWayOutBHello $UNARY_CONSTRAINTOneWayOutA.status D_Mandatory $UNARY_CONSTRAINTOneWayOutA.remote_port_id == 0 $UNARY_CONSTRAINTOneWayOutB.remote_port_id == 0 $UNARY_CONSTRAINTOneWayOutA.remote_node_id == 0 $UNARY_CONSTRAINTOneWayOutB.remote_node_id == 0 $BINARY_CONSTRAINTOneWayOutA.time < OneWayOutB.time $BINARY_CONSTRAINTOneWayOutA.source != OneWayOutB.source $BINARY_CONSTRAINTOneWayOutA.peer_group_id != OneWayOutB.peer_group_id $ENDCSP Metavariables Optional statemen t Unary Constraints Binary Constraints Protocol

IAAI-01: Sqalli & Freuder35August 7, 2001 Modeling Language Definition l $CSP l $ENDCSP l $PROTOCOL protocolTested l $PACKET packet_name packet_type l $DOMAIN domain value1 value2 … l $UNRAY_CONSTRAINT variable operation [domain|value] l $BINARY_CONSTRAINT variable1 operation variable2 l $CONSTRAINT variable1 variable2 f(variable1, variable2)

IAAI-01: Sqalli & Freuder36August 7, 2001 Outline l Example l Domain of Application l Motivations and Contributions l CSP Modeling l Modeling with Objects l Modeling Interface and Language l Test Cases as Objects l Application & Evaluation l Summary

IAAI-01: Sqalli & Freuder37August 7, 2001 l This will generate an object in which fields are domains or metavariables, and methods are constraints. (This is the input to the Diagnosis module) Example of CSP Modeling - Test Cases as Objects - OneWayOutA OneWayOutB Hello OneWayOutA_Status OneWayOutB_Status OneWayOutA_Source_OneWayOutB_Source Mandatory Hello OneWayOutA_Type OneWayOutB_Type OneWayOutA_Time_OneWayOutB_Time

IAAI-01: Sqalli & Freuder38August 7, 2001 Test Suite Menu (GUI)

IAAI-01: Sqalli & Freuder39August 7, 2001 Test Suite Directory Hierarchy testsuite mpoa pnniroutlane V4301H_001 adiop adiopx V4301H_002V4301H_003 l Test cases are stored in the appropriate directory. l Menu of test cases is generated dynamically from this directory structure.

IAAI-01: Sqalli & Freuder40August 7, 2001 Outline l Example l Domain of Application l Motivations and Contributions l CSP Modeling l Modeling with Objects l Modeling Interface and Language l Test Cases as Objects l Application & Evaluation l Summary

IAAI-01: Sqalli & Freuder41August 7, 2001 Protocol Specification Monitored Observations Result Decoded Observations Test Suites Test #1 Test #2 … CSP Models CSP #1 CSP #2 … CBR + Expert Result Report OK NoYes ? Store Next Step Debugging Modeling Diagnosis Decoding ADIOP – The big picture (Four Modules) Update

IAAI-01: Sqalli & Freuder42August 7, 2001 ADIOP (Automated Diagnosis of InterOperability Problems) Test Suite Builder Test Generation and Implementation Test Debugger Diagnoser Test Execution (Algorithms) Menus and Reports Decoder s BuilderDecoder Usage Decoder Search (hard explanation) Inference (better explanation) Automate Menus Creation Reports Generation CBR + User Interaction Correct/Update CSP Model New CSP Model Protocol Specification Frame Format (Defined language) Java file (Frame decoder) Java Class (Frame decoder) CSP Model Notes: Implemented To be implemented Not implemented Existent Documents Test Description from IOP test suite Natural Language Processing Graphical Representation CSP Model Java file Java Class (used by diagnoser) Packet PnniR MPOA HelloDBS Note: These classes are used by Decoder, Diagnoser, and Test Builder. Hierarchy of Classes

IAAI-01: Sqalli & Freuder43August 7, 2001 Application of CSP Modeling - ADIOP Diagnosis l The test cases built using the ADIOP’s modeling component are dynamically accessible through a menu. l Motivations of Diagnosis of IOP Problems: save time, reduce repetitive testing, store and reuse knowledge, automate reports generation. l Advantages of using CSP for modeling and diagnosis: take advantage of existing CSP algorithms. l Algorithms for Diagnosis: Search and Inference. l Generate an accurate and human-like explanation. l Evaluation and summary numbers: 50 (73% ) test cases out of 69 built produced a meaningful explanation.

IAAI-01: Sqalli & Freuder44August 7, 2001 Outline l Example l Domain of Application l Motivations and Contributions l CSP Modeling l Modeling with Objects l Modeling Interface and Language l Test Cases as Objects l Application & Evaluation l Summary

IAAI-01: Sqalli & Freuder45August 7, 2001 Summary l CSP Model building: Simple, declarative, transparent, GUI-based, and complete modeling language for stating and generating IOP tests. l OO provides a more natural, concise, scalable and reusable framework for model statement of IOP tests (+ Inheritance, Encapsulation) l Combination of CSP and OO: metavariables and metavalues to represent packets and generate test cases as objects. l Scalability: More protocols can be made available for modeling by adding the corresponding decoders. l Modeling Interface: dynamic loading of protocols and packets being used. l Modeling Language: – Generic across protocols: Independent of the protocol being used. – Constraint expressiveness: unary and binary constraints. l Many-models architecture: test suites are used instead of protocol specifications. Each test case is represented by a CSP model. l Application & Evaluation: Diagnosis and Explanation of IOP problems.

Constraint-Based Modeling of InterOperability Problems Using an Object-Oriented Approach Discussion Mohammed H. Sqalli Eugene C. Freuder University of New Hampshire