CiCUTS: Combining System Execution Modeling Tools with Continuous Integration Environments James H. Hill, Douglas Schmidt Vanderbilt University Nashville,

Slides:



Advertisements
Similar presentations
Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
Advertisements

IBM SMB Software Group ® ibm.com/software/smb Maintain Hardware Platform Health An IT Services Management Infrastructure Solution.
Performance Testing - Kanwalpreet Singh.
© 2005 Avaya Inc. All rights reserved. A Client-Side Architecture for Supporting Pervasive Enterprise Communications Amogh Kavimandan, Reinhard Klemm,
Seyedehmehrnaz Mireslami, Mohammad Moshirpour, Behrouz H. Far Department of Electrical and Computer Engineering University of Calgary, Canada {smiresla,
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Roadmap to Continuous Integration Testing and Benefits Gowri Selka, Walgreens Natalie Koltun, Walgreens May 20th, 2014 ©2013 Walgreen Co. All rights reserved.
High-confidence Software for Cyber Physical Systems Drexel University Philadephia, PA Vanderbilt University Nashville, Tennessee Aniruddha Gokhale *, Sherif.
The Experience Factory May 2004 Leonardo Vaccaro.
Variability Oriented Programming – A programming abstraction for adaptive service orientation Prof. Umesh Bellur Dept. of Computer Science & Engg, IIT.
Task Scheduling and Distribution System Saeed Mahameed, Hani Ayoub Electrical Engineering Department, Technion – Israel Institute of Technology
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
1 12/10/03CCM Workshop QoS Engineering and Qoskets George Heineman Praveen Sharma Joe Loyall Richard Schantz BBN Technologies Distributed Systems Department.
WPDRTS ’05 1 Workshop on Parallel and Distributed Real-Time Systems 2005 April 4th and 5th, 2005, Denver, Colorado Challenge Problem Session Detection.
A Mobile Agent Infrastructure for QoS Negotiation of Adaptive Distributed Applications Roberto Speicys Cardoso & Fabio Kon University of São Paulo – USP.
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
By- Jaideep Moses, Ravi Iyer , Ramesh Illikkal and
23 September 2004 Evaluating Adaptive Middleware Load Balancing Strategies for Middleware Systems Department of Electrical Engineering & Computer Science.
Software Architecture April-10Confidential Proprietary Master Data Management mainly inspired from Enterprise Master Data Management – An SOA approach.
Test Design Techniques
System Design/Implementation and Support for Build 2 PDS Management Council Face-to-Face Mountain View, CA Nov 30 - Dec 1, 2011 Sean Hardman.
SEG Software Maintenance1 Software Maintenance “The modification of a software product after delivery to correct faults, to improve performance or.
10th TTCN-3 User Conference, 7-9 June 2011, Bled, Slovenia AUTOSAR Conformance Tests - Feedback on their development and utilization Alain Feudjio-Vouffo,
MIGRATING INTO A CLOUD P. Sai Kiran. 2 Cloud Computing Definition “It is a techno-business disruptive model of using distributed large-scale data centers.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
第三組 Produce a report on 1.SAP NetWeaver 2.SAP Web Application Server 3. SAP Solution Manager ~ Team member ~ 何承恩 謝岳霖 徐翊翔 陳鼎昇.
An Automated Component-Based Performance Experiment and Modeling Environment Van Bui, Boyana Norris, Lois Curfman McInnes, and Li Li Argonne National Laboratory,
1 Autonomic Computing An Introduction Guenter Kickinger.
CLEANROOM SOFTWARE ENGINEERING.
MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG MADES - A Multi-Layered, Adaptive, Distributed Event Store Tilmann Rabl Mohammad Sadoghi Kaiwen Zhang Hans-Arno.
Testing – A Methodology of Science and Art. Agenda To show, A global Test Process which work Like a solution Black Box for an Software Implementation.
An Introduction to Software Architecture
Computer Science Open Research Questions Adversary models –Define/Formalize adversary models Need to incorporate characteristics of new technologies and.
Service Transition & Planning Service Validation & Testing
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
R R R 1 Frameworks III Practical Issues. R R R 2 How to use Application Frameworks Application developed with Framework has 3 parts: –framework –concrete.
Chapter 14 Part II: Architectural Adaptation BY: AARON MCKAY.
Model-Driven Engineering for Development-Time QoS Validation of Component-based Software Systems James Hill, Sumant Tambe & Aniruddha Gokhale Vanderbilt.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
TOSCA Monitoring Reference Architecture Straw-man Roger Dev CA Technologies March 18, 2015 PRELIMINARY.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
Investigating Survivability Strategies for Ultra-Large Scale (ULS) Systems Vanderbilt University Nashville, Tennessee Institute for Software Integrated.
March 2004 At A Glance NASA’s GSFC GMSEC architecture provides a scalable, extensible ground and flight system approach for future missions. Benefits Simplifies.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Repurpose, Compose, Profit— Next Generation SOA Infrastructure William Cox Cox Software Architects LLC Copyright 2008.
CUTS UNITE DSML for Dataflow Modeling By Pooja Varshneya.
A Software Framework for Distributed Services Michael M. McKerns and Michael A.G. Aivazis California Institute of Technology, Pasadena, CA Introduction.
© 2009 IBM Corporation Maximize Cost Savings While Improving Visibility Into Lines of Business Wendy Tam, CDC Product Marketing Manager
NetQoPE: A Middleware-based Netowork QoS Provisioning Engine for Distributed Real-time and Embedded Systems Jaiganesh Balasubramanian
Component-based System Integration via (Meta)Model Composition
Domain-Specific Modeling Languages for Configuring and Evaluating Enterprise DRE System Quality of Service Stoyan G. Paunov, James H. Hill, Douglas C.
CrossCheckSimulation Results Conclusions References Model Instrumentation Modeling with CUTS Property Specification SPRUCE Challenge Problem Checking Model.
Survey of Tools to Support Safe Adaptation with Validation Alain Esteva-Ramirez School of Computing and Information Sciences Florida International University.
UML - Development Process 1 Software Development Process Using UML.
Domain-Specific Modeling Languages for Configuring and Evaluating Enterprise DRE System Quality of Service Stoyan G. Paunov, James H. Hill, Douglas C.
Model-Driven Optimizations of Component Systems Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems OMG Real-time Workshop.
1 Component Workload Emulator (CoWorkEr) Utilization Test Suite (CUTS) Augmenting the Fighting Spirit of the Warrior Dr. Douglas C. Schmidt & James Hill.
UCI Large-Scale Collection of Application Usage Data to Inform Software Development David M. Hilbert David F. Redmiles Information and Computer Science.
FLARe: a Fault-tolerant Lightweight Adaptive Real-time Middleware for Distributed Real-time and Embedded Systems Dr. Aniruddha S. Gokhale
DevCOP: A Software Certificate Management System for Eclipse Mark Sherriff and Laurie Williams North Carolina State University ISSRE ’06 November 10, 2006.
Resource Optimization for Publisher/Subscriber-based Avionics Systems Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee.
1 The XMSF Profile Overlay to the FEDEP Dr. Katherine L. Morse, SAIC Mr. Robert Lutz, JHU APL
Information Systems Development
Self Healing and Dynamic Construction Framework:
Model-Driven Analysis Frameworks for Embedded Systems
The Extensible Tool-chain for Evaluation of Architectural Models
An Introduction to Software Architecture
Presentation transcript:

CiCUTS: Combining System Execution Modeling Tools with Continuous Integration Environments James H. Hill, Douglas Schmidt Vanderbilt University Nashville, TN, USA Vanderbilt University Nashville, Tennessee Institute for Software Integrated Systems IEEE International Conference & Workshop on Engineering of Computer Based Systems (ECBS 08) March 31 – April 4, 2008 Belfast, Northern Ireland Adam Porter University of Maryland College Park, MD, USA John M. Slaby Raytheon Company Portsmouth, RI, USA

CiCUTS : ECBS 2008 James H. Hill Motivation: SOA-based System Development Enterprise DRE systems are increasingly being developed using service-oriented architectures (SOAs) –e.g., CCM, J2EE, & Microsoft.NET SOAs address many software development challenges –e.g., reuse of core application- logic, improving application scheduability & reliability SOAs, however, incur unresolved problems that have adverse affects on development-time –e.g., serialized-phased where application level components are not tested until long after infrastructure level components

CiCUTS : ECBS 2008 James H. Hill Application components developed after infrastructure is mature Development Timeline Level of Abstraction System infrastructure components developed first Serialized Phasing is Common in Large-scale Systems (1/2)

CiCUTS : ECBS 2008 James H. Hill Serialized Phasing is Common in Large-scale Systems (2/2) Development Timeline Level of Abstraction Integration Surprises!!! System integration & testing Finished development

CiCUTS : ECBS 2008 James H. Hill Model-Driven System Execution Modeling (SEM) Tools Enables early testing on target infrastructure throughout development lifecycle. SEM tools, however, have limited testing capabilities to support continuous system testing & evaluation. System execution modeling (SEM) tools are a promising technology for addressing serialized-phasing problems Component Workload Emulator (CoWorkEr) Utilization Test Suite (CUTS)

CiCUTS : ECBS 2008 James H. Hill Solution Approach: Integrate SEM Tools with Continuous Integration Environments Continuous integration environments provide mechanisms that continuously validate software quality by: 1.performing automated system builds upon source code commit or successful execution & evaluation of prior events Sources Binaries

CiCUTS : ECBS 2008 James H. Hill Solution Approach: Integrate SEM Tools with Continuous Integration Environments Continuous integration environments provide mechanisms that continuously validate software quality by: 1.performing automated system builds upon source code commit or successful execution & evaluation of prior events, 2.executing suites of unit tests to validate basic system functionality,

CiCUTS : ECBS 2008 James H. Hill Solution Approach: Integrate SEM Tools with Continuous Integration Environments Continuous integration environments provide mechanisms that continuously validate software quality by: 1.performing automated system builds upon source code commit or successful execution & evaluation of prior events, 2.executing suites of unit tests to validate basic system functionality, 3.evaluating source code to ensure it meets coding standards, & 4.executing code coverage analysis

CiCUTS : ECBS 2008 James H. Hill Solution Approach: Integrate SEM Tools with Continuous Integration Environments Continuous integration environments provide mechanisms that continuously validate software quality by: 1.performing automated builds commit or successful execution & evaluation of prior events, 2.executing unit tests to validate basic system functionality, 3.evaluating source code to ensure it meets coding standards, & 4.executing code coverage analysis CiCUTS (i.e., combination of continuous integration environments with CUTS) uses integration tests managed by continuous integration environments that dictate the behavior of CUTS CiCUTS helps developers & testers ensure system QoS meets—or is close to meeting—its specification throughout the development lifecycle.

CiCUTS : ECBS 2008 James H. Hill CiCUTS Integration Challenges Integration of CUTS with CruiseControl.NET requires agreement of the following profiling decisions: How to present metrics to continuous integration environment?? What profile metrics to collect? ? How do you capture metrics effectively? Integration Alternatives Extend profiling infrastructure of SEM tools to capture domain-specific metrics Capture domain-specific performance metrics in format understood by continuous integration environments Capture domain-specific performance metrics in an intermediate format

CiCUTS : ECBS 2008 James H. Hill Alternative 1: Extending Profiling Infrastructure Context SEM tools provide profiling infrastructures to collect predefined performance metrics e.g., execution times of events/function calls or values of method arguments Advantages Simplifies development of profiling framework e.g., can leverage existing data collection techniques Disadvantages Must ensure domain-specific metrics do not effect existing SEM tool performance SEM tools may be proprietary & extension may be prohibited SEM tool profiling infrastructure Proprietary data store Do extensions affect SEM infrastructure performance?

CiCUTS : ECBS 2008 James H. Hill Alternative 2: Capture Metrics In Format Understood By Continuous Integration Environment Context Continuous integration environments use proprietary formats to store & analyze data May be feasible to collect & present metrics in format understood by continuous integration environments Advantages Simplifies integration at the continuous integration side since format is known a priori Disadvantages Requires a custom testing framework (adapter) to present data Tightly couples SEM tool with continuous integration environment User-defined data collection technique Proprietary data store Tight coupling

CiCUTS : ECBS 2008 James H. Hill Alternative 3: Capture Metrics In Intermediate Format Context Continuous integration & SEM tools each have proprietary methods e.g., data collection & representation May be feasible to store data in intermediate format that is not bound to a specific tool Advantages Decouples continuous integration environment from the SEM tool Collection can be transparent to existing SEM tool infrastructure Disadvantages Requires agreement of intermediate format & implementation of data collectors & adapters on either side of the data store Proprietary collection format Proprietary data format Data bridge between either environment

CiCUTS : ECBS 2008 James H. Hill Functionality & Structure of CiCUTS Chose integration alternative 3 because of its decouple design feature –e.g., developers can select different integration systems or SEM technologies, but leverage same technique 1.Loggers transparently capture domain-specific performance metrics via user-defined log messages 2.Intermediate database stores metrics collected by loggers for analysis 3.CruiseControl.NET executes & analyzes CUTS tests 4.Benchmark Node Controller execute commands received from CruiseControl.NET on the testing environment e.g., terminate container applications

CiCUTS : ECBS 2008 James H. Hill Application of CiCUTS to an Enterprise DRE System RACE is a component-based DRE system that manages operational strings RACE supports two types of operational string deployments Static – deployments created offline where components are assigned to hosts Dynamic – deployments created online, but component assignment to host is based on operating conditions Baseline scenario - higher priority operational strings must have longer lifetime than lower priority operational strings e.g., under low resource availability

CiCUTS : ECBS 2008 James H. Hill Experimental Design of RACE Baseline Scenario CiCUTS Hypotheses 1.Developers can understand behavior & performance of infrastructure-level applications before system integration 2.Developers can ensure QoS performance is within specifications throughout the development lifecycle more efficiently & effectively than waiting until system integration to evaluate QoS performance Experiment Design Constructed 10 identical operational strings with different importance values & used CUTS to generate implementation A – H: 90 I – J: 2 Augmented RACE source code with log messages for CiCUTS to intercept Created Nant scripts for CiCUTS to manage & execute e.g., deploy/teardown operational string, send commands to Benchmark Node Controller, & query database for results

CiCUTS : ECBS 2008 James H. Hill Hypothesis 1: Understanding Behavior & Performance of Infrastructure Level Components (1/2) Static Deployment Log Message Reconstruction Dynamic Deployment Log Message Reconstruction Start of test

CiCUTS : ECBS 2008 James H. Hill Hypothesis 1: Understanding Behavior & Performance of Infrastructure Level Components (1/2) Static Deployment Log Message Reconstruction Dynamic Deployment Log Message Reconstruction Kill node with higher importance operational string

CiCUTS : ECBS 2008 James H. Hill Hypothesis 1: Understanding Behavior & Performance of Infrastructure Level Components (1/2) Static Deployment Log Message Reconstruction Dynamic Deployment Log Message Reconstruction Higher importance operational strings still offline RACE recognizes node failure RACE teardown lower importance operational strings RACE redeploys higher operational strings

CiCUTS : ECBS 2008 James H. Hill Hypothesis 1: Understanding Behavior & Performance of Infrastructure Level Components (1/2) Static Deployment Log Message Reconstruction Dynamic Deployment Log Message Reconstruction The lifetime of higher importance operational strings is greater than the lifetime of lower importance operational strings

CiCUTS : ECBS 2008 James H. Hill Hypothesis 1: Understanding Behavior & Performance of Infrastructure Level Components (2/2) Conclusion: CiCUTS helps developers understand the behavior & performance of infrastructure level components Benefits of CiCUTS Do not have to rely on ad hoc techniques to determine behavior of RACE e.g.,manually inspecting & reconstructing distributed execution trace logs Simplified determining if RACE is performing as expected Performance evaluation of RACE can happen well before system integration time

CiCUTS : ECBS 2008 James H. Hill Hypothesis 2: Ensuring Infrastructure Performance is Within QoS Specifications First execution of a performance test Latest execution of a performance test

CiCUTS : ECBS 2008 James H. Hill Hypothesis 2: Ensuring Infrastructure Performance is Within QoS Specifications Single performance test of RACE Bar height represents dynamically deployed operational string lifetime improvement

CiCUTS : ECBS 2008 James H. Hill Hypothesis 2: Ensuring Infrastructure Performance is Within QoS Specifications Target goal for improvement Lower bound for improvement

CiCUTS : ECBS 2008 James H. Hill Hypothesis 2: Ensuring Infrastructure Performance is Within QoS Specifications Benefits of CiCUTS Simplifies the process of continuous performance evaluation Does not require developers to: 1.Monitor project’s source for changes 2.Update test environment 3.Run performance tests 4.Associate tests results with detected modifications Conclusion: CiCUTS helps ensure infrastructure performance is within is QoS specficiations throughout the development lifecycle

CiCUTS : ECBS 2008 James H. Hill Concluding Remarks SEM tools provide mechanisms for executing performance tests during the early stages of development CiCUTS address the problem of improving testing capabilities for SEM tools via continuous integration systems CiCUTS is, therefore, able to help: 1.Developers understand the behavior & performance of infrastructure level components 2.Ensure infrastructure performance is within is QoS specficiations throughout the development lifecycle CUTS & CiCUTS is available in open-source format at the following location

CiCUTS : ECBS 2008 James H. Hill Questions