SMock A Test Platform for the Evaluation of Monitoring Tools

Size: px
Start display at page:

Download "SMock A Test Platform for the Evaluation of Monitoring Tools"

Transcription

1 SMock A Test Platform for the Evaluation of Monitoring Tools User Manual Ruth Mizzi Faculty of ICT University of Malta June 20, 2013

2 Contents 1 Introduction The Architecture and Design of SMock Preparing an SMock Specification A domain specific language in Python Action Action Configuration Anonymous Action Sequential Composition Parallel Composition Choice Sequential ForEach Parallel ForEach The Document Management System Specification Further Example scenarios Image Processing Example Using SMock 17 2

3 Chapter 1 Introduction Runtime verification is a technique which introduces added assurance to software systems by analysing the generated events and checking them against formally specified behaviour. Most times this process involves the execution of verification code on the same resources being used by the monitored system, while the system itself is running. In order to ensure widespread adoption of runtime verification, a challenge that needs to be addressed by most runtime verification tools is therefore that of ensuring that the overheads they impose on the execution of the system being analysed are kept to a minimum. SMock aims to provide a flexible and customisable testing framework, for runtime verification tools, that is capable of providing quantitative measures on the overall effect of the runtime monitoring process on an executing system. SMock is a configurable framework which may be used to mock transaction systems under different loads and usage patterns. The key feature of the framework is the ease with which one can define different types of behaviour and farm out concurrent instances of such behaviours using user-specified distributions. As an illustrative example, consider the simulation of a document management system. In order to mock the typical architecture and usage of such a system, the following scenario could be specified: Example 1 A document management system commonly allows users to log into the system and start their own session, upload documents, edit these documents and so forth. In addition, such systems will usually have special users who are assigned the role of administrators and who have special permissions and responsibilities, such as that of managing the application users. Such systems would normally be highly concurrent and non-deterministic, with multiple user sessions being active at the same time, executing completely different actions. 3

4 We could describe one sample scenario, stating that, during an execution of the system: 30 users will log into the system over a span of 5 minutes of these, 5 users will be administrators while the rest will be normal users normal users will be carrying out different activities on the system a number will simply log in and log out again after a few seconds some might log in, upload a document and log out again some might log in, carry out activities and never log out etc. administrator users will also have a range of different transactions they will carry out on the system SMock allows straightforward scripting of case studies such as the one just described, giving control over types of transactions 1, timing issues, load buildup, usage patterns, etc., which can be used to benchmark the correctness and performance of different runtime verification tools. 1.1 The Architecture and Design of SMock SMock has been built in such a manner so as to enable the easy generation of families of transaction systems with two levels of configurability: (i) the forms and variations of the underlying transactions; and (ii) the scenarios depicting transaction firing as distributed over time. Figure 1.1 illustrates how the SMock architecture enables us to achieve this goal. SMock takes a script describing the various mock system architecture and execution options and generates a Java mock system behaving in the prescribed manner, generating events which can be captured by monitoring tools. Such a system is then typically monitored using a specification script in a runtime monitoring tool, enabling the measurement of overheads induced by the monitors in such a setting. Since the mock system may include parts which are randomly generated (e.g. the script may specify the launching of between 100 and 120 transactions launched in the first 10 seconds), its execution also outputs information (to the Replay Configuration file) to allow exact replayability. This enables, for instance, comparison of the performance of the 1 We use transaction to refer to an independent highly replicated unit of processing. 4

5 different versions of a runtime verification tool, or its performance against that of other tools, or as a regression test following a bug fix. SMock specification Profiling Report SMock GENERATED SYSTEM RUNTIME MONITOR RV specification Replay Configuration Figure 1.1: Proposed Test Platform Architecture The typical scenario in which the test platform will be used would be a sequence of actions which would involve: 1. Generating a mock transaction system through a user-defined specification 2. Executing the mock transaction system without any runtime monitoring 3. Saving the profiling reports output by the mock transaction system 4. Starting the runtime verification related testing: (a) Using an arbitrary runtime verification tool to instrument the mock transaction system to include runtime monitoring (b) Executing the mock transaction system, this time with included runtime monitoring functionality (c) Saving the profiling reports output by the mock transaction system 5. Comparing the output reports issued in steps (3) and (4c) to determine the effects of the runtime monitoring framework on the transaction system 5

6 Chapter 2 Preparing an SMock Specification One of the strengths of SMock is that it allows users to script scenarios to be used for testing. An execution of the test system is referred to as process P. Basic processes are individual actions which are characterised by three parameters their duration, memory consumption and CPU usage. These configurable parameters can be exact values or probability distributions, to enable the mock system to behave within a range of possible behaviours. Conf is therefore defined as: Conf ::=< duration, mem, cpu > Actions, which can now be represented using A Conf, can be named if one would want to be able to monitor their moment of entry and exit, but can also be left unnamed. Anonymous actions thus do not result in the triggering of system events during program execution. Processes can be combined using the following operators: (i) sequential composition; (ii) parallel composition of processes; and (iii) probability weighted choice between processes. The combinators come in a binary form and also generalised versions which allow the combination of multiple processes together. The following grammar describes these possible ways of composing actions into processes. P ::= A Conf P ; P P P P n P n ; x [...] do P (x) x [...] do P (x) A detailed, formal definition of this specification language is given in the SMock Technical Specification document??. This chapter explains the SMock specification language syntax and the way the various constructs can be combined to create 6

7 a complete script. 2.1 A domain specific language in Python SMock scripts are written in a small domain specific language which provides a number of constructors to enable the description of processes, as defined above, and how they are to be launched. The scripting language has been implemented as an embedded language [?] in Python. As an example, one of the simplest scripts that can be set up defines a program whose execution consists of only one call to an action named login, as shown here. Action( login, Delay(F ixed(3)), MemUsage(F ixed(2)), CP UUsage(Normal(50, 2))) Action An action is used to describe a single operation being carried out on the system. Concretely, an action is translated into a system method call, with the method making use of time and system resources. This resource usage must therefore also be specified through the action configuration parameter. An action is defined by : an action name the action configuration settings(defined below) Action (actionname, ActionConfig ) Action Configuration An action s resource usage is modelled through its configuration settings which specify (i) the time that elapses while the action is being processed (in seconds); (ii) memory resources utilised by the action s execution (in Kb) ; and (iii) percentage of the total CPU power utilised during execution of the action. Delay, MemUsage, CPUUsage) Memory usage, CPU utilisation and time delay settings are all randomized according to a specified distribution. The signatures of these constructs therefore all follow the same pattern of expecting one Distribution argument. The current implementation supports the following distributions: 7

