Continuous System Integration of Distributed Real-time and Embedded Systems

Similar documents
Using Test Clouds to Enable Continuous Integration Testing of Distributed Real-time and Embedded System Applications

CoSMIC: An MDA Tool Suite for Application Deployment and Configuration

What You Need to Know About Transitioning to SOA

Netowork QoS Provisioning Engine for Distributed Real-time and Embedded Systems

Oracle WebLogic Server 11g: Administration Essentials

Patterns of Information Management

Revel8or: Model Driven Capacity Planning Tool Suite

Automation and Virtualization Increase Utilization and Efficiency of J2EE Applications

Agile Business Process Automation

GUI Test Automation How-To Tips

Component-Oriented Engineering

Model-Based Testing of Web Applications using NModel

Service-Oriented Architecture and its Implications for Software Life Cycle Activities

Business Process Management In An Application Development Environment

Automating Security Testing. Mark Fallon Senior Release Manager Oracle

Contents. Introduction... 1

Prerequisites for Successful SOA Adoption

Choosing A Load Testing Strategy Why and How to Optimize Application Performance

Integrated Development of Distributed Real-Time Applications with Asynchronous Communication

secure intelligence collection and assessment system Your business technologists. Powering progress

A Data Centric Approach for Modular Assurance. Workshop on Real-time, Embedded and Enterprise-Scale Time-Critical Systems 23 March 2011

ALM/Quality Center. Software

Information Technology Policy

Business-Driven Software Engineering Lecture 3 Foundations of Processes

A Case Study in Integrated Quality Assurance for Performance Management Systems

Over the past five decades, software researchers

Database Application Developer Tools Using Static Analysis and Dynamic Profiling

Combining Service-Oriented Architecture and Event-Driven Architecture using an Enterprise Service Bus

High Performance Time-Series Analysis Powered by Cutting-Edge Database Technology

Business Process Management Enabled by SOA

Application Test Management and Quality Assurance

PRACTICAL BUSINESS INTELLIGENCE STRATEGIES:

A Management Tool for Component-Based Real-Time Supervision and Control Systems

Test management best practices

SECTION 4 TESTING & QUALITY CONTROL

Service-Oriented Software Testing Platform *

Testing automation of projects in telecommunication domain

Implement a unified approach to service quality management.

Industrial Adoption of Automatically Extracted GUI Models for Testing

AppStack Technology Overview Model-Driven Application Management for the Cloud

Base One's Rich Client Architecture

Oracle Public Cloud. Peter Schmidt Principal Sales Consultant Oracle Deutschland BV & CO KG

Your Data, Any Place, Any Time.

Sentinet for BizTalk Server SENTINET

Introduction to Business Model Simulation ActiveVOS Designer

Using SOA to Improve Operational Efficiency A Management Overview. Introducing MIKE2.0 An Open Source Methodology for Information Development

SOA Enabled Workflow Modernization

Virtual Platforms Addressing challenges in telecom product development

High-Volume Performance Test Framework using Big Data

Real-Time Analytics on Large Datasets: Predictive Models for Online Targeted Advertising

Real Time Performance Dashboard for SOA Web Services ORION SOA

Service Virtualization

Testing Web Services Today and Tomorrow

Service Oriented Architecture

5 Days Course on Oracle WebLogic Server 11g: Administration Essentials

Component-Based and Service-Oriented Software Engineering: Key Concepts and Principles

Deploying to WebSphere Process Server and WebSphere Enterprise Service Bus

Is Your Mobile App Platform RFP Asking The Right Questions?

Delivery. Continuous. Jez Humble and David Farley. AAddison-Wesley. Upper Saddle River, NJ Boston Indianapolis San Francisco

Ultimus Adaptive BPM Suite V8

Trends in Embedded Software Development in Europe. Dr. Dirk Muthig

Vendor briefing Business Intelligence and Analytics Platforms Gartner 15 capabilities

A Reference Architecture for Distributed Software Deployment

ASSURING SOFTWARE QUALITY USING VISUAL STUDIO 2010

IBM Rational Asset Manager

ALM120 Application Lifecycle Management 11.5 Essentials

Five best practices for deploying a successful service-oriented architecture

Using TechExcel s DevSuite to Achieve FDA Software Validation Compliance For Medical Software Device Development

