August/2007 Helton Souza Lima SBCARS 1 Automatic Generation of Platform Independent Built-in Contract Testers Helton Souza Lima Franklin Ramalho Patricia.

Slides:



Advertisements
Similar presentations
Connected Health Framework
Advertisements

.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 11 Brief introduction to the UML Specification (Based on UML Superstructure.
Architecture Representation
Ontologies Reasoning Components Agents Simulations Software Components and the KobrA Model-Driven Component-Based Software Engineering Methodoloy Jacques.
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
1 CS 426 Senior Projects Chapter 19: Interfaces and Components [Arlow & Neustadt 2005] February 28, 2008.
7 July 2003 MDA presentation Dennis Wagelaar 1 Model-Driven Architecture The current state of affairs.
A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards Dr. Nenad Medvidovic Center.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
Page 1, July 3, 2015 CBSE – graduate course Component-Based Software Engineering Building reliable component-based systems Overview
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
OMG Meeting, Helsinki Model Driven Architecture An Alternative Implementation Approach Werner Froidevaux
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
MTEI Methods & Tools for Enterprise Integration
Using UML Models for the Performance Analysis of Network Systems Nico de Wet and Pieter Kritzinger Department of Computer Science University of Cape Town.
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
Deriving AO Software Architectures using the AO-ADL Tool Suite Luis Fernández, Lidia Fuentes, Mónica Pinto, Juan A. Valenzuela Universidad de Málaga
Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Advanced Applications Of Model-to-Model Transformation Hugo Bruneliere & Frédéric.
February Semantion Privately owned, founded in 2000 First commercial implementation of OASIS ebXML Registry and Repository.
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Introduction to MDA (Model Driven Architecture) CYT.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 11 Subsystem Design.
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
1 A Model-Driven Approach For Information System Migration Raymonde Le Delliou 1, Nicolas Ploquin 2, Mariano Belaunde 3, Reda Bendraou 4, Louis Féraud.
Ontologies Reasoning Components Agents Simulations KobrA: A Model-Driven Component-Based Software Product Line Engineering Methodology Jacques Robin.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Model-Driven Engineering of Behaviors in User Interfaces Efrem Mbaki & Jean Vanderdonckt Université catholique de Louvain (UCL) Louvain School of Management.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Active Components a Software Product Line Infrastructure Bas Geertsema Slinger Jansen Information and Computing Sciences University Utrecht VARI-ARCH Workshop.
Part VII: Design Continuous
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Chapter 19: Interfaces and Components [Arlow and Neustadt, 2005] University of Nevada, Reno Department of Computer Science & Engineering.
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
Reuse Contracts A Historic Overview Dr. Tom Mens Programming Technology Lab Vrije Universiteit Brussel Course OOSE.RC EMOOSE
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Driven Performance Analysis University College London James Skene –
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
Model Driven Architecture MDA SE-548 Lale Doğan
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
Architecture for View Modeling in SysML Auto-View Generation Working Group Lead: Christopher Delp NASA JPL.
CHESS Methodology and Tool Federico Ciccozzi MBEES Meeting Sälen, January 2011 January 2011.
Distribution and components
Model-Driven Analysis Frameworks for Embedded Systems
UML profiles.
Constructing MDA-based Application Using Rational XDE for .NET
MDT UML2Tools 0.8 Mini-deck
Automated Analysis and Code Generation for Domain-Specific Models
COMPONENT – BASED SOFTWARE ENGINEERING MODULE 2 – SECOND SEMESTER MKHIZE, BSC HONS COMPUTER SCIENCES, DIP IT, ICDL.
Software Architecture & Design
Presentation transcript:

August/2007 Helton Souza Lima SBCARS 1 Automatic Generation of Platform Independent Built-in Contract Testers Helton Souza Lima Franklin Ramalho Patricia Machado Everton Alves Grupo de Métodos Formais - GMF Brazilian Symposium on Software Components, Architectures and Reuse – SBCARS Campinas - SP

August/2007 Helton Souza Lima SBCARS 2 Introduction The problem Component-Based Development High quality reusable software Reliable components = well tested components Model Based Testing Tests are in conformance to the specification Tests are constructed as soon as specifications Automatic Model Based Testing Changes on models are instantly reflected on the tests Tests are more reliable – no human interference Problem: We need tests fully and automatically generated from models and with a high reliability and reusability

August/2007 Helton Souza Lima SBCARS 3 To achieve these benefits we need: (1) A component-based methodology (2) The methodology should deals with models (3) A model-based testing method inside the methodology (4) An approach able to make the testing method automatic Introduction The solution

August/2007 Helton Souza Lima SBCARS 4 Our Solution MoBIT MoBIT (Model-driven Built-In contract Testers) (1) and (2): The component and model-based methodology: KobrA (3): Model-based testing method inside KobrA: BIT (4): The approach to build the automatic BIT method: MDE

August/2007 Helton Souza Lima SBCARS 5 Background The approach MDE (Model-Driven Engineering) New approach of software development Focus on models (UML and OCL models) Steps: Build the models in conformance to meta-models Create the transformation rules between pairs of meta-models Use engines to process the transformations among source and target models Benefits: Maximize software reuse (including between different platforms) Speed-up software development

August/2007 Helton Souza Lima SBCARS 6 Background The methodology KobrA Three foundations: Component-based – modularity Product-line – reuse Model-Driven – UML models Simple Minimal set of concepts Systematic Methodological Prescriptive Step-wise process Flexible Wide range of circumstances Scalable Large and small systems KobrA Component-based Development (CBD) Model-Driven Architecture (MDA) Product-Line Engineering (PLE)

August/2007 Helton Souza Lima SBCARS 7 Background The testing method BIT (Built-In contract Testing) Standard testing method inside KobrA methodology Functional testing Based on behavior models defined in KobrA Client-Server integration testing Component-based Step-by-step method Defines a standard structure to perform tests on the server Based on the behavior and interfaces specified in the models Our goal is make this method an automatic step

August/2007 Helton Souza Lima SBCARS 8 Our Solution MoBIT MoBIT Another term: Model-Driven Testing (MDT) Is an automatic MBT approach In conformance to the MDE principles meta-models, models and transformations Tests infrastructure is generated through the transformations After the rules are implemented, there is no cost to generate the tests An architecture was created…

August/2007 Helton Souza Lima SBCARS 9 MoBIT Architecture Follows the MDE general architecture Meta-models and models: Development and Testing Horizontal and vertical transformations – refinements This work focus on: CIM-PIM to CITM- PITM From structural and behavioral diagrams To structural diagrams refined with BIT concepts

August/2007 Helton Souza Lima SBCARS 10 BIT Profile UML extension mechanism: adds specific semantic to UML elements A set of stereotypes Each one corresponds to a BIT concept

August/2007 Helton Souza Lima SBCARS 11 BIT Profile Creates the client and the server Configures the connection between them

August/2007 Helton Souza Lima SBCARS 12 BIT Profile A component of the system Can be either a client or a server

August/2007 Helton Souza Lima SBCARS 13 BIT Profile A class with testing purposes

August/2007 Helton Souza Lima SBCARS 14 BIT Profile Association between a client and a server

August/2007 Helton Souza Lima SBCARS 15 BIT Profile Association between the Context and a client or a server

August/2007 Helton Souza Lima SBCARS 16 BIT Profile Operation with testing purposes

August/2007 Helton Souza Lima SBCARS 17 BIT Profile A set of > operations

August/2007 Helton Souza Lima SBCARS 18 BIT Profile Sets the server to a specific state

August/2007 Helton Souza Lima SBCARS 19 BIT Profile Informs if the server is in a specific state

August/2007 Helton Souza Lima SBCARS 20 Transformations From CIM-PIM Source meta-model: class diagram and behavioral state machine diagram To CITM-PITM Target meta-model: class diagram annotated with the BIT profile Reuse UML metamodels Transformation Language: ATL Atlas Transformation Language Framework: ATL-DT Eclipse integrated Two different clauses from to

August/2007 Helton Souza Lima SBCARS 21 Case Study The Library System

August/2007 Helton Souza Lima SBCARS 22 Case Study Identifying the source elements (from) The > from cont:UML2!Class( cont.extension->exists(e | e.ownedExtension.stereotype.name = 'Context') ) The Client The Server The states of the Server

August/2007 Helton Souza Lima SBCARS 23 Case Study Generating the target elements

August/2007 Helton Souza Lima SBCARS 24 Case Study Generating the target elements subc:UML2!Class( superClass <- Set{client}, generalization <- genc, name <- 'Testing' + client.name, ownedOperation <- oo, extension <- cExt), )... cExt:UML2!Extension(ownedExtension <- cExtEnd), cExtEnd:UML2!ExtensionEnd(type <- cSte), cSte:UML2!Stereotype(name <- 'TestingComponent'),

August/2007 Helton Souza Lima SBCARS 25 Concluding Remarks Results A profile for the BIT method A tool with ATL rules: From pure KobrA structural and behavioral diagrams To KobrA structural diagrams fully annotated with BIT concepts Implemented as an Eclipse plugin Integration with other tools through XMI

August/2007 Helton Souza Lima SBCARS 26 Concluding Remarks Discussion MoBIT realizes MDT Flexible approach and architecture Although KobrA was choosen, another methodology can be incorporated Future work Other UML diagrams and OCL expressions Other vertical and horizontal transformations