8 Table 2.1: Action Configuration Parameters Language Signature Argument Description Construct Delay Delay(Distribution) Distribution - structure specifying distribution from which a random value can be generated CPUUsage CPUUsage(Distribution) Distribution - structure specifying distribution from which a random value can be generated MemUsage MemUsage(Distribution) Distribution - structure specifying distribution from which Fixed a random value can be generated (extends Distribution) Fixed(val) val - a fixed value Normal Normal(mean, sd) mean - mean of the distribution (extends Distribution) sd - standard deviation of the distribution Normal distribution Exponential distribution to be implemented Uniform distribution to be implemented Alternatively, fixed values can be specified. Table 2.1 summarizes usage of the mentioned constructs. The simple script proposed at the beginning of this chapter can therefore be explained as follows: The script defines the execution of one action, named login. The execution of login will have a fixed duration of 3ms. 2K of available memory will be utilised and the execution will require approximately 50% of the total CPU power availabled (the exact CPU usage will be a randomised value obtained from a normal distribution of mean 50 and standard deviation of 2) Anonymous Action to be implemented Apart from the named actions just described, a process may also incorporate one or more anonymous actions. The definition of an anonymous action, similarly to that of the standard Action, is used to specify resource usage during a defined time interval. The difference between an unnamed (or anonymous) action and the standard action defined previously, is that execution of these anonymous actions does not result in the triggering of events. The definition of an anonymous execution would therefore be of the form: AnonAction(Delay(F ixed(3)), M emu sage(f ixed(2)), CP U U sage(n ormal(50, 2))) 8

9 or, more simply, Action(, Delay(F ixed(3)), MemUsage(F ixed(2)), CP UUsage(Normal(50, 2))) Sequential Composition A realistic description of the run of a process will usually involve the sequential execution of multiple actions. A process can therefore be defined as a sequence of named, and possibly anonymous, actions, using the sequence construct Seq. As an illustrative example, we shall build a script to model the behavior of a mock document management system. Common functions made available by such systems are those of allowing users to log into their own session, upload documents, edit these documents and so forth. The SMock specification describes the sequence of actions that occurs on the system when it is being utilised. A simplified run of the system could therefore be modelled using the script below which specifies a sequence of three method calls login, upload and logout, each of which are configured to simulate different durations, memory and CPU utilisation. l o g i n A c t i o n = Action ( l o g i n, Delay ( Normal ( 3, 1 ) ), MemUsage( Normal ( 3 0, 5 ) ), CPUUsage( Fixed ( 2 0 ) ) ) ) uploadaction = Action ( upload, Delay ( Normal ( 5, 1 ) ), MemUsage ( 5 0 0, 2 5 ), CPUUsage( Fixed ( 3 5 ) ) ) logoutaction = Action ( logout, Delay ( Fixed ( 2 ) ), MemUsage( Normal ( 3 0, 5 ) ), CPUUsage( Fixed ( 1 0 ) ) ) ) program = Seq ( loginaction, uploadaction, logoutaction ) 9

10 2.1.5 Parallel Composition Real world scenarios propose complex systems where execution is multi-threaded and multiple actions are occurring concurrently on the executing system. This scenario is supported through the introduction of the Par construct that is used to define parallel process blocks. Assuming that initaction, uploadaction, saveaction, displayaction and logoutaction have already been defined within the same specification script, the following program listing describes a process made up of a login action, followed by an upload action. Execution then forks into two parallel processes where one thread carries out a save action while the other thread simulates the display function. The process terminates with the logout action. program = Seq ( loginaction, uploadaction, Par ( saveaction, d i s p l a y A c t i o n ), logoutaction ) Note that the implementation adopts the solution of synchronized joining, meaning that the final logoutaction is not executed until both forked threads have completed execution Choice The choice construct introduces the concept of alternative paths that can be taken during an execution. This can be specified using Choice(*args), where a Choice construct can have an arbitrary number of ChoiceItems as parameter. Each ChoiceItem is assigned a probability defining the probability with which that particular path would be selected. As an example, the following script describes an execution which can take one of two alternative paths: either a sequence of loginaction, uploadaction, saveaction and logoutaction, or else the sequence of loginaction, displayaction and logoutaction. program = Seq ( loginaction, Choice ( ChoiceItem ( 0. 3, Seq ( uploadaction, saveaction ) ), ChoiceItem ( 0. 7, d i s p l a y A c t i o n ) ), logoutaction ) finally i can understand why you were using a probability for each item... do we check that all probabilities add up to 1? should we maybe normalize the values? eg: 1,abc; 2,def means that def will occur twice as frequently as abc /C we have to take decision on the above... /R 10

11 So far, our simulation of the use of a document management system has been restricted to modelling the experience of one user. The simulated system s behaviour would be more realistic if it models the fact that, commonly, multiple users are logged into the system at any one time. The script may be extended to model multiple users and, in turn, the concurrent activity of these users using the constructs available for replicating processes, as described in the next sections Sequential ForEach The sequential foreach (loop) construct is used to indicate that a process segment is repeated sequentially over a number of iterations. In the following example we model 10 users which, in sequence, will each carry out a login, upload and logout action, with user at index 1 being processed first and user at index 10 last. program = ForAllSeq ( user, 10, Seq ( loginaction, uploadaction, logoutaction ) ) The signature of the ForAllSeq construct is therefore defined as: ForAllSeq (loopindex, iteration_count, program_construct) where: loopindex variable used as iteration index. iteration_count the number of times the program_construct will be repeated. program_construct defines one or more actions that will be carried out. Could be any of the constructs defined in this section. While the above models multiple user activity on the mock document management system, this activity is still sequential and fails to recognize the fact that normally multiple users are logged into the system concurrently. This concurrency can be modelled using the parallel foreach construct Parallel ForEach Contrary to the ForAllSeq() construct defined above, using a parallel foreach indicates that processing will occur in parallel. The previous script could therefore be improved by using: 11

