Explicit arbitration specification binding does not scale

Slides:



Advertisements
Similar presentations
Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
Advertisements

Stereotypes Stereotypes provide the capability to create a new kind of modeling element. –They can be used to classify or mark modeling elements. –A type.
Encapsulation, Inheritance & Interfaces CSE 115 Spring 2006 February 27, March 1 & 3, 2006.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
DT228/3 Web Development JSP: Directives and Scripting elements.
Chapter 9: Subprogram Control
Architecture and Software Product Lines A software architecture represents a significant investment of time and effort, usually by senior talent. So it.
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
CSC 8310 Programming Languages Meeting 2 September 2/3, 2014.
Object Based Programming. Summary Slide  Instantiating An Object  Encapsulation  Inheritance  Polymorphism –Overriding Methods –Overloading vs. Overriding.
Appendix A.2: Review of Java and Object-Oriented Programming: Part 2 “For the object-oriented project, remember that the primary unit of decomposition.
Chapter 12: Adding Functionality to Your Classes.
C++ Object Oriented 1. Class and Object The main purpose of C++ programming is to add object orientation to the C programming language and classes are.
1 Kyung Hee University Diagram Editor : Implementation View Spring 2001.
Chapter 12 Support for Object oriented Programming.
Introduction to c++ programming - object oriented programming concepts - Structured Vs OOP. Classes and objects - class definition - Objects - class scope.
Lecture 10 Concepts of Programming Languages Arne Kutzner Hanyang University / Seoul Korea.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
Introduction to Object-Oriented Programming Lesson 2.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Building Custom Controls with ASP.NET and the Microsoft ®.NET Framework Rames Gantanant Microsoft Regional Director, Thailand
Procedure Definitions and Semantics Procedures support control abstraction in programming languages. In most programming languages, a procedure is defined.
COMPUTER SCIENCE & TECHNOLOGY DEGREE PROGRAMME FACULTY OF SCIENCE & TECHNOLOGY UNIVERSITY OF UVA WELLASSA ‏ Properties of Object Oriented Programming.
ISBN Chapter 12 Support for Object-Oriented Programming.
Chapter 12: Support for Object- Oriented Programming Lecture # 18.
WHAT IS MEDIA. MEDIA VS. MEDIA Single Source widely variant ‘media’ at acceptable levels of quality?
STF 454 “DESIGN OF TDL” Proposed TDL features © ETSI All rights reserved.
Class Inheritance Part II: Overriding and Polymorphism Corresponds with Chapter 10.
JAVA: An Introduction to Problem Solving & Programming, 5 th Ed. By Walter Savitch and Frank Carrano. ISBN © 2008 Pearson Education, Inc., Upper.
Inheritance Modern object-oriented (OO) programming languages provide 3 capabilities: encapsulation inheritance polymorphism which can improve the design,
Object-Oriented Modeling
Names and Attributes Names are a key programming language feature
SysML 2.0 Requirements for Visualization
SysML v2 Formalism: Requirements & Benefits
Inheritance and Polymorphism
Introduction to Web Services
CS 326 Programming Languages, Concepts and Implementation
CMP 339/692 Programming Languages Day 24 Tuesday May 1, 2012
Introduction to Triggers
Web Service Modeling Ontology (WSMO)
Plug-in Framework ETICS All Hands – October 2006
Organization of Programming Languages
Business Process Measures
Types of Programming Languages
Daniel Amyot and Jun Biao Yan
Continuing Chapter 11 Inheritance and Polymorphism
CS240: Advanced Programming Concepts
UML Class Diagrams: Basic Concepts
CS 426 Senior Projects Chapter 9: Relationships
Java Programming Language
Scope, Visibility, and Lifetime
Multiple Aspect Modeling of the Synchronous Language Signal
Using JDeveloper.
TestLog.verdict should be extracted into a dedicated ArbitrationResult concept Issue# UMLTP2-22 Related issues # UMLTP2-24 „Explicit arbitration specification.
Java – Inheritance.
9: POLYMORPHISM Programming Technique II (SCSJ1023) Jumail Bin Taliba
9-10 Classes: A Deeper Look.
Issue# UMLTP21-3 Related issues
Final and Abstract Classes
STF 454 TDL – Overview Last change:
Lecture 10 Concepts of Programming Languages
Exception Handling and Event Handling
Abstract TestDesignDirective concepts into abstract TestDirective
9-10 Classes: A Deeper Look.
C++ Object Oriented 1.
SPL – PS1 Introduction to C++.
Static Binding Static binding chooses the function in the class of the base class pointer, ignoring any versions in the class of the object actually.
Computer Science II for Majors
Software Architecture & Design
Framework Anil
Presentation transcript:

Explicit arbitration specification binding does not scale Issue# UMLTP21-4 (https://issues.omg.org/browse/UMLTP21-4) Related issues - UMLTP21-2 Abstract TestDesignDirective concepts into abstract TestDirective (https://issues.omg.org/browse/UMLTP21-2)

Current situation UTP offers a mechanism to override the default AS for test cases, test sets (or test execution schedules) and procedural elements Default AS is always set, when no other AS are explicitly specified for the given element Three different situations are possible Default AS binding Static AS binding Dynamic AS binding (override during runtime) Every element that produces an arbitration result has a reference for static AS binding Some element may have to specify overriding AS for dyanmic binding COP for test design - web site, forum, group, learning structure, topics project, career Doc#:

Current situation (2) Doc#: COP for test design - web site, forum, group, learning structure, topics project, career Doc#:

Current situation (3) Doc#: COP for test design - web site, forum, group, learning structure, topics project, career Doc#:

Current situation (4) Doc#: COP for test design - web site, forum, group, learning structure, topics project, career Doc#:

Current situation (5) Doc#: COP for test design - web site, forum, group, learning structure, topics project, career Doc#:

Opinion Mechanism for binding explicit arbitration specification to elements is simple, but does not scale There can only be one single AS bound to such an element, which literally changes the test case physically If more than one AS shall be bound, one must copy the entire test case Introduce a binding mechanism that loosely couples an arbitration specification with a specific element Declare the current (in-line) binding mechanism deprecated New binding mechanism should be based on the TestDirective concept (see issue UMLTP21-2) COP for test design - web site, forum, group, learning structure, topics project, career Doc#:

Requirements The new arbitraton binding mechanism… shall support dynamic and post-execution comparison Dynamic: Verdict calculation happens during test execution instantaneously (capability of the test execution tool) Post-execution: Verdict calculation happens after test execution based on the test logs sometime shall enable the definition of different arbitration configurations by reusing and combining existing arbitration specification shall enable reuse of arbitration specifications across suitable arbitration targets (e.g., test sets, test cases, procedural elements) shall allow for binding multiple arbitration specifications to the very same corresponding arbitration target in different arbitration configurations COP for test design - web site, forum, group, learning structure, topics project, career Doc#:

Simplifying diagram – general view Arbitration Facility Test Logs (post-execution) Config Input Arbitration Bindings Test artifacts (dynamic) output COP for test design - web site, forum, group, learning structure, topics project, career Arbitration Result Doc#:

Simplifying diagram – post-execution Arbitration Facility Test Logs (post-execution) Input Config Arbitration Bindings verdict Test Case Arbiter Test Case Log Arbiter for expected Procedural Element Actual Procedural Element verdict COP for test design - web site, forum, group, learning structure, topics project, career Arbiter for expected Procedural Element Actual Procedural Element verdict Doc#: Arbitration Result

Simplifying diagram – dynamic Code generation facility Test artifacts (dynamic) Input Config Arbitration Directive Test Case Test Set Test Execution Schedule Procedural Elements output COP for test design - web site, forum, group, learning structure, topics project, career Test Script with Arbitration Information Verdict calculation process belongs to execution tool Doc#:

Our proposal: Cascading AS bindings Couple AS with arbitration targets on different levels Global: AS effectively bound to all arbitration targets of the input Test Set: AS effectively bound to all arbitration targets of that particular test set of the input Test Case: AS effectively bound to all arbitration targets of that particular test case of the input Procedural Element: AS effectively bound to either one particular procedural element or all procedural elements of a specific type (e.g., ExpectResponseAction) of the input Different scopes for the arbitration binding and evaluation process! AS bindings on more special scope override AS bindings on more general scope (like in cascading style sheets) Cascading AS bindings allows for fine-grained override Reference implementation in Fokus!MBT COP for test design - web site, forum, group, learning structure, topics project, career Doc#:

Example: AS Binding Scopes Test Set AS 1 Test Set 1 Test Set AS Binding 1 Test Case 1 Test Case AS Binding 1 Test Case AS 1 Test Case 2 Test Set AS 1 COP for test design - web site, forum, group, learning structure, topics project, career Test Set 1 Test Case 1 Test Case AS 1 Test Case 2 Default Test Case AS Doc#:

Example: AS Binding Scopes (2) Test Set 1 Test Set AS Binding 1 Test Set AS 1 Test Case 1 Test Case AS Binding 1 Test Case AS 1 ERA 1 ExpectResponse AS 1 ERA 2 ERA ASB 1 Test Case 2 Test Set AS 1 ERA 3 Test Set 1 Test Case AS 1 Test Case 1 COP for test design - web site, forum, group, learning structure, topics project, career ERA 1 ExpectResponse AS 1 ERA 2 Default ExpectResponse AS Test Case 2 Default Test Case AS ERA 3 Doc#:

Example: AS Binding Scopes Test Set 1 Test Set AS Binding 1 Test Set AS 1 Test Case 1 Test Case AS Binding 1 Test Case AS 1 ERA 1 ExpectResponse AS 1 ERA 2 ERA ASB 1 Test Case 2 ExpectResponse AS 2 ERA ASB 2 ERA 3 COP for test design - web site, forum, group, learning structure, topics project, career Test Set 1 Test Set AS 1 Test Case 1 Test Case AS 1 ERA 1 ExpectResponse AS 1 Default Test Case AS ERA 2 Test Case 2 ExpectResponse AS 2 ERA 3

Arbitration Facility Design Based on TestDirective/TestInstruction-Framework (see UMLTP21-2) Introduces new stereotypes ArbitrationDirective (subclassing TestDirective) ArbitrationSpecificationBinding (subclassing TesttInstruction) TestSetASBinding TestCaseASBinding ProceduralElementASBinding ArbitrationTarget (superclass of stereotypes TestSet, TestExecutionSchedule, TestCase and ProceduralElement) Used to harmonize the elements that may produce a verdict COP for test design - web site, forum, group, learning structure, topics project, career Doc#:

Abstract Sytax: ArbitrationTarget COP for test design - web site, forum, group, learning structure, topics project, career Doc#:

Abstract Sytax: Recap Doc#: COP for test design - web site, forum, group, learning structure, topics project, career Doc#:

Abstract Sytax: ArbitrationDirective COP for test design - web site, forum, group, learning structure, topics project, career Doc#:

Abstract Syntax: ArbitrationBindings subclasses COP for test design - web site, forum, group, learning structure, topics project, career Doc#:

Abstract Syntax: TestSetASBinding COP for test design - web site, forum, group, learning structure, topics project, career Doc#:

Abstract Syntax: TestCaseASBinding COP for test design - web site, forum, group, learning structure, topics project, career Doc#:

Abstract Syntax: ProceduralElementASBinding COP for test design - web site, forum, group, learning structure, topics project, career Doc#: