Feasibility of a Software Process Modeling Library based on MATLAB / Simulink

Size: px
Start display at page:

Download "Feasibility of a Software Process Modeling Library based on MATLAB / Simulink"

Transcription

1 Feasibility of a Software Process Modeling Library based on MATLAB / Simulink T. Birkhoelzer University of Applied Sciences Konstanz, Braunegger Str. 55, 7846 Konstanz, Germany, birkhoelzer@fh-kontanz.de Abstract. Software is one of the key means to realize functionality of almost all modern technical systems. Thus software related issues, questions, and problems are spreading into almost all engineering disciplines triggering there an associated demand of software engineering practices, processes, and models. For technical computing, however, MATLAB / Simulink is one of the most popular and widespread tools, especially in the software intensive areas of signal processing, control applications, and embedded systems. To promote software engineering in general and software process simulation especially within this community, it would be advantageous to leverage this knowledge and acceptance. Therefore, a study was conducted to explore the feasibility of using MATLAB / Simulink as a tool for software process simulation in general and as a base for a library of generic modeling blocks in particular. Introduction Intention Software is one of the key factors to realize functionality of modern technical systems. This is true not only for power plants or complex automation systems, but even for radios, household appliances, or sewing machines, for example. Therefore, software production becomes an issue in almost all engineering disciplines, spreading the demand of software engineering practices and software process knowledge beyond traditional computer or information sciences. To promote these methodologies and knowledge, quantitative modeling and simulation can be a valuable resource [6]. This requires not only elaborate, ready to use models [], but also the means to quickly build and adapt models [] and even the possibility to experiment with modeling by the user themselves [3]. Hence, efforts are undertaken to develop generic model structures and libraries of generalized simulation blocks [5], [7], [8], [9]. With respect to the technical community, however, the existing approaches provide a substantial hurdle: The tools used for process simulation so far are less known to many engineers, sometimes not even readily available. Effort is necessary to familiarize the users with the tool detracting them from the simulation issues at hand. Moreover, the willingness to learn and use additional tools, which are not used for other daily work, is limited. On the other hand, MATLAB / Simulink is a very popular and prevalent tool in technical computation, especially in the software intensive areas of signal processing, control applications, and embedded systems. Availability, knowledge, and acceptance of this tool are widespread, even respective classes are taught in many engineering curricula. Yet, to the knowledge of the author, MATLAB / Simulink has not been used for software process simulation. Therefore, the feasibility of using this tool for process simulation in general and as a base for a library of generic modeling blocks in particular is discussed in this paper. This study is based on essential requirements on a software process simulation environment, which are established in section 3. In section 4, it is evaluated by using typical modeling tasks, whether and how theses requirements are met. This paper is focused on the capabilities of the MATLAB / Simulink environment, a comparison with other tools is left to future work. Background on MATLAB / Simulink The name MATLAB stands for Matrix Laboratory. It was originally designed to provide easy access to matrix calculations. Therefore, the core data elements of MATLAB are matrices and vectors. Starting from that, MATLAB has evolved into many other areas of technical computation. Moreover, the core functionality is supplemented by various toolboxes, e.g. signal processing and communications, mathematics and statistics, and even financial modeling and analysis. Simulink is built on top of MATLAB. It provides a graphical environment for modeling, simulating, and analyzing dynamic systems. A Simulink model consists of blocks connected by signals. It can be built in a graphical editor. Signals can be of various types including vectors (busses) and structures. The block-library contains a wide array of functionality including References to articles are confined to ProSim 005. Additional references could be given but wouldn t add insight. Page of 8

2 integrators, continuous and discrete transfer functions, logic operations, mathematical functions, signal routing, signal generators, and graphical displays (scopes). Simulink can also be extended by additional tools and toolboxes. One of these is Stateflow, a graphical design and development tool for finite state machines. Requirements on a Process Simulation Environment The following requirements are considered as high level capabilities (it is beyond the scope of this study to establish an exhaustive catalog of fine grained details). They are grouped into two categories: modeling expressiveness, i.e. which types of models need to be covered, and tool functionality, i.e. which essential modeling support is necessary. Modeling expressiveness Continuous time (continuous state) dynamics (system dynamics). On an abstract level, many process aspects can be modeled by continuous states (levels) and their rates of change, e.g. the experience of a workforce driven by learning rates, the completion of an entity driven by productivity, or the quality of an artifact driven by error rates. Mathematical, such system dynamic models consist of sets of ordinary differential equations. Usually, these differential equations are nonlinear. Therefore, a software process simulation environment must be able to model, simulate and analyze such continuous time dynamics. Discrete time (continuous state) dynamics. In technical systems, discrete time usually arises due to sampling, i.e. actions taken at certain points in time only. For example, project staff might not change continuously (over time) driven by a hiring rate. Instead, it might be step-wise adjusted for the next time period based on a review and the resulting management action. Mathematical, such discrete time dynamics are described by difference equations. Therefore, a software process simulation environment should be able to model, simulate, and analyze such discrete time dynamics. Discrete event dynamics. In a workflow perspective, activities are triggered by events, e.g. the completion of a preceding activity. Tasks are moving through the chain of activities like parts in a production line. This is a typical notion of software process models as well. Therefore, a software process simulation environment must be able to model, simulate, and analyze such discrete event dynamics. State-machines and automata. Control aspects of a process, e.g. the activation of process phases, can often be described by a finite number of states and their respective transitions triggered by events. Mathematically, such dynamics are described by finite state-machines or automata. These are a special case of discrete event dynamics, however with distinct notations and applications. Therefore, a software process simulation environment should be able to model, simulate, and analyze such finite statemachines and automata. Tool Functionality Support of modularization. In order to cope with complexity, models must be modularized. From a tool perspective, modularization means: parts are encapsulated into components with well defined interfaces, which can be used and reused as building blocks in other places and contexts. A software process simulation environment must provide strong support for such modularization, i.e. it must be possible to define modules and their interfaces and reuse such modules in (almost) arbitrary contexts as encapsulated entities. Moreover, it should be possible to form and use libraries of standard (but customizable) components. Hybrid models. In section., the need for different model types is outlined. Often these types are required in the same model side by side to model different aspects appropriately. Therefore, a process simulation environment must be able to integrate different model types seamlessly in an overall model. This requires coexistence of respective blocks in a model, access to the appropriate (graphical) editing tools, easy data and signal exchange, and transparent interoperability of the respective simulation algorithms. Extensibility. In each simulation environment, the library of available functionality or building blocks has its limitations. Therefore, there should be a way to overcome these limitations by inserting own blocks of functionality, typically be reverting to a (general purpose) programming language. Page of 8

3 Usability. On the one hand, usability is one of the most important criteria for each tool. Therefore, it ought to be considered in any tool evaluation. On the other hand, usability strongly depends on the experience, expectations, and background of the user, e.g. a user experienced with a certain tool will find this tool intrinsically more useable than an unknown tool. Therefore, usability per se is not considered in this evaluation (beside the fact, that the general familiarity of many engineers with MATLAB / Simulink is a main motivation of this study at all). Feasibility Evaluation In order to evaluate the simulation environment, modeling scenarios were chosen exemplary for a software process modeling library. However, the focus in this context is on the capabilities and expressiveness of the tool, not on the models by themselves. Learning Workforce One of the most famous software engineering rules is Brooke s law [4]: Adding manpower to a late project makes it later. One of the reasons of this effect is the learning curve of the new workforce, which not only yields to a delayed increase in the output rate but also consumes resources of the experienced workforce resulting in an initial drop of the output rate. A simple model describing these effects is shown in Fig.. There is one input (TotalWorkforce) and two outputs (OutputRate, AccumulatedOutput). Total workforce minus experienced workforce yields the inexperienced or learning fraction, which is converted (trained) to experienced workforce by a learning rate. The essential dynamic block is the integrator (the block called Learning): the input into this block is the rate, the output the resulting level. The triangular blocks represent gains, which can be parameterized. Note, that the intention to use such a block as a generic library block requires covering also a drop in the total workforce resulting in an immediate drop of the experienced workforce (without negative learning). The two min/max-blocks in the model address this case. The model is encapsulated into a module which can readily be incorporated into other models, see Fig. 4. This module is an example of a continuous time (continuous state) or system dynamic model. Basic building blocks of such models in MATLAB/ Simulink are integrators. However, there are also more complex building blocks available like derivatives, delays, transfer functions, or state space descriptions. Staffing Control As a simple example of a time-discrete component, the staffing of a project by management decisions is modeled. Normally, staffing is not adjusted continuously, but only at certain time intervals after some form of project review. To avoid distracting gains and scaling, all measures are normalized in the remainder, i.e. it is assumed that management interactions occur at unit time steps and a workforce unit produces one unit of output per time unit. Fig. shows the model of a staffing control. The time discrete nature is expressed by the block named Unit Delay, which delays its input by one time unit. The control algorithm itself is placed in the block Embedded MATLAB Function, which allows to extend the standard building blocks by own program code, in this case the algorithm to adjust the workforce depending on the promised end date, the calculated end date, and the remaining time 3. Fig. 3 shows a simulation of this module in the loop with an ideal workforce, i.e. a workforce, which is immediately fully productive: Caused by a 5% step increase of the workload at time 35 (Fig. 3a), the calculated end date initially increases from 40 to 4 (upper curve in Fig. 3b). The Staffing Control reacts by a step-wise increase of the workforce (lower curve in Fig. 3b) such that the original end time target (40) is eventually met. However, if this staffing strategy is combined with the model of a learning workforce described in section 3., see Fig. 4, the results are much worse, see Fig. 5: The resulting end date is even later than without any management interaction (Brooke s law). Even more importantly, this is an example of a hybrid model seamlessly integrating time continuous as well as time discrete elements. The notation /s resembles the formula of an integration in the Laplace-domain. 3 As said, the focus is not on the models per se. Therefore, the algorithm itself is here omitted for brevity. Page 3 of 8