12 program = ForAllPar ( user, 10, Seq ( loginaction, uploadaction, logoutaction ) ) which now indicates that all of the 10 users will be carry out their activity concurrently The Document Management System Specification The SMock language constructs introduced can be effectively combined together to specify a realistic model of the use of a mock system. The specification given below is a complete version of the document management system specification and models a scenario where thirty-five users are concurrently active on the system. In order to simulate the fact that, normally, users will not be carrying out their activities in synchrony, an anonymous action has been utilised at the beginning of each user s activity sequence. The definition of the anonymous action specifies that a user s activity will not commence until 2 user milliseconds have elapsed, where user refers to the user s index defined in the parallel foreach construct. l o g i n A c t i o n = Action ( l o g i n, Delay ( Normal ( 3, 1 ) ), MemUsage( Normal ( 3 0, 5 ) ), CPUUsage( Fixed ( 2 0 ) ) ) ) uploadaction = Action ( upload, Delay ( Normal ( 5, 1 ) ), MemUsage ( 5 0 0, 2 5 ), CPUUsage( Fixed ( 3 5 ) ) ) logoutaction = Action ( logout, Delay ( Fixed ( 2 ) ), MemUsage( Normal ( 3 0, 5 ) ), CPUUsage( Fixed ( 1 0 ) ) ) ) program = ForAllPar ( user, 35, Seq ( AnonAction ( Delay ( Fixed ( 2 user ) ), MemUsage( Fixed ( 0 ) ), CPUUsage( Fixed ( 0 ) ) ), 12

13 Choice ( ChoiceItem ( 0. 5, Seq ( loginaction, uploadaction, logoutaction ) ), ChoiceItem ( 0. 5, Seq ( loginaction, logoutaction ) ) ) ) ) 2.2 Further Example scenarios The following section lists a number of example program specifications using the language just defined. In particular, the examples focus on highlighting the advantages that can be obtained from the implementation of SMock as a Python embedded language Image Processing Example In this example we propose the simulation of a dummy system that handles concurrent processing of multiple images. We assume that the function that this system can carry out is that of image compression through a fictitious algorithm which segments the image, compresses the segments and then aggregates the result of each segment s compression to produce the final image. Compression of each segment occurs independently from that of the other segments therefore meaning that compression of segments can be carried out in parallel. The final merge will require compression of all segments making up the image to be completed first. We could describe one sample system execution as follows: 5 images are to be processed All 5 images will be processed in parallel openimage = Action ( open, Delay ( Normal ( 3, 1 ) ), MemUsage( Normal ( 3, 1 ) ), CPUUsage( Fixed ( 5 ) ) ) ) segmentimage = Action ( segment, Delay ( Normal ( 5, 1 ) ), MemUsage ( 5 0 0, 2 5 ), 13

14 CPUUsage( Fixed ( 3 5 ) ) ) processsegment = Action ( process, Delay ( Fixed ( 5 ) ), MemUsage( Normal ( 4 0, 5 ) ), CPUUsage( Normal ( 1 5, 3 ) ) ) mergeresults = Action ( merge, Delay ( Normal ( 5, 3 ) ), MemUsage( Normal ( 4 0, 5 ) ), CPUUsage( Normal ( 1 5, 3 ) ) ) program = ForAllPar ( image, 5, Seq ( openimage, segmentimage, ForAllPar ( segment, 1 0, processsegment ), mergeresults ) ) While the above is a straightforward example of a specification using the SMock language constructs, other scenarios could possibly impose more complex requirements. As an example, in our image processing example, we could have specified that we would like the segmentimage action to be modelled as a number of repeated action calls. Such a requirement can easily be met through the use of existing Python language constructs within the SMock embedded language. The script belows shows how standard Python function definitions are used to defined a new function segmentimage that, given as a parameter an indication of the required repetitions, will take care of instantiating a new segmentimageaction for the required number of times. def segmentimage ( r epeat ) : a c t i o n L i s t = [ ] f o r x in xrange ( r epeat ) : a c t i o n L i s t. append ( segmentimageaction ) r eturn Seq ( a c t i o n L i s t ) d e f segmentimageaction : r eturn Action ( segment, Delay ( Normal ( 5, 1 ) ), MemUsage ( 5 0 0, 2 5 ), CPUUsage( Fixed ( 3 5 ) ) ) 14

15 program = ForAllPar ( image, 5, Seq ( openimage, segmentimage ( 3 ), ForAllPar ( segment, 1 0, processsegment ), mergeresults ) ) We could extend this example even further to specify that the time taken to process the processsegment image is a function of the segment s index. Such a requirement is met in the extended script shown below. Contrary to the previous example, the segmentindex parameter used in this case, is a parameter which will be evaluated dynamically once the generated mock system is running and a randomized value for the action s duration is required to be calculated. def processsegment ( segmentindex ) : r eturn Action ( process, Delay ( ( Normal ( segmentindex, 1 ) ) ), MemUsage( Normal ( 4 0, 5 ) ), CPUUsage( Normal ( 1 5, 3 ) ) ) def segmentimage ( r epeat ) : a c t i o n L i s t = [ ] f o r x in xrange ( r epeat ) : a c t i o n L i s t. append ( segmentimageaction ) r eturn Seq ( a c t i o n L i s t ) d e f segmentimageaction : r eturn Action ( segment, Delay ( Normal ( 5, 1 ) ), MemUsage ( 5 0 0, 2 5 ), CPUUsage( Fixed ( 3 5 ) ) ) program = ForAllPar ( image, 5, Seq ( openimage, segmentimage ( 3 ), ForAllPar ( segment, 1 0, processsegment ( segment ) ), 15

16 mergeresults ) ) 16

17 Chapter 3 Using SMock The first implementation of SMock is directed towards the generation of mock systems written in Java. This decision is mainly driven by the large amount of runtime monitoring tools that exist for the Java language. Such tools can only be tested in conjunction with SMock systems if these are Java systems. In the near future we propose to extend SMock to allow generation of mock systems in other languages. More information on how SMock can be extended for multi-language support is given in the SMock Technical Specification [?]. The SMock domain specific language is implemented in the Python library SMockLang.py. Importing this library in a Python script gives access to all the necessary language constructs defined in Chapter 2. Additionally, the SMockLang library also provides a central helper method, createjavatestprogram(script_expression, dir), which receives as parameter a script_expression and internally parses this expression and creates the resultant mock system code in dir. Generating a Java program using SMock will therefore involve the preparation and execution of a Python script, as shown in Program In ➀ all commands defined in the SMockLang library are imported. ➁ specifies a simple mock system which is passed as parameter to createjavatestprogram in ➂. Running this Python script will automatically result in the generation of Java code that, when compiled, forms the complete mock transaction system. some kind of conclusion would be in order here /C 17

18 Program Using Python for SMock system generation ➀ from RVTestScriptLang import * delay = Delay(Fixed(5)) cpuusage = CPUUsage(Normal(50, 2)) memusage = MemUsage(Fixed(2)) login = Action( login, ActionConfig(delay, cpuusage, memusage)) browse = Action( browse, ActionConfig(delay, cpuusage, memusage)) logout = Action( logout, ActionConfig(delay, cpuusage, memusage)) ➁ testprog = Seq(login, browse, logout) ➂ createjavatestprogram(testprog, c:\\ ) 18

Features of The Grinder 3

Features of The Grinder 3 Table of contents 1 Capabilities of The Grinder...2 2 Open Source... 2 3 Standards... 2 4 The Grinder Architecture... 3 5 Console...3 6 Statistics, Reports, Charts...4 7 Script... 4 8 The Grinder Plug-ins...

More information

1 How to Monitor Performance

1 How to Monitor Performance 1 How to Monitor Performance Contents 1.1. Introduction... 1 1.2. Performance - some theory... 1 1.3. Performance - basic rules... 3 1.4. Recognizing some common performance problems... 3 1.5. Monitoring,

More information

Web Load Stress Testing

Web Load Stress Testing Web Load Stress Testing Overview A Web load stress test is a diagnostic tool that helps predict how a website will respond to various traffic levels. This test can answer critical questions such as: How

More information

Introduction to Automated Testing

Introduction to Automated Testing Introduction to Automated Testing What is Software testing? Examination of a software unit, several integrated software units or an entire software package by running it. execution based on test cases

More information

Serena Business Manager Performance Test Results

Serena Business Manager Performance Test Results SERENA SOFTWARE Serena Business Manager Performance Test Results Author: RT Tangri 2015-04-09 Table of Contents Who Should Read This Paper?... 3 Test Methodology... 3 Runtime Test Architecture... 4 Load

More information

Performance Analysis and Visualization of SystemC Models. Adam Donlin and Thomas Lenart Xilinx Research

Performance Analysis and Visualization of SystemC Models. Adam Donlin and Thomas Lenart Xilinx Research Performance Analysis and Visualization of SystemC Models Adam Donlin and Thomas Lenart Xilinx Research Overview Performance Analysis!= Functional Verification Analysis and Visualization Overview Simulation

More information

Liferay Portal Performance. Benchmark Study of Liferay Portal Enterprise Edition

Liferay Portal Performance. Benchmark Study of Liferay Portal Enterprise Edition Liferay Portal Performance Benchmark Study of Liferay Portal Enterprise Edition Table of Contents Executive Summary... 3 Test Scenarios... 4 Benchmark Configuration and Methodology... 5 Environment Configuration...

More information

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage Outline 1 Computer Architecture hardware components programming environments 2 Getting Started with Python installing Python executing Python code 3 Number Systems decimal and binary notations running

More information

SOLUTION BRIEF: SLCM R12.7 PERFORMANCE TEST RESULTS JANUARY, 2012. Load Test Results for Submit and Approval Phases of Request Life Cycle

SOLUTION BRIEF: SLCM R12.7 PERFORMANCE TEST RESULTS JANUARY, 2012. Load Test Results for Submit and Approval Phases of Request Life Cycle SOLUTION BRIEF: SLCM R12.7 PERFORMANCE TEST RESULTS JANUARY, 2012 Load Test Results for Submit and Approval Phases of Request Life Cycle Table of Contents Executive Summary 3 Test Environment 4 Server

More information

Replication on Virtual Machines

Replication on Virtual Machines Replication on Virtual Machines Siggi Cherem CS 717 November 23rd, 2004 Outline 1 Introduction The Java Virtual Machine 2 Napper, Alvisi, Vin - DSN 2003 Introduction JVM as state machine Addressing non-determinism

More information

Job Reference Guide. SLAMD Distributed Load Generation Engine. Version 1.8.2

Job Reference Guide. SLAMD Distributed Load Generation Engine. Version 1.8.2 Job Reference Guide SLAMD Distributed Load Generation Engine Version 1.8.2 June 2004 Contents 1. Introduction...3 2. The Utility Jobs...4 3. The LDAP Search Jobs...11 4. The LDAP Authentication Jobs...22

More information

Recommendations for Performance Benchmarking

Recommendations for Performance Benchmarking Recommendations for Performance Benchmarking Shikhar Puri Abstract Performance benchmarking of applications is increasingly becoming essential before deployment. This paper covers recommendations and best

More information

Performance And Scalability In Oracle9i And SQL Server 2000

Performance And Scalability In Oracle9i And SQL Server 2000 Performance And Scalability In Oracle9i And SQL Server 2000 Presented By : Phathisile Sibanda Supervisor : John Ebden 1 Presentation Overview Project Objectives Motivation -Why performance & Scalability

More information

Understanding Task Scheduler FIGURE 33.14. Task Scheduler. The error reporting screen.

Understanding Task Scheduler FIGURE 33.14. Task Scheduler. The error reporting screen. 1383 FIGURE.14 The error reporting screen. curring tasks into a central location, administrators gain insight into system functionality and control over their Windows Server 2008 R2 infrastructure through

More information

Performance Testing Process A Whitepaper

Performance Testing Process A Whitepaper Process A Whitepaper Copyright 2006. Technologies Pvt. Ltd. All Rights Reserved. is a registered trademark of, Inc. All other trademarks are owned by the respective owners. Proprietary Table of Contents

More information

About This Guide... 4. Signature Manager Outlook Edition Overview... 5

About This Guide... 4. Signature Manager Outlook Edition Overview... 5 Contents About This Guide... 4 Signature Manager Outlook Edition Overview... 5 How does it work?... 5 But That's Not All...... 6 And There's More...... 6 Licensing... 7 Licensing Information... 7 System

More information

App-V Deploy and Publish

App-V Deploy and Publish App-V Deploy and Publish Tools from TMurgent Technologies Updated Aug 5, 2010 Version 1.8 Introduction: The deployment of Virtual Applications in the simplest way possible, without the need for complicated

More information

Mapping Business Process Modeling constructs to Behavior Driven Development Ubiquitous Language

Mapping Business Process Modeling constructs to Behavior Driven Development Ubiquitous Language Mapping Business Process Modeling constructs to Behavior Driven Development Ubiquitous Language Rogerio Atem de Carvalho, Fernando Luiz de Carvalho e Silva, Rodrigo Soares Manhaes Emails: ratem@iff.edu.br,

More information

IERG 4080 Building Scalable Internet-based Services

IERG 4080 Building Scalable Internet-based Services Department of Information Engineering, CUHK Term 1, 2015/16 IERG 4080 Building Scalable Internet-based Services Lecture 10 Load Testing Lecturer: Albert C. M. Au Yeung 18 th November, 2015 Software Performance

More information

Performance Testing. Slow data transfer rate may be inherent in hardware but can also result from software-related problems, such as:

Performance Testing. Slow data transfer rate may be inherent in hardware but can also result from software-related problems, such as: Performance Testing Definition: Performance Testing Performance testing is the process of determining the speed or effectiveness of a computer, network, software program or device. This process can involve

More information

PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design

PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions Slide 1 Outline Principles for performance oriented design Performance testing Performance tuning General

More information

Performance Testing Percy Pari Salas

Performance Testing Percy Pari Salas Performance Testing Percy Pari Salas Presented by : Percy Pari Salas Agenda What is performance testing? Types of performance testing What does performance testing measure? Where does performance testing

More information

Mrs: MapReduce for Scientific Computing in Python

Mrs: MapReduce for Scientific Computing in Python Mrs: for Scientific Computing in Python Andrew McNabb, Jeff Lund, and Kevin Seppi Brigham Young University November 16, 2012 Large scale problems require parallel processing Communication in parallel processing

More information

1 How to Monitor Performance

1 How to Monitor Performance 1 How to Monitor Performance Contents 1.1. Introduction... 1 1.1.1. Purpose of this How To... 1 1.1.2. Target Audience... 1 1.2. Performance - some theory... 1 1.3. Performance - basic rules... 3 1.4.

More information

Datasheet iscsi Protocol

Datasheet iscsi Protocol Protocol with DCB PROTOCOL PACKAGE Industry s premiere validation system for SAN technologies Overview Load DynamiX offers SCSI over TCP/IP transport () support to its existing powerful suite of file,

More information

Improved metrics collection and correlation for the CERN cloud storage test framework

Improved metrics collection and correlation for the CERN cloud storage test framework Improved metrics collection and correlation for the CERN cloud storage test framework September 2013 Author: Carolina Lindqvist Supervisors: Maitane Zotes Seppo Heikkila CERN openlab Summer Student Report

More information

CS423 Spring 2015 MP4: Dynamic Load Balancer Due April 27 th at 9:00 am 2015

CS423 Spring 2015 MP4: Dynamic Load Balancer Due April 27 th at 9:00 am 2015 CS423 Spring 2015 MP4: Dynamic Load Balancer Due April 27 th at 9:00 am 2015 1. Goals and Overview 1. In this MP you will design a Dynamic Load Balancer architecture for a Distributed System 2. You will

More information

Toad for Oracle 8.6 SQL Tuning

Toad for Oracle 8.6 SQL Tuning Quick User Guide for Toad for Oracle 8.6 SQL Tuning SQL Tuning Version 6.1.1 SQL Tuning definitively solves SQL bottlenecks through a unique methodology that scans code, without executing programs, to

More information

System Requirements Table of contents

System Requirements Table of contents Table of contents 1 Introduction... 2 2 Knoa Agent... 2 2.1 System Requirements...2 2.2 Environment Requirements...4 3 Knoa Server Architecture...4 3.1 Knoa Server Components... 4 3.2 Server Hardware Setup...5

More information

Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification

Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Introduction Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Advanced Topics in Software Engineering 1 Concurrent Programs Characterized by

More information

The Association of System Performance Professionals

The Association of System Performance Professionals The Association of System Performance Professionals The Computer Measurement Group, commonly called CMG, is a not for profit, worldwide organization of data processing professionals committed to the measurement

More information

PERFORMANCE TESTING. New Batches Info. We are ready to serve Latest Testing Trends, Are you ready to learn.?? START DATE : TIMINGS : DURATION :

PERFORMANCE TESTING. New Batches Info. We are ready to serve Latest Testing Trends, Are you ready to learn.?? START DATE : TIMINGS : DURATION : PERFORMANCE TESTING We are ready to serve Latest Testing Trends, Are you ready to learn.?? New Batches Info START DATE : TIMINGS : DURATION : TYPE OF BATCH : FEE : FACULTY NAME : LAB TIMINGS : Performance

More information

DiskPulse DISK CHANGE MONITOR

DiskPulse DISK CHANGE MONITOR DiskPulse DISK CHANGE MONITOR User Manual Version 7.9 Oct 2015 www.diskpulse.com info@flexense.com 1 1 DiskPulse Overview...3 2 DiskPulse Product Versions...5 3 Using Desktop Product Version...6 3.1 Product

More information

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c 2004 2011

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c 2004 2011 Sequence Diagrams Massimo Felici What are Sequence Diagrams? Sequence Diagrams are interaction diagrams that detail how operations are carried out Interaction diagrams model important runtime interactions

More information

(Refer Slide Time: 01:52)

(Refer Slide Time: 01:52) Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This

More information

Applications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61

Applications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61 F# Applications to Computational Financial and GPU Computing May 16th Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61 Today! Why care about F#? Just another fashion?! Three success stories! How Alea.cuBase

More information

Contents. 2. cttctx Performance Test Utility... 8. 3. Server Side Plug-In... 9. 4. Index... 11. www.faircom.com All Rights Reserved.

Contents. 2. cttctx Performance Test Utility... 8. 3. Server Side Plug-In... 9. 4. Index... 11. www.faircom.com All Rights Reserved. c-treeace Load Test c-treeace Load Test Contents 1. Performance Test Description... 1 1.1 Login Info... 2 1.2 Create Tables... 3 1.3 Run Test... 4 1.4 Last Run Threads... 5 1.5 Total Results History...

More information

DELL. Virtual Desktop Infrastructure Study END-TO-END COMPUTING. Dell Enterprise Solutions Engineering

DELL. Virtual Desktop Infrastructure Study END-TO-END COMPUTING. Dell Enterprise Solutions Engineering DELL Virtual Desktop Infrastructure Study END-TO-END COMPUTING Dell Enterprise Solutions Engineering 1 THIS WHITE PAPER IS FOR INFORMATIONAL PURPOSES ONLY, AND MAY CONTAIN TYPOGRAPHICAL ERRORS AND TECHNICAL

More information

SECTION 4 TESTING & QUALITY CONTROL

SECTION 4 TESTING & QUALITY CONTROL Page 1 SECTION 4 TESTING & QUALITY CONTROL TESTING METHODOLOGY & THE TESTING LIFECYCLE The stages of the Testing Life Cycle are: Requirements Analysis, Planning, Test Case Development, Test Environment

More information

Architecture Design & Sequence Diagram. Week 7

Architecture Design & Sequence Diagram. Week 7 Architecture Design & Sequence Diagram Week 7 Announcement Reminder Midterm I: 1:00 1:50 pm Wednesday 23 rd March Ch. 1, 2, 3 and 26.5 Hour 1, 6, 7 and 19 (pp.331 335) Multiple choice Agenda (Lecture)

More information

Business Application Services Testing