Product Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle

Develop and test faster by virtualizing constrained application components

Utilizing Domain-Specific Modelling for Software Testing

Done. Imagine it. c Consulting. c Systems Integration. c Outsourcing. c Infrastructure. c Server Technology.

MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS

Case Study - I. Industry: Social Networking Website Technology : J2EE AJAX, Spring, MySQL, Weblogic, Windows Server 2008.

Hitachi Data Center Analytics

IT Governance. What is it and how to audit it. 21 April 2009

Achieve greater efficiency in asset management by managing all your asset types on a single platform.

How To Compare Real Time Scheduling To A Scheduled Scheduler On Linux On A Computer System With A Visualization System

Client Onboarding Process Reengineering: Performance Management of Client Onboarding Programs

SOA for Healthcare: Promises and Pitfalls

GETTING REAL ABOUT SECURITY MANAGEMENT AND "BIG DATA"

Transcription:

Continuous System Integration of Distributed Real-time and Embedded Systems and Douglas Schmidt Vanderbilt University Nashville, TN, USA OMG s Workshop on Distributed Object Computing for Real-time and Embedded Systems (RTWS 08) July 14 16, 2008 Washington, DC, USA Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee

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 applicationlogic, 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

Serialized Phasing is Common in Large-scale Systems (1/2) Level of Abstraction System infrastructure components developed first Application components developed after infrastructure is mature Development Timeline

Serialized Phasing is Common in Large-scale Systems (2/2) Finished development System integration & testing Level of Abstraction Integration Surprises!!! Development Timeline

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

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

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,

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

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 CiCUTS meeting its : OMG s RTWS specification 2008 throughout the development lifecycle.

CiCUTS Integration Challenges Integration of CUTS with CruiseControl.NET requires agreement of the following profiling decisions: How do you capture metrics effectively?? What profile metrics to collect? How to present metrics to continuous integration environment?? 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

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 Proprietary data store SEM tool profiling infrastructure Do extensions affect SEM infrastructure performance?

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 Proprietary data store User-defined data collection technique 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 Tight coupling

Alternative 3: Capture Metrics In Intermediate Format Context Continuous integration & SEM tools each have proprietary methods Proprietary data format e.g., data collection & representation May be feasible to store data in intermediate format that is not bound to a specific tool Proprietary collection format 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 Data bridge between either environment

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

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

Experimental Design of RACE Baseline Scenario CiCUTS Hypotheses Experiment Design 1. Developers can understand behavior Constructed 10 identical & performance of infrastructure-level operational strings with different applications before system integration importance values & used CUTS 2. Developers can ensure QoS to generate implementation performance is within specifications A H: 90 throughout the development lifecycle I J: 2 more efficiently & effectively than Augmented RACE source code waiting until system integration to with log messages for CiCUTS to evaluate QoS performance 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

Hypothesis 1: Understanding Behavior & Performance of Infrastructure Level Components (1/2) Start of test Dynamic Deployment Log Message Reconstruction Start of test Static Deployment Log Message Reconstruction

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

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

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

Hypothesis 1: Understanding Behavior & Performance of Infrastructure Level Components (2/2) 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 Conclusion: CiCUTS helps developers understand the behavior & performance CiCUTS : OMG s RTWS of 2008 infrastructure level components

Hypothesis 2: Ensuring Infrastructure Performance is Within QoS Specifications First execution of a performance test Latest execution of a performance test

Hypothesis 2: Ensuring Infrastructure Performance is Within QoS Specifications Single performance test of RACE Bar height represents dynamically deployed operational string lifetime improvement

Hypothesis 2: Ensuring Infrastructure Performance is Within QoS Specifications Target goal for improvement Lower bound for improvement

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 CiCUTS : OMG s specficiations RTWS 2008 throughout the development lifecycle

Current & Future Research Generalization of Testing & Analysis Framework Messages used to construct behavior graphs can be identified using high-level constructs e.g., received {INT x} events Given high-level constructs, data mining techniques can be applied to extract log messages of interest Values of interests can be extracted from log messages & used to generate behavior & performance graphs executes against received [[:digit:]]+ events regular expression generates Multiple Runs of Unit Test

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 : OMG s RTWS http://www.dre.vanderbilt.edu/cuts 2008

Questions