4 Iterative Process Model with General Purpose Phase Model To test discrete event components, a simple iterative development process was chosen: A project is first broken down in several iteration packages and than processed in iterative cycles each consisting of an analysis, design, implementation, and test phase. An overview of the respective model is shown in Fig. 7. Rather than explaining the model in detail, just the aspects important for modeling capabilities and expressiveness are discussed in the following: Event-enabled or event-triggered blocks. All blocks in this model are event-enabled or event-triggered. This means, they are executed only, if the respective event or signal occurs. This is used to model the asynchronous activation of the phases in the development process. Parameterized generic phase model. For the purpose of this model, all process phases are identical: if the phase is enabled, the task assignment is executed until it is completed; changes in the output of the previous task might add rework as additional work load. A model for such a behavior is shown in Fig. 6. This component is placed in a library and reused for all four phases. Queue. The results of the work break down component are normalized sizes of work packages. These are stored in a queue as a generic discrete event component to connect discrete event activities. State-machine. The activation logic for the different phases, i.e. the actual process model, is represented by a Stateflow diagram, see Fig. 8. The syntax of this diagram is close to the respective UML notation of statechart diagrams. Integration of model types. The model contains continuous time (system dynamic) and discrete event components integrated and executed side-by-side. Conclusion MATLAB / Simulink is a known and established tool for computing tasks in the technical community used in many different applications, many members of this community are familiar with its general concepts and usage. The evaluation of section 3 indicates that the MATLAB / Simulink environment also provides all capabilities to model complex software process simulation issues: All necessary model types (i.e. continuous time, discrete time, discrete event, and finite state models) are supported and can be seamlessly integrated. Modules can easily be defined, reused, and grouped into module libraries. If necessary, blocks with additional (arbitrary) functionality can be defined by reverting to the MATLAB programming environment. Due to this flexibility and expressiveness, insights, structures, models, and modules developed in other tool environments might be easily incorporated. Therefore, as a result of the feasibility study and targeting users in the technical community, the MATLAB / Simulink environment is considered an adequate base to develop process simulation models in general and a library of standard building blocks for such models in particular. References. T. Abdel-Hamid, S. Madnick, Software project dynamics: an integrated approach, Prentice-Hall, Englewood Cliffs, NJ, 99.. N. Angkasaputra, D. Pfahl, Towards and agile development method of software process simulation, Proceedings of the 6th International Workshop on Software Process Simulation and Modelling (ProSim 005), St. Louis, May 005, pp T. Birkhölzer, E. Navarro, Teaching by modeling instead of by models, Proceedings of the 6th International Workshop on Software Process Simulation and Modelling (ProSim 005), St. Louis, May 005, pp F. Brooks, The mythical man month, Addison-Wesley, K. Choi, D. Bae, T. Kim, DEVS-based software process simulation modeling: formally specified, modularized, and extensible SPSM, Proceedings of the 6th International Workshop on Software Process Simulation and Modelling (ProSim 005), St. Louis, May 005, pp A. Dantas, M. Barros, C. Werner, Simulation models applied to game-based training for software project managers, Proceedings of the 6th International Workshop on Software Process Simulation and Modelling (ProSim 005), St. Louis, May 005, pp D. Kirk, E. Tempero, A conceptual model of the software development process, Proceedings of the 6th International Workshop on Software Process Simulation and Modelling (ProSim 005), St. Louis, May 005, pp R. Madachy, People applications in software process modeling and simulation, Proceedings of the 6th International Workshop on Software Process Simulation and Modelling (ProSim 005), St. Louis, May 005, pp D. Raffo, U. Nayak, W. Wakeland, Implementing generalized process simulation models, Proceedings of the 6th International Workshop on Software Process Simulation and Modelling (ProSim 005), St. Louis, May 005, pp Page 4 of 8

5 -K- TotalWorkforce Add -K- -K- Learning speed Training effort s Learning Add 0 Constant max Max min Min Productvity Working s OutputRate Experienced workf orce AccumulatedOutput Fig.. Learning Workforce module CalculatedDate CalculatedEndDate PromisedEndDate 3 Time PromisedDate Time Decision TargetWorkf orce z Unit Delay AvailableWorkforce WorkForce Embedded MATLAB Function Fig.. Staffing Control module a) b) Fig. 3. Staffing Control with ideal workforce: a) workload, b) calculated end date (upper curve) and available workforce (lower curve) Page 5 of 8

6 WorkloadStep Add Compare To Zero <= 0 STOP Stop Simulation Divide Add CalculatedEndDate OutputRate 40 PromisedEndDate Av ailableworkf orce TotalWorkforce 40 AccumulatedOutput Clock Time Management Review Learning Workforce Scope Fig. 4. Combined model: Staffing Control in the loop with Learning Workforce a) b) Fig. 5. Staffing Control with Learning Workforce: a) workload, b) calculated end date (upper curve) and available workforce (lower curve) Page 6 of 8

7 Enable >= 00 0 Constant du/dt Derivative Switch s Integrator Rework s Integrator Subtract Compare To Constant >= 00 Compare To Constant AND Logical Operator U ~= U/z Detect Change boolean Data Type Conversion Fig. 6. Generic Phase Model Memory Analy sisphase DesignPhase 00 Constant Initiate OR OR ImplementationPhase AnalysisPhase QueueEmpty Memory TestPhase Release STOP State Machine BreakDownPhaseStop Simulation DesignPhase Logical Operator OR ImplementationPhase Out CLK Complete WorkBreakDown DataIn DataOut InputEnable Empty OutputEnable Queue TestPhase Fig. 7. Iterative Process Model Page 7 of 8

8 Fig. 8. Process definition of the iterative process as Stateflow diagram Page 8 of 8

An Approach to a Hybrid Software Process Simulation using the DEVS Formalism

An Approach to a Hybrid Software Process Simulation using the DEVS Formalism SOFTWARE PROCESS IMPROVEMENT AND PRACTICE Softw. Process Improve. Pract. 2006; 11: 373 383 Published online 12 June 2006 in Wiley InterScience (www.interscience.wiley.com) DOI: 10.1002/spip.284 An Approach

More information

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as

More information

Chapter 4 Software Lifecycle and Performance Analysis

Chapter 4 Software Lifecycle and Performance Analysis Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and

More information

Software Development Principles Applied to Graphical Model Development

Software Development Principles Applied to Graphical Model Development Software Development Principles Applied to Graphical Model Development Paul A. Barnard * The MathWorks, Natick, MA 01760, USA The four fundamental principles of good software design communicate clearly,

More information

A JDF-enabled Workflow Simulation Tool

A JDF-enabled Workflow Simulation Tool A JDF-enabled Workflow Simulation Tool Claes Buckwalter Keywords: Workflow, software framework, simulation, JDF Abstract: Job Definition Format (JDF) is a relatively young industry standard that specifies

More information

Introduction to MATLAB Gergely Somlay Application Engineer gergely.somlay@gamax.hu

Introduction to MATLAB Gergely Somlay Application Engineer gergely.somlay@gamax.hu Introduction to MATLAB Gergely Somlay Application Engineer gergely.somlay@gamax.hu 2012 The MathWorks, Inc. 1 What is MATLAB? High-level language Interactive development environment Used for: Numerical