Business Application Services Testing Business Application Services Testing Curriculum Structure Course name Duration(days) Express 2 Testing Concept and methodologies 3 Introduction to Performance Testing 3 Web Testing 2 QTP 5 SQL 5 Load

More information

What Is Specific in Load Testing?

What Is Specific in Load Testing? What Is Specific in Load Testing? Testing of multi-user applications under realistic and stress loads is really the only way to ensure appropriate performance and reliability in production. Load testing

More information

Citrix EdgeSight for Load Testing User s Guide. Citrx EdgeSight for Load Testing 2.7

Citrix EdgeSight for Load Testing User s Guide. Citrx EdgeSight for Load Testing 2.7 Citrix EdgeSight for Load Testing User s Guide Citrx EdgeSight for Load Testing 2.7 Copyright Use of the product documented in this guide is subject to your prior acceptance of the End User License Agreement.

More information

This presentation explains how to monitor memory consumption of DataStage processes during run time.

This presentation explains how to monitor memory consumption of DataStage processes during run time. This presentation explains how to monitor memory consumption of DataStage processes during run time. Page 1 of 9 The objectives of this presentation are to explain why and when it is useful to monitor

More information

Performance White Paper

Performance White Paper Sitecore Experience Platform 8.1 Performance White Paper Rev: March 11, 2016 Sitecore Experience Platform 8.1 Performance White Paper Sitecore Experience Platform 8.1 Table of contents Table of contents...

More information

1. Welcome to QEngine... 3. About This Guide... 3. About QEngine... 3. Online Resources... 4. 2. Installing/Starting QEngine... 5

1. Welcome to QEngine... 3. About This Guide... 3. About QEngine... 3. Online Resources... 4. 2. Installing/Starting QEngine... 5 1. Welcome to QEngine... 3 About This Guide... 3 About QEngine... 3 Online Resources... 4 2. Installing/Starting QEngine... 5 Installing QEngine... 5 Installation in Windows... 5 Installation in Linux...

More information

SnapLogic Salesforce Snap Reference

SnapLogic Salesforce Snap Reference SnapLogic Salesforce Snap Reference Document Release: October 2012 SnapLogic, Inc. 71 East Third Avenue San Mateo, California 94401 U.S.A. www.snaplogic.com Copyright Information 2012 SnapLogic, Inc. All

More information

DiskBoss. File & Disk Manager. Version 2.0. Dec 2011. Flexense Ltd. www.flexense.com info@flexense.com. File Integrity Monitor

DiskBoss. File & Disk Manager. Version 2.0. Dec 2011. Flexense Ltd. www.flexense.com info@flexense.com. File Integrity Monitor DiskBoss File & Disk Manager File Integrity Monitor Version 2.0 Dec 2011 www.flexense.com info@flexense.com 1 Product Overview DiskBoss is an automated, rule-based file and disk manager allowing one to

More information

Capacity Planning Process Estimating the load Initial configuration

Capacity Planning Process Estimating the load Initial configuration Capacity Planning Any data warehouse solution will grow over time, sometimes quite dramatically. It is essential that the components of the solution (hardware, software, and database) are capable of supporting

More information

Citrix EdgeSight Administrator s Guide. Citrix EdgeSight for Endpoints 5.3 Citrix EdgeSight for XenApp 5.3

Citrix EdgeSight Administrator s Guide. Citrix EdgeSight for Endpoints 5.3 Citrix EdgeSight for XenApp 5.3 Citrix EdgeSight Administrator s Guide Citrix EdgeSight for Endpoints 5.3 Citrix EdgeSight for enapp 5.3 Copyright and Trademark Notice Use of the product documented in this guide is subject to your prior

More information

Introduction to the doredis Package

Introduction to the doredis Package Introduction to the doredis Package Bryan W. Lewis blewis@illposed.net July 16, 2012 1 Introduction The doredis package provides a parallel back end for foreach using Redis and the corresponding rredis

More information

What is a life cycle model?

What is a life cycle model? What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each

More information

Browser Testing Framework for LHG

Browser Testing Framework for LHG Browser Testing Framework for LHG Presented by Trevor Woerner, Will Chen Date February, 2015 Outline Overview of the test suite Test category Run the test On Linux On Android Verified platforms Test output

More information

In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal

In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal Paper Title: Generic Framework for Video Analysis Authors: Luís Filipe Tavares INESC Porto lft@inescporto.pt Luís Teixeira INESC Porto, Universidade Católica Portuguesa lmt@inescporto.pt Luís Corte-Real

More information

Department of Veterans Affairs. Open Source Electronic Health Record (EHR) Services

Department of Veterans Affairs. Open Source Electronic Health Record (EHR) Services Department of Veterans Affairs Open Source Electronic Health Record (EHR) Services Web Application Automated Testing Framework (WAATF) Software Design Document (SDD) Version 1.0 September 2013 Contract:

More information

VDM vs. Programming Language Extensions or their Integration

VDM vs. Programming Language Extensions or their Integration VDM vs. Programming Language Extensions or their Integration Alexander A. Koptelov and Alexander K. Petrenko Institute for System Programming of Russian Academy of Sciences (ISPRAS), B. Communisticheskaya,

More information

How To Test For Elulla

How To Test For Elulla EQUELLA Whitepaper Performance Testing Carl Hoffmann Senior Technical Consultant Contents 1 EQUELLA Performance Testing 3 1.1 Introduction 3 1.2 Overview of performance testing 3 2 Why do performance testing?

More information

OpenMI 'in a nutshell'

OpenMI 'in a nutshell' OpenMI Association, Technical Committee January 2010 1. Introduction... 1 2. Standard... 2 2.1. Definitions... 4 2.1.1. Model... 4 2.1.2. Value... 4 2.1.3. Spatial... 5 2.2. Composition building... 5 2.3.

More information

Project Software Security: Securing SendMail with JAAS and Polymer

Project Software Security: Securing SendMail with JAAS and Polymer Project Software Security: Securing SendMail with JAAS and Polymer Frank van Vliet frank@pine.nl Diego Ortiz Yepes d.a.ortiz.yepes@student.tue.nl Jornt van der Wiel j.h.v.d.wiel@student.tue.nl Guido Kok

More information

KWIC Implemented with Pipe Filter Architectural Style

KWIC Implemented with Pipe Filter Architectural Style KWIC Implemented with Pipe Filter Architectural Style KWIC Implemented with Pipe Filter Architectural Style... 2 1 Pipe Filter Systems in General... 2 2 Architecture... 3 2.1 Pipes in KWIC system... 3

More information

Running a Workflow on a PowerCenter Grid

Running a Workflow on a PowerCenter Grid Running a Workflow on a PowerCenter Grid 2010-2014 Informatica Corporation. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise)

More information

There are a number of factors that increase the risk of performance problems in complex computer and software systems, such as e-commerce systems.

There are a number of factors that increase the risk of performance problems in complex computer and software systems, such as e-commerce systems. ASSURING PERFORMANCE IN E-COMMERCE SYSTEMS Dr. John Murphy Abstract Performance Assurance is a methodology that, when applied during the design and development cycle, will greatly increase the chances

More information

RUnit - A Unit Test Framework for R

RUnit - A Unit Test Framework for R RUnit - A Unit Test Framework for R Thomas König, Klaus Jünemann, and Matthias Burger Epigenomics AG November 5, 2015 Contents 1 Introduction 2 2 The RUnit package 4 2.1 Test case execution........................

More information

Web Application Testing. Web Performance Testing

Web Application Testing. Web Performance Testing Web Application Testing Web Performance Testing Objectives of Performance Testing Evaluate runtime compliance to performance requirements Check different properties such as throughput (bits/sec, packets/sec)

More information

Understanding the Benefits of IBM SPSS Statistics Server

Understanding the Benefits of IBM SPSS Statistics Server IBM SPSS Statistics Server Understanding the Benefits of IBM SPSS Statistics Server Contents: 1 Introduction 2 Performance 101: Understanding the drivers of better performance 3 Why performance is faster

More information

DSS. Diskpool and cloud storage benchmarks used in IT-DSS. Data & Storage Services. Geoffray ADDE

DSS. Diskpool and cloud storage benchmarks used in IT-DSS. Data & Storage Services. Geoffray ADDE DSS Data & Diskpool and cloud storage benchmarks used in IT-DSS CERN IT Department CH-1211 Geneva 23 Switzerland www.cern.ch/it Geoffray ADDE DSS Outline I- A rational approach to storage systems evaluation

More information

Citrix EdgeSight for Load Testing User s Guide. Citrix EdgeSight for Load Testing 3.8

Citrix EdgeSight for Load Testing User s Guide. Citrix EdgeSight for Load Testing 3.8 Citrix EdgeSight for Load Testing User s Guide Citrix EdgeSight for Load Testing 3.8 Copyright Use of the product documented in this guide is subject to your prior acceptance of the End User License Agreement.

More information

Figure 1: Graphical example of a mergesort 1.

Figure 1: Graphical example of a mergesort 1. CSE 30321 Computer Architecture I Fall 2011 Lab 02: Procedure Calls in MIPS Assembly Programming and Performance Total Points: 100 points due to its complexity, this lab will weight more heavily in your

More information

A Visualization System and Monitoring Tool to Measure Concurrency in MPICH Programs

A Visualization System and Monitoring Tool to Measure Concurrency in MPICH Programs A Visualization System and Monitoring Tool to Measure Concurrency in MPICH Programs Michael Scherger Department of Computer Science Texas Christian University Email: m.scherger@tcu.edu Zakir Hussain Syed

More information

VIRTUAL LABORATORY: MULTI-STYLE CODE EDITOR

VIRTUAL LABORATORY: MULTI-STYLE CODE EDITOR VIRTUAL LABORATORY: MULTI-STYLE CODE EDITOR Andrey V.Lyamin, State University of IT, Mechanics and Optics St. Petersburg, Russia Oleg E.Vashenkov, State University of IT, Mechanics and Optics, St.Petersburg,

More information

SyncBreeze FILE SYNCHRONIZATION. User Manual. Version 7.7. Aug 2015. www.syncbreeze.com info@flexense.com. Flexense Ltd.

SyncBreeze FILE SYNCHRONIZATION. User Manual. Version 7.7. Aug 2015. www.syncbreeze.com info@flexense.com. Flexense Ltd. SyncBreeze FILE SYNCHRONIZATION User Manual Version 7.7 Aug 2015 www.syncbreeze.com info@flexense.com 1 1 SyncBreeze Overview...3 2 SyncBreeze Product Versions...5 3 Product Installation Procedure...6

More information

SoMA. Automated testing system of camera algorithms. Sofica Ltd

SoMA. Automated testing system of camera algorithms. Sofica Ltd SoMA Automated testing system of camera algorithms Sofica Ltd February 2012 2 Table of Contents Automated Testing for Camera Algorithms 3 Camera Algorithms 3 Automated Test 4 Testing 6 API Testing 6 Functional

More information

Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment

Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment Wyatt Spear, Allen Malony, Alan Morris, Sameer Shende {wspear, malony, amorris, sameer}@cs.uoregon.edu

More information

Code Estimation Tools Directions for a Services Engagement

Code Estimation Tools Directions for a Services Engagement Code Estimation Tools Directions for a Services Engagement Summary Black Duck software provides two tools to calculate size, number, and category of files in a code base. This information is necessary

More information

Guideline for stresstest Page 1 of 6. Stress test

Guideline for stresstest Page 1 of 6. Stress test Guideline for stresstest Page 1 of 6 Stress test Objective: Show unacceptable problems with high parallel load. Crash, wrong processing, slow processing. Test Procedure: Run test cases with maximum number

More information

Active Directory Integration

Active Directory Integration January 11, 2011 Author: Audience: SWAT Team Evaluator Product: Cymphonix Network Composer EX Series, XLi OS version 9 Active Directory Integration The following steps will guide you through the process

More information

SIDN Server Measurements

SIDN Server Measurements SIDN Server Measurements Yuri Schaeffer 1, NLnet Labs NLnet Labs document 2010-003 July 19, 2010 1 Introduction For future capacity planning SIDN would like to have an insight on the required resources

More information

Chapter 3 Application Monitors

Chapter 3 Application Monitors Chapter 3 Application Monitors AppMetrics utilizes application monitors to organize data collection and analysis per application server. An application monitor is defined on the AppMetrics manager computer

More information

Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder

Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder Matt Department of Computer Science and Engineering University of Minnesota staats@cs.umn.edu Abstract We present

More information

Experimental Evaluation of Distributed Middleware with a Virtualized Java Environment

Experimental Evaluation of Distributed Middleware with a Virtualized Java Environment Experimental Evaluation of Distributed Middleware with a Virtualized Java Environment Nuno A. Carvalho, João Bordalo, Filipe Campos and José Pereira HASLab / INESC TEC Universidade do Minho MW4SOC 11 December

More information

Automate Your BI Administration to Save Millions with Command Manager and System Manager