More information

Compliance and Requirement Traceability for SysML v.1.0a

Compliance and Requirement Traceability for SysML v.1.0a 1. Introduction: Compliance and Traceability for SysML v.1.0a This document provides a formal statement of compliance and associated requirement traceability for the SysML v. 1.0 alpha specification, which

More information

GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications

GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications Harris Z. Zebrowitz Lockheed Martin Advanced Technology Laboratories 1 Federal Street Camden, NJ 08102

More information

A Comparison of System Dynamics (SD) and Discrete Event Simulation (DES) Al Sweetser Overview.

A Comparison of System Dynamics (SD) and Discrete Event Simulation (DES) Al Sweetser Overview. A Comparison of System Dynamics (SD) and Discrete Event Simulation (DES) Al Sweetser Andersen Consultng 1600 K Street, N.W., Washington, DC 20006-2873 (202) 862-8080 (voice), (202) 785-4689 (fax) albert.sweetser@ac.com

More information

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent

More information

asked the Software Engineering Institute Publishes Software Technology Review A Cliffs Notes Approach for PEOs, PMs, IPTs, and Support Staff

asked the Software Engineering Institute Publishes Software Technology Review A Cliffs Notes Approach for PEOs, PMs, IPTs, and Support Staff ACQUISITION REFERENCE SOURCE Software Engineering Institute Publishes Software Technology Review A Cliffs Notes Approach for PEOs, PMs, IPTs, and Support Staff ROBERT ROSENSTEIN KIMBERLY BRUNE JOHN FOREMAN

More information

Development of AUTOSAR Software Components within Model-Based Design

Development of AUTOSAR Software Components within Model-Based Design 2008-01-0383 Development of AUTOSAR Software Components within Model-Based Design Copyright 2008 The MathWorks, Inc. Guido Sandmann Automotive Marketing Manager, EMEA The MathWorks Richard Thompson Senior

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5, No. 6, July - August 2006 On Assuring Software Quality and Curbing Software

More information

Model Based System Engineering (MBSE) For Accelerating Software Development Cycle

Model Based System Engineering (MBSE) For Accelerating Software Development Cycle Model Based System Engineering (MBSE) For Accelerating Software Development Cycle Manish Patil Sujith Annamaneni September 2015 1 Contents 1. Abstract... 3 2. MBSE Overview... 4 3. MBSE Development Cycle...

More information

MEng, BSc Applied Computer Science

MEng, BSc Applied Computer Science School of Computing FACULTY OF ENGINEERING MEng, BSc Applied Computer Science Year 1 COMP1212 Computer Processor Effective programming depends on understanding not only how to give a machine instructions

More information

A Mind Map Based Framework for Automated Software Log File Analysis

A Mind Map Based Framework for Automated Software Log File Analysis 2011 International Conference on Software and Computer Applications IPCSIT vol.9 (2011) (2011) IACSIT Press, Singapore A Mind Map Based Framework for Automated Software Log File Analysis Dileepa Jayathilake

More information

SOLVING LINEAR SYSTEMS

SOLVING LINEAR SYSTEMS SOLVING LINEAR SYSTEMS Linear systems Ax = b occur widely in applied mathematics They occur as direct formulations of real world problems; but more often, they occur as a part of the numerical analysis

More information

StateFlow Hands On Tutorial