Automate Your BI Administration to Save Millions with Command Manager and System Manager Automate Your BI Administration to Save Millions with Command Manager and System Manager Presented by: Dennis Liao Sr. Sales Engineer Date: 27 th January, 2015 Session 2 This Session is Part of MicroStrategy

More information

Benchmarking Citrix XenDesktop using Login Consultants VSI

Benchmarking Citrix XenDesktop using Login Consultants VSI WHITE PAPER Citrix XenDesktop and Login VSI Benchmarking Citrix XenDesktop using Login Consultants VSI Configuration Guide www.citrix.com Contents Overview... 3 Login VSI Installation... 3 Login VSI 3

More information

Summer Internship 2013 Group No.4-Enhancement of JMeter Week 1-Report-1 27/5/2013 Naman Choudhary

Summer Internship 2013 Group No.4-Enhancement of JMeter Week 1-Report-1 27/5/2013 Naman Choudhary Summer Internship 2013 Group No.4-Enhancement of JMeter Week 1-Report-1 27/5/2013 Naman Choudhary For the first week I was given two papers to study. The first one was Web Service Testing Tools: A Comparative

More information

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts

More information

DDL Systems, Inc. ACO MONITOR : Managing your IBM i (or AS/400) using wireless devices. Technical White Paper. April 2014

DDL Systems, Inc. ACO MONITOR : Managing your IBM i (or AS/400) using wireless devices. Technical White Paper. April 2014 DDL Systems, Inc. ACO MONITOR : Managing your IBM i (or AS/400) using wireless devices Technical White Paper April 2014 DDL Systems, Inc. PO Box 1262 Valparaiso, IN 46384 Phone: 866 559-0800 Introduction

More information

Scalability Factors of JMeter In Performance Testing Projects

Scalability Factors of JMeter In Performance Testing Projects Scalability Factors of JMeter In Performance Testing Projects Title Scalability Factors for JMeter In Performance Testing Projects Conference STEP-IN Conference Performance Testing 2008, PUNE Author(s)

More information

MapReduce Evaluator: User Guide

MapReduce Evaluator: User Guide University of A Coruña Computer Architecture Group MapReduce Evaluator: User Guide Authors: Jorge Veiga, Roberto R. Expósito, Guillermo L. Taboada and Juan Touriño December 9, 2014 Contents 1 Overview

More information

HeapStats: Your Dependable Helper for Java Applications, from Development to Operation

HeapStats: Your Dependable Helper for Java Applications, from Development to Operation : Technologies for Promoting Use of Open Source Software that Contribute to Reducing TCO of IT Platform HeapStats: Your Dependable Helper for Java Applications, from Development to Operation Shinji Takao,

More information

How To Write A Multi Threaded Software On A Single Core (Or Multi Threaded) System

How To Write A Multi Threaded Software On A Single Core (Or Multi Threaded) System Multicore Systems Challenges for the Real-Time Software Developer Dr. Fridtjof Siebert aicas GmbH Haid-und-Neu-Str. 18 76131 Karlsruhe, Germany siebert@aicas.com Abstract Multicore systems have become

More information

Best Practices: Extending Enterprise Applications to Mobile Devices

Best Practices: Extending Enterprise Applications to Mobile Devices Best Practices: Extending Enterprise Applications to Mobile Devices by Kulathumani Hariharan Summary: Extending enterprise applications to mobile devices is increasingly becoming a priority for organizations

More information

Introducing Performance Engineering by means of Tools and Practical Exercises

Introducing Performance Engineering by means of Tools and Practical Exercises Introducing Performance Engineering by means of Tools and Practical Exercises Alexander Ufimtsev, Trevor Parsons, Lucian M. Patcas, John Murphy and Liam Murphy Performance Engineering Laboratory, School

More information

COREsim Transcript Data Format

COREsim Transcript Data Format COREsim is a discrete event simulator included with the CORE family of systems engineering tools (but licensed separately). A discrete event simulator traverses a behavior model and schedules and executes

More information

D5.2.1 Process Forecasting and Simulation (Prototype I)

D5.2.1 Process Forecasting and Simulation (Prototype I) n ADVENTURE WP 5 D5.2.1 Forecasting and Simulation D5.2.1 Process Forecasting and Simulation Authors: UVI Delivery Date: 2013-03-15 Due Date: 2013-02-28 Dissemination Level: PP This deliverable provides

More information

Moving from CS 61A Scheme to CS 61B Java

Moving from CS 61A Scheme to CS 61B Java Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you

More information

Performance Analysis of Web based Applications on Single and Multi Core Servers

Performance Analysis of Web based Applications on Single and Multi Core Servers Performance Analysis of Web based Applications on Single and Multi Core Servers Gitika Khare, Diptikant Pathy, Alpana Rajan, Alok Jain, Anil Rawat Raja Ramanna Centre for Advanced Technology Department

More information

Updated November 30, 2010. Version 4.1

Updated November 30, 2010. Version 4.1 Updated November 30, 2010 Version 4.1 Table of Contents Introduction... 3 Replicator Performance and Scalability Features... 5 Replicator Multi-Engine Deployment... 7 Multi-Threaded Replication Queue Architecture...

More information

Experiences in Test Automation for Multi-Client System with Social Media Backend

Experiences in Test Automation for Multi-Client System with Social Media Backend Experiences in Test Automation for Multi-Client System with Social Media Backend Tuomas Kekkonen, Teemu Kanstrén, Jouni Heikkinen VTT Technical Research Centre of Finland Oulu, Finland {tuomas.kekkonen,

More information

MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS

MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS Tao Yu Department of Computer Science, University of California at Irvine, USA Email: tyu1@uci.edu Jun-Jang Jeng IBM T.J. Watson

More information

Process simulation. Enn Õunapuu enn.ounapuu@ttu.ee

Process simulation. Enn Õunapuu enn.ounapuu@ttu.ee Process simulation Enn Õunapuu enn.ounapuu@ttu.ee Content Problem How? Example Simulation Definition Modeling and simulation functionality allows for preexecution what-if modeling and simulation. Postexecution

More information

BY STEVE BROWN, CADENCE DESIGN SYSTEMS AND MICHEL GENARD, VIRTUTECH

BY STEVE BROWN, CADENCE DESIGN SYSTEMS AND MICHEL GENARD, VIRTUTECH WHITE PAPER METRIC-DRIVEN VERIFICATION ENSURES SOFTWARE DEVELOPMENT QUALITY BY STEVE BROWN, CADENCE DESIGN SYSTEMS AND MICHEL GENARD, VIRTUTECH INTRODUCTION The complexity of electronic systems is rapidly

More information