StateFlow Hands On Tutorial StateFlow Hands On Tutorial HS/PDEEC 2010 03 04 José Pinto zepinto@fe.up.pt Session Outline Simulink and Stateflow Numerical Simulation of ODEs Initial Value Problem (Hands on) ODEs with resets (Hands

More information

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca Using Simulation to teach project management skills Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca Agenda of the workshop 1 The software project management theory overview (40 minutes) 2 Why use SDLC

More information

The SPES Methodology Modeling- and Analysis Techniques

The SPES Methodology Modeling- and Analysis Techniques The SPES Methodology Modeling- and Analysis Techniques Dr. Wolfgang Böhm Technische Universität München boehmw@in.tum.de Agenda SPES_XT Project Overview Some Basic Notions The SPES Methodology SPES_XT

More information

Scheduling Software Projects to Minimize the Development Time and Cost with a Given Staff

Scheduling Software Projects to Minimize the Development Time and Cost with a Given Staff Scheduling Software Projects to Minimize the Development Time and Cost with a Given Staff Frank Padberg Fakultät für Informatik Universität Karlsruhe, Germany padberg @ira.uka.de Abstract A probabilistic

More information

OPC COMMUNICATION IN REAL TIME

OPC COMMUNICATION IN REAL TIME OPC COMMUNICATION IN REAL TIME M. Mrosko, L. Mrafko Slovak University of Technology, Faculty of Electrical Engineering and Information Technology Ilkovičova 3, 812 19 Bratislava, Slovak Republic Abstract

More information

Revel8or: Model Driven Capacity Planning Tool Suite

Revel8or: Model Driven Capacity Planning Tool Suite Revel8or: Model Driven Capacity Planning Tool Suite Liming Zhu 1,2, Yan Liu 1,2, Ngoc Bao Bui 1,2,Ian Gorton 3 1 Empirical Software Engineering Program, National ICT Australia Ltd. 2 School of Computer

More information

MEng, BSc Computer Science with Artificial Intelligence

MEng, BSc Computer Science with Artificial Intelligence School of Computing FACULTY OF ENGINEERING MEng, BSc Computer Science with Artificial Intelligence Year 1 COMP1212 Computer Processor Effective programming depends on understanding not only how to give

More information

Designing Real-Time and Embedded Systems with the COMET/UML method

Designing Real-Time and Embedded Systems with the COMET/UML method By Hassan Gomaa, Department of Information and Software Engineering, George Mason University. Designing Real-Time and Embedded Systems with the COMET/UML method Most object-oriented analysis and design

More information

Load Balancing and Switch Scheduling

Load Balancing and Switch Scheduling EE384Y Project Final Report Load Balancing and Switch Scheduling Xiangheng Liu Department of Electrical Engineering Stanford University, Stanford CA 94305 Email: liuxh@systems.stanford.edu Abstract Load

More information

Scheduling Algorithm with Optimization of Employee Satisfaction

Scheduling Algorithm with Optimization of Employee Satisfaction Washington University in St. Louis Scheduling Algorithm with Optimization of Employee Satisfaction by Philip I. Thomas Senior Design Project http : //students.cec.wustl.edu/ pit1/ Advised By Associate

More information

Hybrid Modeling of Test-and-Fix Processes in Incremental Development

Hybrid Modeling of Test-and-Fix Processes in Incremental Development He (Jason) Zhang, Ross Jeffery, and Liming Zhu Hybrid Modeling of Test-and-Fix Processes in Incremental Development - International Conference on Software Process 2008 Outline Introduction Hybrid process

More information

Industrial Automation course

Industrial Automation course Industrial Automation course Lesson 1 Introduction Politecnico di Milano Universidad de Monterrey, July 2015, A. L. Cologni 1 What do we do Industrial Automation Course for the Monterrey Students @ PoliMi

More information

SCADE Suite in Space Applications

SCADE Suite in Space Applications SCADE Suite in Space Applications at EADS David Lesens 09/10/2008 Overview Introduction Historical use of SCADE at EADS Astrium ST Why using SCADE? The Automatic Transfer Vehicle (ATV) M51 and Vega R&T

More information

Software: Driving Innovation for Engineered Products. Page

Software: Driving Innovation for Engineered Products. Page Software: Driving Innovation for Engineered Products Software in products holds the key to innovations that improve quality, safety, and ease-of-use, as well as add new functions. Software simply makes

More information

How To Test Automatically

How To Test Automatically Automated Model-Based Testing of Embedded Real-Time Systems Jan Peleska jp@tzi.de University of Bremen Bieleschweig Workshop 7 2006-05-05 Outline Technologie-Zentrum Informatik Objectives Basic concepts

More information

The world s most popular transportation modeling suite

The world s most popular transportation modeling suite technical brochure of cube The world s most popular transportation modeling suite Cube is the most widely used and most complete transportation analysis system in the world. With Cube 5, Citilabs integrates

More information

one Introduction chapter OVERVIEW CHAPTER

one Introduction chapter OVERVIEW CHAPTER one Introduction CHAPTER chapter OVERVIEW 1.1 Introduction to Decision Support Systems 1.2 Defining a Decision Support System 1.3 Decision Support Systems Applications 1.4 Textbook Overview 1.5 Summary

More information

Embedded Software Development with MPS

Embedded Software Development with MPS Embedded Software Development with MPS Markus Voelter independent/itemis The Limitations of C and Modeling Tools Embedded software is usually implemented in C. The language is relatively close to the hardware,

More information

How To Develop Software

How To Develop Software Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which

More information

WEB-BASED SIMULATION OF MANUFACTURING SYSTEMS

WEB-BASED SIMULATION OF MANUFACTURING SYSTEMS ISSN 1726-4529 Int j simul model 8 (2009) 2, 102-113 Professional paper WEB-BASED SIMULATION OF MANUFACTURING SYSTEMS Kehris, E. Technological Education Institute of Serres, Terma Magnisias, 621 24 Serres,

More information

Appendix: Dynamics of Agile Software Development Model Structure

Appendix: Dynamics of Agile Software Development Model Structure Appendix: Dynamics of Agile Software Development Model Structure This study was conducted within the context of a much broader research effort to study, gain insight into, and make predictions about the

More information

Converting Models from Floating Point to Fixed Point for Production Code Generation

Converting Models from Floating Point to Fixed Point for Production Code Generation MATLAB Digest Converting Models from Floating Point to Fixed Point for Production Code Generation By Bill Chou and Tom Erkkinen An essential step in embedded software development, floating- to fixed-point

More information

AC 2012-4561: MATHEMATICAL MODELING AND SIMULATION US- ING LABVIEW AND LABVIEW MATHSCRIPT

AC 2012-4561: MATHEMATICAL MODELING AND SIMULATION US- ING LABVIEW AND LABVIEW MATHSCRIPT AC 2012-4561: MATHEMATICAL MODELING AND SIMULATION US- ING LABVIEW AND LABVIEW MATHSCRIPT Dr. Nikunja Swain, South Carolina State University Nikunja Swain is a professor in the College of Science, Mathematics,

More information

SYSTEMS, CONTROL AND MECHATRONICS

SYSTEMS, CONTROL AND MECHATRONICS 2015 Master s programme SYSTEMS, CONTROL AND MECHATRONICS INTRODUCTION Technical, be they small consumer or medical devices or large production processes, increasingly employ electronics and computers

More information

dspace DSP DS-1104 based State Observer Design for Position Control of DC Servo Motor

dspace DSP DS-1104 based State Observer Design for Position Control of DC Servo Motor dspace DSP DS-1104 based State Observer Design for Position Control of DC Servo Motor Jaswandi Sawant, Divyesh Ginoya Department of Instrumentation and control, College of Engineering, Pune. ABSTRACT This

More information

Evaluating OO-CASE tools: OO research meets practice

Evaluating OO-CASE tools: OO research meets practice Evaluating OO-CASE tools: OO research meets practice Danny Greefhorst, Matthijs Maat, Rob Maijers {greefhorst, maat, maijers}@serc.nl Software Engineering Research Centre - SERC PO Box 424 3500 AK Utrecht

More information

2. Analysis, Design and Implementation

2. Analysis, Design and Implementation 2. Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Individual Programs to Complete Application Systems Software Development: Goals, Tasks, Actors,

More information

APPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT

APPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT APPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT AIMAN TURANI Associate Prof., Faculty of computer science and Engineering, TAIBAH University, Medina, KSA E-mail: aimanturani@hotmail.com ABSTRACT

More information

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Business-Driven Software Engineering Lecture 3 Foundations of Processes Business-Driven Software Engineering Lecture 3 Foundations of Processes Jochen Küster jku@zurich.ibm.com Agenda Introduction and Background Process Modeling Foundations Activities and Process Models Summary

More information

Final Year Project Progress Report. Frequency-Domain Adaptive Filtering. Myles Friel. Supervisor: Dr.Edward Jones

Final Year Project Progress Report. Frequency-Domain Adaptive Filtering. Myles Friel. Supervisor: Dr.Edward Jones Final Year Project Progress Report Frequency-Domain Adaptive Filtering Myles Friel 01510401 Supervisor: Dr.Edward Jones Abstract The Final Year Project is an important part of the final year of the Electronic

More information

HYBRID SYSTEMS CONTROLLER DESIGN METHODOLOGY

HYBRID SYSTEMS CONTROLLER DESIGN METHODOLOGY FISITA2010-SC-O-14 HYBRID SYSTEMS CONTROLLER DESIGN METHODOLOGY 1 Pluska Michal*, 1 Sinclair David 1 LERO@DCU i, Dublin City University, School of Computing, Dublin 9, Ireland michal.pluska2@mail.dcu.ie

More information

A Tool for Generating Partition Schedules of Multiprocessor Systems

A Tool for Generating Partition Schedules of Multiprocessor Systems A Tool for Generating Partition Schedules of Multiprocessor Systems Hans-Joachim Goltz and Norbert Pieth Fraunhofer FIRST, Berlin, Germany {hans-joachim.goltz,nobert.pieth}@first.fraunhofer.de Abstract.

More information

Solution of Linear Systems

Solution of Linear Systems Chapter 3 Solution of Linear Systems In this chapter we study algorithms for possibly the most commonly occurring problem in scientific computing, the solution of linear systems of equations. We start

More information

Scicos is a Scilab toolbox included in the Scilab package. The Scicos editor can be opened by the scicos command

Scicos is a Scilab toolbox included in the Scilab package. The Scicos editor can be opened by the scicos command 7 Getting Started 7.1 Construction of a Simple Diagram Scicos contains a graphical editor that can be used to construct block diagram models of dynamical systems. The blocks can come from various palettes

More information

2. Analysis, Design and Implementation

2. Analysis, Design and Implementation 2. Analysis, Design and Implementation Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Programs to Application Systems Products Software Development:

More information

Práctica 1: PL 1a: Entorno de programación MathWorks: Simulink

Práctica 1: PL 1a: Entorno de programación MathWorks: Simulink Práctica 1: PL 1a: Entorno de programación MathWorks: Simulink 1 Objetivo... 3 Introducción Simulink... 3 Open the Simulink Library Browser... 3 Create a New Simulink Model... 4 Simulink Examples... 4

More information

Execution of A Requirement Model in Software Development

Execution of A Requirement Model in Software Development Execution of A Requirement Model in Software Development Wuwei Shen, Mohsen Guizani and Zijiang Yang Dept of Computer Science, Western Michigan University {wwshen,mguizani,zijiang}@cs.wmich.edu Kevin Compton

More information

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent

More information

24. The Branch and Bound Method

24. The Branch and Bound Method 24. The Branch and Bound Method It has serious practical consequences if it is known that a combinatorial problem is NP-complete. Then one can conclude according to the present state of science that no

More information

C. Wohlin, "Managing Software Quality through Incremental Development and Certification", In Building Quality into Software, pp. 187-202, edited by

C. Wohlin, Managing Software Quality through Incremental Development and Certification, In Building Quality into Software, pp. 187-202, edited by C. Wohlin, "Managing Software Quality through Incremental Development and Certification", In Building Quality into Software, pp. 187-202, edited by M. Ross, C. A. Brebbia, G. Staples and J. Stapleton,

More information

Model-Driven Software Development for Robotics: an overview

Model-Driven Software Development for Robotics: an overview Model-Driven Software Development for Robotics: an overview IEEE-ICRA2011 Workshop on Software Development and Integration in Robotics Jan F. Broenink, Maarten M. Bezemer Control Engineering, University

More information

A System Dynamics Software Process Simulator for Staffing Policies Decision Support

A System Dynamics Software Process Simulator for Staffing Policies Decision Support A System Dynamics Software Process Simulator for Staffing Policies Decision Support Dr. James Collofello Dept. of Computer Science and Engineering Arizona State University Tempe, Arizona 85287-5406 (602)

More information

WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math

WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Textbook Correlation WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Following Directions Unit FIRST QUARTER AND SECOND QUARTER Logic Unit

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

A Knowledge-based Product Derivation Process and some Ideas how to Integrate Product Development

A Knowledge-based Product Derivation Process and some Ideas how to Integrate Product Development A Knowledge-based Product Derivation Process and some Ideas how to Integrate Product Development (Position paper) Lothar Hotz and Andreas Günter HITeC c/o Fachbereich Informatik Universität Hamburg Hamburg,

More information

What s New in MATLAB and Simulink

What s New in MATLAB and Simulink What s New in MATLAB and Simulink Kevin Cohan Product Marketing, MATLAB Michael Carone Product Marketing, Simulink 2015 The MathWorks, Inc. 1 What was new for Simulink in R2012b? 2 What Was New for MATLAB

More information

Test Driven Mobile Applications Development

Test Driven Mobile Applications Development , 23-25 October, 2013, San Francisco, USA Test Driven Mobile Applications Development Haeng Kon Kim Abstract Mobile applications testing is the most important factor in its software development. Mobile

More information

Automated Model Based Testing for an Web Applications

Automated Model Based Testing for an Web Applications Automated Model Based Testing for an Web Applications Agasarpa Mounica, Lokanadham Naidu Vadlamudi Abstract- As the development of web applications plays a major role in our day-to-day life. Modeling the

More information

How can I manage all automation software tasks in one engineering environment?

How can I manage all automation software tasks in one engineering environment? How can I manage all automation software tasks in one engineering environment? With Totally Integrated Automation Portal: One integrated engineering framework for all your automation tasks. Answers for

More information

The Dynamics of Software Project Staffing: A System Dynamics Based Simulation Approach

The Dynamics of Software Project Staffing: A System Dynamics Based Simulation Approach The Dynamics of Software Project Staffing: A System Dynamics Based Simulation Approach IEEE Transactions on Software Engineering(TSE, 1989) TAREK K. ABDEL-HAMID Park, Ji Hun 2010.5.10 Contents Introduction

More information

Model based testing tools. Olli Pekka Puolitaival

Model based testing tools. Olli Pekka Puolitaival Model based testing tools Olli Pekka Puolitaival Index 1. Software testing evolution 2. model based testing (MBT): main idea 3. MBT: step by step 4. MBT: tools 5. Questions Software testing evolution model

More information

A Business Process Driven Approach for Generating Software Modules

A Business Process Driven Approach for Generating Software Modules A Business Process Driven Approach for Generating Software Modules Xulin Zhao, Ying Zou Dept. of Electrical and Computer Engineering, Queen s University, Kingston, ON, Canada SUMMARY Business processes

More information

11 Tips to make the requirements definition process more effective and results more usable

11 Tips to make the requirements definition process more effective and results more usable 1 11 Tips to make the s definition process more effective and results more usable This article discusses what I believe are the key techniques for making s definition process repeatable from project to

More information

TRAFFIC ENGINEERING OF DISTRIBUTED CALL CENTERS: NOT AS STRAIGHT FORWARD AS IT MAY SEEM. M. J. Fischer D. A. Garbin A. Gharakhanian D. M.

TRAFFIC ENGINEERING OF DISTRIBUTED CALL CENTERS: NOT AS STRAIGHT FORWARD AS IT MAY SEEM. M. J. Fischer D. A. Garbin A. Gharakhanian D. M. TRAFFIC ENGINEERING OF DISTRIBUTED CALL CENTERS: NOT AS STRAIGHT FORWARD AS IT MAY SEEM M. J. Fischer D. A. Garbin A. Gharakhanian D. M. Masi January 1999 Mitretek Systems 7525 Colshire Drive McLean, VA

More information

The Use of Hybrid Regulator in Design of Control Systems

The Use of Hybrid Regulator in Design of Control Systems World Applied Sciences Journal 23 (10): 1291-1297, 2013 ISSN 1818-4952 IDOSI Publications, 2013 DOI: 10.5829/idosi.wasj.2013.23.10.13144 The Use of Hybrid Regulator in Design of Control Systems Vladimir

More information

Why is SAS/OR important? For whom is SAS/OR designed?

Why is SAS/OR important? For whom is SAS/OR designed? Fact Sheet What does SAS/OR software do? SAS/OR software provides a powerful array of optimization, simulation and project scheduling techniques to identify the actions that will produce the best results,

More information

Integrated Model-based Software Development and Testing with CSD and MTest

Integrated Model-based Software Development and Testing with CSD and MTest Integrated Model-based Software Development and Testing with CSD and Andreas Rau / Mirko Conrad / Helmut Keller / Ines Fey / Christian Dziobek DaimlerChrysler AG, Germany fa-stz-andreas.rau Mirko.Conrad

More information

A Generic Business Logic for Energy Optimization Models

A Generic Business Logic for Energy Optimization Models A Generic Business Logic for Energy Optimization Models Sabrina Merkel 1, Christoph Schlenzig 1, Albrecht Reuter 2 1 Seven2one Informationssysteme GmbH, Waldstr. 41-43, 76133, Karlsruhe, Germany (sabrina.merkel,

More information

SIMPLIFIED PERFORMANCE MODEL FOR HYBRID WIND DIESEL SYSTEMS. J. F. MANWELL, J. G. McGOWAN and U. ABDULWAHID

SIMPLIFIED PERFORMANCE MODEL FOR HYBRID WIND DIESEL SYSTEMS. J. F. MANWELL, J. G. McGOWAN and U. ABDULWAHID SIMPLIFIED PERFORMANCE MODEL FOR HYBRID WIND DIESEL SYSTEMS J. F. MANWELL, J. G. McGOWAN and U. ABDULWAHID Renewable Energy Laboratory Department of Mechanical and Industrial Engineering University of

More information

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

A Management Tool for Component-Based Real-Time Supervision and Control Systems A Management Tool for Component-Based Real-Time Supervision and Control Systems Sandro Santos Andrade, Raimundo José de Araújo Macêdo Distributed Systems Laboratory (LaSiD) Post-Graduation Program on Mechatronics

More information

Linear Programming Supplement E

Linear Programming Supplement E Linear Programming Supplement E Linear Programming Linear programming: A technique that is useful for allocating scarce resources among competing demands. Objective function: An expression in linear programming

More information

New trend in Russian informatics curricula: integration of math and informatics

New trend in Russian informatics curricula: integration of math and informatics New trend in Russian informatics curricula: integration of math and informatics Svetlana Gaisina Academy of post-degree pedagogical education, Saint Petersburg, g.selania@gmail.com Sergei Pozdniakov Saint

More information

Predictive Coding Defensibility and the Transparent Predictive Coding Workflow

Predictive Coding Defensibility and the Transparent Predictive Coding Workflow Predictive Coding Defensibility and the Transparent Predictive Coding Workflow Who should read this paper Predictive coding is one of the most promising technologies to reduce the high cost of review by

More information

Improving Software Project Management Skills Using a Software Project Simulator

Improving Software Project Management Skills Using a Software Project Simulator Improving Software Project Management Skills Using a Software Project Simulator Derek Merrill and James S. Collofello Department of Computer Science and Engineering Arizona State University Tempe, AZ 85287-5406

More information

The QOOL Algorithm for fast Online Optimization of Multiple Degree of Freedom Robot Locomotion

The QOOL Algorithm for fast Online Optimization of Multiple Degree of Freedom Robot Locomotion The QOOL Algorithm for fast Online Optimization of Multiple Degree of Freedom Robot Locomotion Daniel Marbach January 31th, 2005 Swiss Federal Institute of Technology at Lausanne Daniel.Marbach@epfl.ch

More information

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler Best-Practice Software Engineering: Software Processes to Support Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems Dietmar.Winkler@qse.ifs.tuwien.ac.at

More information

Spreadsheet Programming:

Spreadsheet Programming: Spreadsheet Programming: The New Paradigm in Rapid Application Development Contact: Info@KnowledgeDynamics.com www.knowledgedynamics.com Spreadsheet Programming: The New Paradigm in Rapid Application Development

More information

Estimating Size and Effort

Estimating Size and Effort Estimating Size and Effort Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson dr@inf.ed.ac.uk http://www.inf.ed.ac.uk/ssp/members/dave.htm SAPM Spring 2007:

More information

A literature Review on Application of System Dynamics in software project Management Pijush Chandra Das#1, Dr. UtpalRanjan Dhar#2 Abstract:

A literature Review on Application of System Dynamics in software project Management Pijush Chandra Das#1, Dr. UtpalRanjan Dhar#2 Abstract: A literature Review on Application of System Dynamics in software project Management Pijush Chandra Das #1, Dr. UtpalRanjan Dhar #2 #1 Research Scholar, Department of Business Administration, Gauhati University,Guwahati-

More information

A Review of the Impact of Requirements on Software Project Development Using a Control Theoretic Model

A Review of the Impact of Requirements on Software Project Development Using a Control Theoretic Model J. Software Engineering & Applications, 2010, 3, 852-857 doi:10.4236/jsea.2010.39099 Published Online September 2010 (http://www.scirp.org/journal/jsea) A Review of the Impact of Requirements on Software

More information

Software: Driving Innovation for Engineered Products

Software: Driving Innovation for Engineered Products Software: Driving Innovation for Engineered Products Software in products holds the key to innovations that improve quality, safety, and ease-of-use, as well as add new functions. Software simply makes

More information

Training Software Development Project Managers with a Software Project Simulator

Training Software Development Project Managers with a Software Project Simulator Master of Science Thesis Proposal Department of Computer Science and Engineering Arizona State University Training Software Development Project Managers with a Software Project Simulator Prepared by Derek

More information

22C:22 (CS:2820) Object-Oriented Software Development

22C:22 (CS:2820) Object-Oriented Software Development The University of Iowa 22C:22 (CS:2820) Object-Oriented Software Development Fall 2012 Software Complexity by Cesare Tinelli Complexity Software systems are complex artifacts Failure to master this complexity

More information

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science Program Schedule CTech Computer Science Credits CS101 Computer Science I 3 MATH100 Foundations of Mathematics and

More information

Title: Topic 3 Software process models (Topic03 Slide 1).

Title: Topic 3 Software process models (Topic03 Slide 1). Title: Topic 3 Software process models (Topic03 Slide 1). Topic 3: Lecture Notes (instructions for the lecturer) Author of the topic: Klaus Bothe (Berlin) English version: Katerina Zdravkova, Vangel Ajanovski

More information

White Paper Business Process Modeling and Simulation

White Paper Business Process Modeling and Simulation White Paper Business Process Modeling and Simulation WP0146 May 2014 Bhakti Stephan Onggo Bhakti Stephan Onggo is a lecturer at the Department of Management Science at the Lancaster University Management

More information

A Software Development Simulation Model of a Spiral Process

A Software Development Simulation Model of a Spiral Process A Software Development Simulation Model of a Spiral Process ABSTRACT: There is a need for simulation models of software development processes other than the waterfall because processes such as spiral development

More information

50 Computer Science MI-SG-FLD050-02

50 Computer Science MI-SG-FLD050-02 50 Computer Science MI-SG-FLD050-02 TABLE OF CONTENTS PART 1: General Information About the MTTC Program and Test Preparation OVERVIEW OF THE TESTING PROGRAM... 1-1 Contact Information Test Development

More information

Predictive Coding Defensibility and the Transparent Predictive Coding Workflow

Predictive Coding Defensibility and the Transparent Predictive Coding Workflow WHITE PAPER: PREDICTIVE CODING DEFENSIBILITY........................................ Predictive Coding Defensibility and the Transparent Predictive Coding Workflow Who should read this paper Predictive

More information

Modeling and Performance Evaluation of Computer Systems Security Operation 1

Modeling and Performance Evaluation of Computer Systems Security Operation 1 Modeling and Performance Evaluation of Computer Systems Security Operation 1 D. Guster 2 St.Cloud State University 3 N.K. Krivulin 4 St.Petersburg State University 5 Abstract A model of computer system

More information

Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools

Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools Michaela Rindt, Timo Kehrer, Udo Kelter Software Engineering Group University of Siegen {mrindt,kehrer,kelter}@informatik.uni-siegen.de

More information