Performance Analysis and Characterization Tool for Distributed Software Development

Size: px
Start display at page:

Download "Performance Analysis and Characterization Tool for Distributed Software Development"

Transcription

1 906 Performance Analysis and Characterization Tool for Distributed Software Development Reheb A. El-kaedy 1 and Ahmed Sameh 2 1 The American University in Cairo, 2 Prince Sultan University AUC Avenue, P.O.Box 74, P.O.Box New Cairo 11835, Riyadh Sameh.aucegypt.edu@gmail.com Abstract: Software Performance Engineering encompasses efforts to describe and improve performance, with two distinct approaches: an early-cycle predictive model based approach, and a late-cycle measurement-based approach. The importance of integrating performance considerations into the early stages of the software development process triggers a need to bridge the gap between the fields of software engineering and performance analysis. Failure to detect performance pitfalls in a system at its earliest stages of development could turn up very costly, especially with complex and performance critical systems. Performance engineering strategies and analysis techniques could be used at the design time of the system to avoid such cost. The proposed Integrated Model-based Performance Analysis and Characterization Tool developed attempts to combine already existing standards and proposed frameworks into an automated unified easy-to-use tool. The tool aims to empower the software engineering process and make performance engineering an integral part of the software development cycle. Keywords: Software performance engineering, UML, MARTE profile, performance analysis, MDA, model-to-model transformation, QVT relations, LQN 1. Introduction Software performance is such pervasive quality that is difficult to understand, because it is affected by every aspect of the design, code, and execution environment. By conventional wisdom; performance is a serious problem in a significant fraction of projects. It causes delays, cost overruns, failures on deployment, and even abandonment of projects, but such failures are seldom documented. There are two general approaches found in literature both under the Software Performance Engineering umbrella. The commonest approach is purely measurement-based; it applies testing, diagnosis and tuning late in the development cycle, when the system underdevelopment can be run and measured. The model-based approach, creates performance models early in the development cycle and uses quantitative results from these models to adjust the architecture and design with the purpose of meeting performance requirements. Research in the field of software performance engineering addresses the importance of integrating performance considerations into the early stages of the software development process. Delaying such considerations to later stages of the process with a fix-it-later approach has often proven to be costly and unwisely, especially with complex software systems and performance critical parallel/distributed applications. Several efforts have been made to come up with modeling standards and common frameworks that would concurrently satisfy the requirements of both software engineers and performance experts. Many have proposed systematic transformations of software models to common performance models that already have good tool support and welldeveloped evaluation techniques like Stochastic Process Algebra (SPA), Stochastic Petri-Net (SPN) and Queuing Networks with their different extended forms including Layered Queuing Networks (LQN) [21]. Some also proposed the use of an intermediate performance model like the Core Scenario Model where relevant information is extracted from the software model and represented in a generic performance representation independent of the performance formalism to be used [17][18]. This intermediate model is then transformed into the target performance model for evaluation and analysis. Performance models describe how system operations use resources, and how resource contention affects operations. The types of models used for software, including queueing networks, layered queues, and types of Petri Nets and Stochastic Process Algebras, were surveyed recently by Balsamo et al [7]. The special capability of a model is prediction of properties of a system before it is built, or the effect of a change before it is carried out. This gives a special early warning role to early-cycle modeling during requirements analysis. However as implementation proceeds, better models can be created by other means, and may have additional uses, in particular: design of performance tests, configuration of products for delivery, and evaluation of planned evolutions of the design, recognizing that no system is ever final. Considering that UML is gaining more consensus as the de facto modeling framework used by most software engineers, more emphasis has been given to transforming UML system models into their corresponding performance models. The Object Management Group (OMG) [10] leads the process of developing standard UML profiles for annotating UML models with performance information. The profile of Schedulability, Performance and Time (SPT) was the first OMG profile for real-time systems adopted in 2005 [15]. It uses tagged-values to annotate UML 1.4 models with the required performance attributes. The OMG profile for Modeling and Analysis of Real Time and Embedded systems (MARTE) then came to replace the SPT profile [11][14]. The MARTE profile supports UML 2.0 and provides more

2 907 flexibility in defining performance values using the Value Specification Language (VSL). Figure 1. MARTE Profile Architecture asprovided in [14] OMG also advocates the use of the Meta Object Facility 2.0 Query, View, and Transformation (QVT) specification [12] as a standard for model transformation in line with its vision of Model Driven Architecture (MDA) [13]. QVT provides hybrid declarative/imperative model transformation languages used to methodologically describe the transformational mapping between a source and target meta-models. Recently there has been significant progress in the availability of tools supporting the editing, compilation and execution of QVT transformations at its different levels of language abstractions, namely the core, relational and operational mappings languages [9][22]. Our Integrated Model-based Performance Analysis and Characterization Tool (IMPACT) attempts to integrate these standardization efforts into a unified early software performance evaluation platform. The performance information provided through the MARTE annotations of the UML model are transformed using standard QVT transformations into an equivalent performance model for evaluation and analysis. The model is then analyzed using an existing performance model solver and the results are reported back to the designers of the system. In the rest of the paper, we present the structure of the IMPACT system and the tools used for its different components. Section 2 gives a general overview of the system. Section 3 discusses the OMG MARTE profile and the Papyrus modeling tool used as the development environment [16]. Section 4 deals with the QVT model transformation language and the mediniqvt tool used for its implementation [9]. Section 5 discusses the performance model generated and the solver used for its analysis [8]. In the end, we discuss the integration platform of our system and summarize possibilities for future enhancements. 2. IMPACT System Overview Figure 1 presents the general architecture of IMPACT in accordance with the model analysis framework presented in the MARTE profile specification [14]. The Papyrus modeling tool [16] is used to produce a MARTE annotated UML model of the system being designed. The relational QVT implementation of mediniqvt [9] is then used to execute a relational model-to-model transformation to generate an equivalent LQN model for the system. A relational QVT implementation has been used to allow for the bi-directional transformation between the source and target models. The reverse transformation is necessary for integrating the performance results back into the UML model and implementing the reverse feedback path. A Layered Queuing Model is used as the performance model as it provides layers to capture contention for both hardware and software resources [1][7]. LQN Model analysis scales well with complex large systems as it is based on mean-value analysis unlike SPAs and SPNs that are based on stochastic discrete-state analysis. A direct transformation to an LQN performance model is used to avoid a double transformation through an intermediate performance model at this stage. This might however be a good option to consider in the future for system generality and tool interoperability. The LQN model generated could then be analyzed using existing LQN solvers. We use the LQNS solver of [8] as an illustration to produce the analysis results. 3. MARTE Profile and the PAPYRUS Modeling Tool The UML profile for Modeling and Analysis of Real-Time and Embedded systems (MARTE) extends the UML metamodel with the capability to annotate models with information required to perform model-based analysis and quantitative predictions of system properties [14]. The profile, as illustrated in Figure 2, consists of foundation modules that provide the basic elements for describing time, non-functional properties, and the use of resources. The design modules refine these foundations to model the features of real-time and embedded systems, and the analysis modules utilize them to define the information needed for model- based analysis of system properties. The Generic Quantitative Analysis Modeling (GQAM) part provides a general analysis framework to support the analysis of generic system properties. The Schedulability Analysis Modeling (SAM) and Performance Analysis Modeling (PAM) components are specialized analysis sub-profiles that provide particular support for the analysis of schedulability and performance aspects of systems. Performance properties that could be represented in MARTE include five types of quantities: time durations (including forced durations like a user think time), occurrence frequencies, probabilities, repetitions and data sizes. The

3 908 performance analysis typically yields information like the average response time of components or systems, mean throughput capacity, resource utilization or probabilities of missing delay targets. Some properties may be considered as input properties required for carrying out the analysis of the model, and some properties could be used as output properties that are produced by the analysis. Figure 3. MARTE annotated UML diagram for a simple web application Figure 3 presents a sample UML model of a simple web application annotated with performance information using MARTE (as provided in the MARTE specification document [14]). It illustrate the basic features of the profile including open arrival rates, average processor demands, operation repetitions, multithreaded processes and communication overheads on the processing nodes. IMPACT uses the information provided through the MARTE Performance Analysis Modeling framework to build the performance model of the system and analyze it. It transforms the performance properties defined by PAM into their corresponding performance features in the equivalent LQN model. Our system is based on the implementation of the MARTE profile provided by the Papyrus software modeling tool [16]. Papyrus is an open source tool for UML 2 modeling provided by the French Commission of Atomic Energy - Lab of applied research on software-intensive technologies [5]. It is based on the Eclipse environment and follows the Eclipse Modeling Framework for model representations [4]. 4. QVT Transformation and the MEDINIQVT Tool OMG s Meta Object Facility 2.0 Query/View/Transformation (QVT) specification provides a standard for expressing model transformations defined precisely in terms of the relationship between a source and a target meta-model [12]. It realizes the Model Driven Architecture (MDA) vision to treat models as the primary artifacts of software development. QVT provides transformation syntax at various language levels. The Core and Relations languages are declarative languages that explicitly define the relationship between the source and target meta-models. The Relations semantics is a higher level language that could be transformed into the simpler, more basic Core transformation semantics. QVT also provides imperative transformation formalisms that explicitly define transformation actions from source to target meta-models. These could either be defined through black-box transformation implementations or through the QVT standard Operational Mapping language. MediniQVT is a tool provided by ikv++ technologies, Germany to implement OMG s QVT Relations specification [9]. It provides an interactive environment to support the development, debugging and execution of QVT Relational transformations. It is also provided as an Eclipse plug-in based on the Eclipse Modeling Framework (EMF). Its trace management option enables incremental model updates and maintains the operation efficiency of model retransformations during the UML model development. The bidirectional nature of the relational transformation allows for the reverse transformation required to integrate the performance results back into the UML model. Figure 4 illustrates sample QVT relational transformations that map the web application model of section 3 into its equivalent LQN model 5. LQN Performance Model The Layered Queuing Network is an extended form of Queuing Networks that captures contention for both software and hardware resources in a layered interconnection topology [1][7]. An LQN model contains processors representing actual processors of the system or other logical resources that only accept requests from other servers and clients. Resources including software processes and hardware devices are represented as tasks with entries to accept synchronous or asynchronous requests. Activities are used to represent more sophisticated call sequences in non-sequential execution scenarios. Figure 5 shows the Layered Queuing model of the web application model presented in section 3. Once the LQN model of the system is produced by the QVT transformation process, an LQN solver could be used to evaluate the model and generate the required performance indicators. To demonstrate the operation of IMPACT, we use the LQNS solver of [8] to analyze the model generated. The performance results produced should then be parsed and integrated back into the UML design to provide the system designer with the required performance feedback information. LQNS is developed at Carleton University, Canada by the Real-Time and Distributed Systems Group (RADS) [20]. The tool includes both an analytic LQN mean-value solver and an LQN simulator. IMPACT uses the analytic version of the solver, providing it with the generated LQN model as input to generate performance information as illustrated in Figure 6.

4 Previous Work In surveying different approaches and methodologies concerning the derivation of performance models from software architecture specification, we consider the generality of the methodologies and we point out whether they introduce architectural constraints or special assumptions on the software system. Each approach is based on a certain type of performance model and specification language. The latter include specification formalisms such as process algebras, Petri nets and Chemical abstract machine, and UML based specification. Performance models include queueing networks (QN) and their extensions called Extended Queueing Networks (EQN) and Layered Queueing Networks (LQN), Stochastic Timed Petri nets (STPN), Stochastic Process Algebras (SPA) and simulation models. Some of the proposed methods are based on the Software Performance Engineering (SPE) methodology introduced by Smith in her pioneer work [15]. It has been the first comprehensive approach to the integration of performance analysis into the software development process, from the earliest stages to the end. The SPE methodology is based on two models: the software execution model and the system execution model. The former is based on execution graphs (EG) and represents the software execution behavior, the latter is based on queueing network models and represents the computer system platform, including hardware and software components. The analysis of the software model gives information concerning the resource requirements of the software system. The obtained results, together with information about the hardware devices, are the input parameters of the system execution model, which represents the model of the whole software/hardware system. We review some approaches that propose a general methodology for deriving performance models from software architecture specifications. These methods refer to different specification languages and performance models and they consider the combination of different tools and environments for system performance evaluation. Authors in [12] apply the SPE methodology to evaluate the performance characteristics of a software architecture. The emphasis is in the construction and analysis of the software execution model, which is considered the target model of the specified SA and is obtained from the Sequence diagrams. The Class and Deployment diagrams contribute to complete the description of the SA, but are not involved in the transformation process. The SPE process requires additional information that includes software resource requirements for processing steps and computer configuration data. In [13], authors present a methodology to derive QN performance models from SA specification. It has been developed and used by the authors in a design of client/server applications. The methodology is based on CLISSPE (CLIent/Server Software Performance Evaluation), a language for the software performance engineering of client/server applications. Although the methodology does not explicitly use UML, the functional requirements of the system are specified in terms of use cases, and the system model is specified by the analogous of a Class diagram. The use cases, together with the client/server SA specification and the mapping associating software components to hardware devices, are used to develop a CLISSPE program specification. The CLISSPE system provides a compiler that generates a corresponding QN model. By considering specific scenarios one can define the QN parameters and apply appropriate solution methods, such as the Layered Queuing Models (LQN) to obtain performance results. In [17] authors provide a method for the automatic derivation of a queuing network model from a SA specification, described using the CHAM formalism (CHemical Abstract Machine). Informally, the CHAM specification of a SA [16] is given by a set of molecules which represent the static components of the architecture, a set of reaction rules which describe the dynamic evolution of the system through reaction steps, and an initial solution which describes the initial static configuration of the system. The paper presents an algorithm to derive a QN model from the CHAM specification of a SA architecture. It is based on the analysis of the Labeled Transition System (LTS) that represents the dynamic behavior of the CHAM architecture, and that can be automatically derived from the CHAM specification. The algorithm does not completely define the QN model whose parameters, such as the service time distributions and the customer's arrival processes, have to be specified by the designer. The solution of the QN model is derived by analytical methods or possibly by symbolic evaluation. Parameter instantiation identify potential implementation scenarios and the performance results allow to provide insights on how to carry on the development process in order to satisfy given performance criteria. In [19] authors propose a methodology making a joint use of information from different UML diagrams to generate a performance model of the specified system. The paper refers to SPE methodology and specifies the software architecture by using Deployment, Sequence, and Use Case diagrams. This approach is a more formal extension of the WS approach and consists of the following steps: 1. Enrich the Use Case diagram (UCD) by assigning a probability to every edge that links a type of user to a use case, so that such probability applies to the execution of the corresponding set of Sequence diagrams. This leads to the definition of the workload of the performance model. 2. For each Use Case in the UCD, process the corresponding set of Sequence diagrams to obtain the meta-eg (execution graph). The algorithm incrementally builds the EG by processing in turn all the Sequence diagrams and building, for each one, the part of the EG it contributes to. It considers only Sequence diagrams without noreply and asynchronous interactions. 3. Use the Deployment Diagram both to obtain the EQN model of the hardware platform and to appropriately tailor the meta-eg so obtaining an EG-instance that defines the workload of the EQN. In this step, the basic idea is to enrich the Deployment Diagram, that shows the topology of the platform and the type of sites, with the information needed to build the EQN, such as the internal structure and parameters of devices. Moreover the EG-instance defines the type of communication and the size of data exchanged. The paper

5 910 does not present the details of the EQN construction from the Deployment diagram. 4. Assign numerical parameters, defined by the designer, to the EG-instance. 5. Combine EG-instance and EQNM to solve the obtained performance model by using the SPE approach. Note that a key point of the methodology is adding the information concerning performance evaluation to the considered UML diagrams, and to the obtained EQN model. The methodology is not yet implemented in a tool. Authors in [21] propose an approach to automatically generate queuing network models from software architecture specifications described by means of Message Sequence Charts (MSC), that correspond to Sequence diagrams in the UML terminology. The idea is to analyze MSCs in terms of the trace languages (sequences of events) they generate, in order to single out the real degree of parallelism among components and their dynamic dependencies. This information is then used to build a QN model corresponding to the software architecture description. The authors present an algorithm to perform this step. The approach proposed by authors in [22] concerns the derivation of QN models from Labeled Transition Systems (LTS) describing the dynamic behavior of SAs. Starting from a LTS description of a SA makes it possible to abstract from any particular SA specification language. The approach assumes that LTSs are the only knowledge on the system that they can use. This means, in particular, that it does not use any information concerning the system implementation or deployment. This approach is an extension of [22], considering a finite state representation independent of a specific architectural description language and modeling more complex interaction patterns and synchronization constraints that can be represented by extended QN. Such EQN models the software concurrent execution and component interaction at the SA design level. Authors in [17] propose an architectural description language based on stochastically timed Process Algebras. This approach provides an integration of a formal specification language and performance models. The aim is to describe and analyze both functional and performance properties of SAs in a formal framework. The approach proposes the adoption of an architectural description language called EMPA, gives its syntax with a graphical and textual notation and its semantics in terms of EMPA specifications, that is a stochastically timed process algebra. The authors illustrate various functional and non-functional properties, including performance evaluation which is based on the generation of the underlying Markov chain that is numerically solved. To this aim the authors propose the use of TwoTowers [17], a software tool for systems modeling and analysis of functional and performance properties, that support system EMPA description. In [18] authors investigate the design and performance modeling of component interconnection patterns for client/server systems. Such patterns define and encapsulate the way client and server components of software architecture communicate with each other via connectors. The idea is to start with UML design models of component interconnection patterns, using Class diagrams (to model their static aspects) and Collaboration diagrams (to depict the dynamic interactions between components and connectors objects instances of the classes depicted on the Class diagrams). Such models are then provided with additional performance annotations, and translated into an XML notation, in order to capture both the architecture and performance parameters in one notation. The performance models of the considered patterns are extended QN and their definition, based on previous work of the authors, depends on the type of communication. The EQN model solution is obtained by Markov chain analysis or approximate analytical methods. In [19] authors consider a significant set of architectural patterns (pipe and filters, client/server, broker, layers, critical section and master-slave) specified by using UML- Collaborations that are combined Class and Sequence diagrams showing explicitly the collaborating objects. The approach shows the corresponding performance models based on LQN models. Moreover, they propose a systematic approach to build performance models of complex SAs based on combinations of the considered patterns. The approach follows the SPE methodology and generates the software and system execution models by applying graph transformation techniques. SAs are specified using UML-Collaborations, Deployment and Use Case diagrams. The Sequence diagram part of the UML-Collaboration is used to obtain the software execution model (which is represented as a UML Activity diagram); the Class part is used to obtain the system execution model (which is represented as a LQN model). Use Case diagrams provide information on the workloads, and Deployment diagrams allow for the allocation of software components to hardware sites. The approach proposed by authors in [20] presents a simulation framework named Simulation Modeling Language (SimML) to generate a simulation program from the system design specified with the UML. The proposed UML tool allows the user to draw Class and Sequence diagrams and to specify the information needed for the automatic generation of the process oriented simulation model. The simulation program is generated in the Java programming language. The approach proposes an XML translation of the specified UML models, in order to store the information about the design and the simulation data in a structured way. The approach proposed by authors in [21] focus on real time systems, and proposes extensions of UML diagrams to express temporal requirements and resource usage. The extension is based on the use of stereotypes, tagged values and stereotyped constraints. SAs are specified using the extended UML diagrams without restrictions on the type of diagrams to be used. Then these UML diagram are used as input for the automatic generation of the corresponding simulation models in OPNET. They also define a middleware model for scheduling analysis. The simulation model is defined by instantiating with the application information the generic models that represent the various UML metaclasses. The approach generates submodels for each application element and combines them into a unique simulation model of the UML application. The approach provides also a feedback mechanism: after the model has been analyzed and simulated,

6 911 some results are included in the tagged values. This constitutes a relevant feature, which ease the SA designer in obtaining feedback from the performance evaluation results. 7. Future Difficulties The abstractions provided by performance models are valuable, but some way must be found to create the models more easily and more quickly. For performance models made early in the lifecycle from specified scenarios, automated model-building has been demonstrated and is supported by the UML profiles. The future challenge is to handle every scenario that a software engineer may need to describe, and every way that engineer can express them (including the implied scenario behavior of object call hierarchies, and the composition of models from component designs). The multiplicity of model formats hinders tool development, and would be aided by standards for performance model representations. Interoperability of performance building tools with standard UML tools is also helpful. For instance, the PUMA architecture[20] shown in Figure 7 supports the generation of different kinds of performance models (queueing networks, layered queueing networks, Petri nets, etc.) from different versions of UML (e.g., 1.4 and 2.0) and different behavioral representations (sequence and activity diagrams). PUMA also provides a feedback path for design analysis and optimization. Mid and late-cycle performance models should be extracted from prototypes and implementations. Tracebased automated modeling has been described in [20][21], including calibrated CPU demands for operations [22]. Future research can enhance this with use of additional instrumentation (e.g. CPU demands, code context), efficient processing, and perhaps exploit different levels of abstraction. Abstraction from traces exploits certain patterns in the trace, and domain-based assumptions; these can be extended in future research. A prime goal of future work is automatic performance optimization of architecture, design and run-time configuration. We see optimization as an extension of tuning, to include more fundamental changes to the system. A first approach uses methods, not yet well worked out, to optimize design decisions represented in performance models. Manual search within this approach is described in [22] and [20]. An evolutionary approach could apply automated search techniques to models derived from the specification, with results fed back into the UML. Alternatively the search could be carried out on the UML design, with evaluation by models. The design can be parameterized, so optimization can be applied to the parameter values. A second constructive approach is to begin from the requirements in the form of scenarios, and proceed to optimally cluster operations and data into objects and concurrent processes, also selecting communications patterns subject to various constraints (such as mutual exclusion). Both approaches can be adapted to reuse of component and platform services with known properties, applying optimization to the transformation steps which add these features. In both cases also there are design decisions (such as storage mapping) that are below the level of abstraction in the model, which will perhaps be evaluated and optimized by running small measurement experiments on prototypes, or by applying general rules based on the context. Both approaches also require some way to provide defaults for the configuration decisions discussed next, since performance can only be evaluated for a complete system. Configuration decisions are applied at load and run time to adapt the software to its workload, platform and environment. Examples of decisions needing optimization include replication levels of servers and data [15], allocation of distributed processes to processors [12], to priorities [15]. Further candidates include buffer and thread pools [13], middleware parameters [20], and virtual machine parameters. The future is expected to include systematic and efficient optimization approaches covering all these problems. For complex products, optimization problems yet to be solved include selection of alternative components from a product line, and selection of their configuration parameters and installation parameters. In [10] is presented an experimental methodology to evaluate the statistical significance of configurable parameters in e-commerce systems. Measurements are used to identify key configuration parameters that have a strong impact on performance, which are ranked in order of relevance. The impact of various parameters on the types of requests submitted to the site is also analyzed. A different experimental approach to detect performance degradation in software systems with large configuration spaces is proposed in [14]. Formally designed experiments, called screening designs, are run with the goal of identifying important performance effects caused by the simultaneous interaction of n configuration parameters (n = 1,2,...). The conclusion was that screening designs can correctly identify important options used to produce reliable performance estimates across the entire configuration space, at a fraction of the cost of exhaustive testing. In general, such experimental methods require a lot of computing power, so heuristics may be necessary to select the most promising experiments. Agile Programming is becoming a mainstream approach to development, in which very frequent releases are made with small increments in function. Ancillary documents tend to be ignored, to concentrate on code. Quality control in agile programming is a current issue, for instance the role of test cases, and performance engineering fits into this concern. Performance specifications may not even be known for each incremental release. Given the importance of performance to final products, a way must be found to do SPE in agile development, as discussed in [11]. This can be through test procedures or through models based on suitable design documents (e.g. based on Agile Modeling, e.g. [14]), or on test executions. A Performance Knowledge Base may be welladapted to agile development, because it can be driven from the code (through tests and automatically generated models) and it accumulates history that is useful. Design for Evaluation, Predictability and Adaptation: Progress can be expected in software design ideas that make it easier to evaluate and manage performance, something like design for testability. A framework called PACC, Predictive Assembly from Certifiable Components [17], addresses the predictability of properties (including performance) of systems built from

7 912 components, applied to real-time system assembly. It shows that some properties of some kinds of components can be predicted with certainty. This is a question with wide practical resonance. Adaptive or autonomic systems make performance engineering decisions on the fly, by optimizing the configuration of a running system. Software design for adaptation must include reflective capabilities to monitor its performance, strategies for adaptation, and handles on the system for effecting the necessary changes. Design considerations in adaptive computing are considered in [12]. Some strategies for adaptation are based on simple rules and simply modify provisioning of processors, but others use performance models as a basis for decisions [1]. Since the system may be changing, the use of models and tracking of model parameters for autonomic control was addressed in [11]. These models can be derived during development. Integration with other evaluations: Other nonfunctional properties of software systems may also be evaluated from design documents, and it is natural to look ahead to integrating them with performance evaluation. For example security mechanisms often have a heavy performance penalty, and a joint evaluation would support a tradeoff between security effectiveness and performance cost. Reliability/availability concerns have long been integrated with performance analysis in performability modeling (e.g. [22]), for similar reasons. Ensuring system performance over the life of the software brings in concerns which are usually thought of as capacity planning, deployment or configuration, and management. The boundaries are not sharp, for instance capacity planning affects requirements for the software, and configuration must be considered in evaluation as described just above. Scalability: this is a complex issue that rests heavily on performance limitations and bottlenecks. Research into scalable design approaches and patterns would be fruitful for the field. 8. Conclusion IMPACT is a performance plug-in that makes use of the modeling capabilities of the Papyrus tool and the relational QVT model transformation implementation of mediniqvt to produce an LQN performance model of a MARTE annotated UML design. The tool is based on the Eclipse environment and Eclipce Modeling Framework. The LQN model produced is in XML format suitable for input to the LQNS analytical model solver, which in turn generates the performance information required. The major challenge is to develop a comprehensive and robust set of transformation rules that makes use of the performance information provided through the stereotypes of the Performance Analysis sub-profile of MARTE. As a future step, the IMPACT tool can be further enhanced to make use of advanced features provided by MARTE like performance analysis contexts with varying workload distributions or resource platforms. The tool has been tested on a reasonable power development station on small size simple case models. In order to validate its operation, the tool is still to be tested on more complex case studies to evaluate the performance information produced. More work also needs to be done in the area of results feedback. Reverse relational QVT transformations need to be executed to integrate the generated performance information back where they belong on the UML design and provide the user with more detailed feedback about the system s performance profile. 9. References [1] C.M. Woodside, Tutorial Introduction to Layered Modeling of Software Performance - Edition 3.0, Department of Systems and Computer Engineering, Carleton University, Ottawa (Canada), May [2] Cortellessa, V., Di Marco, A., and Inverardi, P Software performance model-driven architecture. In Proceedings of the 2006 ACM Symposium on Applied Computing (Dijon, France, April 23-27, 2006). SAC '06. ACM, New York, NY, DOI= [3] D Ambrogio A.: A Model Transformation Framework for the Automated Building of Performance Models from UML Models. In Proceeding of ACM Workshop on Software and Performance. (2005) [4] Eclipse Modeling Framework (EMF) Project: [5] The French Commission of Atomic Energy - Lab of applied research on software-intensive technologies. [6] Gu, G. P. and Petriu, D. C XSLT transformation from UML models to LQN performance models. In Proceedings of the 3rd international Workshop on Software and Performance (Rome, Italy, July 24-26, 2002). WOSP '02. ACM, New York, NY, DOI= [7] J.A. Rolia, K.C. Sevcik, The Method of Layers, IEEE Transactions on Software Engineering, 21(8): , August [8] The Layered Queuing Network Solver software package. RADS research group, Carleton University, Ottawa (Canada). [9] The medini QVT tool official website: [10] Object Management Group (OMG): [11] The official OMG MARTE website: [12] OMG. Meta Object Facility (MOF) 2.0 Query/View/Transformation (QVT).Version 1.0, formal/ , April [13] OMG. Model Driven Architecture guide. Version 1.0.1, omg/ , June 2003.

8 913 [14] OMG. UML Profile for Modeling and Analysis of Real-time and Embedded Systems (MARTE). Version 1.0 Beta2, formal/ , June [15] OMG. UML Profile for Schedulability, Performance, and Time Specification. Version 1.0, formal/ , September [16] Papyrus UML open source tool for graphical UML2 modeling: [17] Petriu D.., Woodside M: A Metamodel for Generating Performance Models from UML Designs, Proc. of UML Conference, LNCS 3273, pp (2004) [18] Petriu D.., Woodside M: An intermediate metamodel with scenarios and resources for generating performance models from UML designs [19] Ramrao, W.: Transformation of uml design model into performance model: A model driven framework. In ECOOP Student Workshop (2006) [20] Real-Time and Distributed Systems Group, Department of Systems and Computer Engineering, Carleton University, Ottawa (Canada). [21] Simonetta Balsamo, Antinisca Di Marco, Paola Inverardi, Marta Simeoni, "Model-Based Performance Figure 4. QVT Operational transformation Prediction in Software Development: A Survey," IEEE Transactions on Software Engineering, vol. 30, no. 5, pp , May, [22] SmartQVT - An open source model transformation tool implementing the MOF 2.0 QVT-Operational language. Figure 7: The Architecture of the PUMA Toolset Figure 2. IMPACT System Architecture

9 914 Webthreads Webserver AppHost DBHost database [dbthreads] htmlreq 4.5 ms dbreq 12.4 ms Arrivals at 58.8/sec (1.3) Generated by lqns, version 3.10 Figure 5. Equivalent Layered Queuing model Copyright the Real-Time and Distributed Systems Group, Department of Systems and Computer Engineering Carleton University, Ottawa, Ontario, Canada. K1S 5B6 Convergence test value: e-006 Number of iterations: 5 MVA solver information: Submdl n k srv step() mean stddev wait() mean stddev Total Elapsed: 0:00: Type 1 throughput bounds: Task Name Entry Name Throughput Users users webserver htmlreq database dbreq Mean delay for a rendezvous: Task Name Source Entry Target Entry Phase 1 Users users htmlreq 0 webserver htmlreq dbreq 0 Service times: Task Name Entry Name Phase 1 Users users webserver htmlreq 26.12

10 915 database dbreq 12.4 Service time variance (per phase) and squared coefficient of variation (over all phases): Task Name Entry Name Phase 1 coeff of var **2 Users users 2.315e webserver htmlreq database dbreq Throughputs and utilizations per phase: Task Name Entry Name Throughput Phase 1 Total Users users webserver htmlreq database dbreq Utilization and waiting per phase for processor: AppHost Task Name Pri n Entry Name Utilization Ph1 wait webserver 0 80 htmlreq Utilization and waiting per phase for processor: DBHost Task Name Pri n Entry Name Utilization Ph1 wait database 0 5 dbreq Figure 6. The LQN solver output

Integrating Performance Characterization with Software Development

Integrating Performance Characterization with Software Development International Journal of Basic & Applied Sciences IJBAS-IJENS Vol: 11 No: 02 7 Integrating Performance Characterization with Software Development Abstract- The importance of integrating performance considerations

More information

The Future of Software Performance Engineering

The Future of Software Performance Engineering The Future of Software Engineering Murray Woodside, Greg Franks, Dorina C. Petriu Carleton University, Ottawa, Canada. {cmw greg petriu}@sce.carleton.ca Abstract is a pervasive quality of software systems;

More information

A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems

A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems Vincenzo Grassi Università di Roma Tor Vergata, Italy Raffaela Mirandola {vgrassi, mirandola}@info.uniroma2.it Abstract.

More information

Online Performance Prediction with Architecture-Level Performance Models

Online Performance Prediction with Architecture-Level Performance Models Online Performance Prediction with Architecture-Level Performance Models Fabian Brosig Karlsruhe Institute of Technology, Germany fabian.brosig@kit.edu Abstract: Today s enterprise systems based on increasingly

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

KLAPER: an Intermediate Language for Model-Driven Predictive Analysis of Performance and Reliability

KLAPER: an Intermediate Language for Model-Driven Predictive Analysis of Performance and Reliability KLAPER: an Intermediate Language for Model-Driven Predictive Analysis of Performance and Reliability Vincenzo Grassi Dipartimento di Informatica, Sistemi e Produzione, Università di Roma Tor Vergata Raffaela

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

How To Predict Performance From A Network Model In Unminer (Uml)

How To Predict Performance From A Network Model In Unminer (Uml) Performance Evaluation of UML Software Architectures with Multiclass Queueing Network Models Simonetta Balsamo Moreno Marzolla Dipartimento di Informatica, Università Ca Foscari di Venezia via Torino 155

More information

Propagation of Incremental Changes to Performance Model due to SOA Design Pattern Application

Propagation of Incremental Changes to Performance Model due to SOA Design Pattern Application Propagation of Incremental Changes to Performance Model due to SOA Design Pattern Application Nariman Mani, Dorina C. Petriu, Murray Woodside Carleton University Department of Systems and Computer Engineering

More information

Programma della seconda parte del corso

Programma della seconda parte del corso Programma della seconda parte del corso Introduction Reliability Performance Risk Software Performance Engineering Layered Queueing Models Stochastic Petri Nets New trends in software modeling: Metamodeling,

More information

Layered Queuing networks for simulating Enterprise Resource Planning systems

Layered Queuing networks for simulating Enterprise Resource Planning systems Layered Queuing networks for simulating Enterprise Resource Planning systems Stephan Gradl, André Bögelsack, Holger Wittges, Helmut Krcmar Technische Universitaet Muenchen {gradl, boegelsa, wittges, krcmar}@in.tum.de

More information

Towards Studying the Performance Effects of Design Patterns for Service Oriented Architecture

Towards Studying the Performance Effects of Design Patterns for Service Oriented Architecture Towards Studying the Performance Effects of Design Patterns for Oriented Architecture Nariman Mani, Dorina C. Petriu, Murray Woodside Carleton University Department of Systems and Computer Engineering

More information

Software Performance Evaluation Utilizing UML Specification and SRN Model and Their Formal Representation

Software Performance Evaluation Utilizing UML Specification and SRN Model and Their Formal Representation Software Performance Evaluation Utilizing UML Specification and SRN Model and Their Formal Representation Razib Hayat Khan*, Poul E. Heegaard Norwegian University of Science & Technology (NTNU), Trondheim,

More information

Performance Validation at Early Stages of Software Development

Performance Validation at Early Stages of Software Development Performance Validation at Early Stages of Software Development Connie U. Smith*, Murray Woodside** *Performance Engineering Services, Santa Fe, USA (www.perfeng.com) ** Carleton University, Ottawa K1S

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

Applying 4+1 View Architecture with UML 2. White Paper

Applying 4+1 View Architecture with UML 2. White Paper Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was

More information

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development * for Domain-Specific Software Development * Hiroshi Wada Advisor: Junichi Suzuki Department of Computer Science University of Massachusetts, Boston hiroshi_wada@otij.org and jxs@cs.umb.edu Abstract. This

More information

VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS

VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS Ashraf A. Shahin 1, 2 1 College of Computer and Information Sciences, Al Imam Mohammad Ibn Saud Islamic University (IMSIU) Riyadh, Kingdom of Saudi

More information

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems SOFT 437 Software Performance Analysis Ch 5:Web Applications and Other Distributed Systems Outline Overview of Web applications, distributed object technologies, and the important considerations for SPE

More information

A Framework of Model-Driven Web Application Testing

A Framework of Model-Driven Web Application Testing A Framework of Model-Driven Web Application Testing Nuo Li, Qin-qin Ma, Ji Wu, Mao-zhong Jin, Chao Liu Software Engineering Institute, School of Computer Science and Engineering, Beihang University, China

More information

Methodology of performance evaluation of integrated service systems with timeout control scheme

Methodology of performance evaluation of integrated service systems with timeout control scheme Methodology of performance evaluation of integrated service systems with timeout control scheme Akira Kawaguchi and Hiroshi Yamada NTT Service Integration Laboratories, NTT Corporation 9-11, Midori-cho

More information

Towards Online Performance Model Extraction in Virtualized Environments

Towards Online Performance Model Extraction in Virtualized Environments Towards Online Performance Model Extraction in Virtualized Environments Simon Spinner 1, Samuel Kounev 1, Xiaoyun Zhu 2, and Mustafa Uysal 2 1 Karlsruhe Institute of Technology (KIT) {simon.spinner,kounev}@kit.edu

More information

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Model Driven Interoperability through Semantic Annotations using SoaML and ODM Model Driven Interoperability through Semantic Annotations using SoaML and ODM JiuCheng Xu*, ZhaoYang Bai*, Arne J.Berre*, Odd Christer Brovig** *SINTEF, Pb. 124 Blindern, NO-0314 Oslo, Norway (e-mail:

More information

Tool Support for Model Checking of Web application designs *

Tool Support for Model Checking of Web application designs * Tool Support for Model Checking of Web application designs * Marco Brambilla 1, Jordi Cabot 2 and Nathalie Moreno 3 1 Dipartimento di Elettronica e Informazione, Politecnico di Milano Piazza L. Da Vinci,

More information

Requirements engineering

Requirements engineering Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and

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

Model-Driven Performance Evaluation of Web Application Portals

Model-Driven Performance Evaluation of Web Application Portals Model-Driven Performance Evaluation of Web Application Portals Introduction Nilabja Roy and Douglas C. Schmidt Institute for Software Integrated Systems Vanderbilt University Nashville, TN 37203, USA {nilabjar,

More information

Performance Evaluation of Component-based Software Systems: A Survey

Performance Evaluation of Component-based Software Systems: A Survey Performance Evaluation of -based Software Systems: A Survey Heiko Koziolek,a a ABB Corporate Research, Industrial Software Systems, Wallstadter Str. 59, 68526 Ladenburg, Germany Abstract Performance prediction

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

Integrated Tools for Performance-Oriented Distributed Software Development

Integrated Tools for Performance-Oriented Distributed Software Development Integrated Tools for Performance-Oriented Distributed Software Development N. Mazzocca DII, Seconda Università di Napoli via Roma 29 81031 Aversa (CE), Italy +39-081-5010333 n.mazzocca@unina.it E. Mancini

More information

Software Engineering Reference Framework

Software Engineering Reference Framework Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of

More information

PerfCenterLite: Extrapolating Load Test Results for Performance Prediction of Multi-Tier Applications

PerfCenterLite: Extrapolating Load Test Results for Performance Prediction of Multi-Tier Applications PerfCenterLite: Extrapolating Load Test Results for Performance Prediction of Multi-Tier Applications Varsha Apte Nadeesh T. V. Department of Computer Science and Engineering Indian Institute of Technology

More information

Development of Tool Extensions with MOFLON

Development of Tool Extensions with MOFLON Development of Tool Extensions with MOFLON Ingo Weisemöller, Felix Klar, and Andy Schürr Fachgebiet Echtzeitsysteme Technische Universität Darmstadt D-64283 Darmstadt, Germany {weisemoeller klar schuerr}@es.tu-darmstadt.de

More information

MDE Adoption in Industry: Challenges and Success Criteria

MDE Adoption in Industry: Challenges and Success Criteria MDE Adoption in Industry: Challenges and Success Criteria Parastoo Mohagheghi 1, Miguel A. Fernandez 2, Juan A. Martell 2, Mathias Fritzsche 3 and Wasif Gilani 3 1 SINTEF, P.O.Box 124-Blindern, N-0314

More information

School of Computer Science

School of Computer Science School of Computer Science Computer Science - Honours Level - 2014/15 October 2014 General degree students wishing to enter 3000- level modules and non- graduating students wishing to enter 3000- level

More information

Developing in the MDA Object Management Group Page 1

Developing in the MDA Object Management Group Page 1 Developing in OMG s New -Driven Architecture Jon Siegel Director, Technology Transfer Object Management Group In this paper, we re going to describe the application development process supported by OMG

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

Towards Collaborative Requirements Engineering Tool for ERP product customization

Towards Collaborative Requirements Engineering Tool for ERP product customization Towards Collaborative Requirements Engineering Tool for ERP product customization Boban Celebic, Ruth Breu, Michael Felderer, Florian Häser Institute of Computer Science, University of Innsbruck 6020 Innsbruck,

More information

Performance Evaluation for Software Migration

Performance Evaluation for Software Migration Performance Evaluation for Software Migration Issam Al-Azzoni INRIA, France Issam.Al-Azzoni@imag.fr ABSTRACT Advances in technology and economical pressure have forced many organizations to consider the

More information

A Model-driven Framework for Managing the QoS of Collaborative P2P Service-based Applications

A Model-driven Framework for Managing the QoS of Collaborative P2P Service-based Applications A Model-driven Framework for Managing the QoS of Collaborative P2P Service-based Applications Michele Angelaccio, Andrea D Ambrogio Dept. of Computer Science S&P University of Roma TorVergata, Roma (Italy)

More information

Converting UML Description of Software Architecture to Stochastic Process Algebra and Performance Evaluation

Converting UML Description of Software Architecture to Stochastic Process Algebra and Performance Evaluation Converting UML Description of Software Architecture to Stochastic Process Algebra and Performance Evaluation Abstract Rahmat Zolfaghari Islamic Azad University, Hashtgerd Branch, Department of Computer

More information

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems 1 2 Model-Based Development of -Critical Systems Miguel A. de Miguel 5/6,, 2006 modeling Stakes 3 Context 4 To increase the industrial competitiveness in the domain of software systems To face the growing

More information

Analytics for Performance Optimization of BPMN2.0 Business Processes

Analytics for Performance Optimization of BPMN2.0 Business Processes Analytics for Performance Optimization of BPMN2.0 Business Processes Robert M. Shapiro, Global 360, USA Hartmann Genrich, GMD (retired), Germany INTRODUCTION We describe a new approach to process improvement

More information

Generating Aspect Code from UML Models

Generating Aspect Code from UML Models Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany Iris.Groher@fh-hagenberg.at Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,

More information

Service Oriented Architectures

Service Oriented Architectures 8 Service Oriented Architectures Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ The context for SOA A bit of history

More information

Service Operation Impedance and its role in projecting some key features in Service Contracts

Service Operation Impedance and its role in projecting some key features in Service Contracts Service Operation Impedance and its role in projecting some key features in Service Contracts Sid Kargupta 1 and Sue Black 2 1 EMC Consulting, EMC, Southwark Bridge Road, London SE1 9EU, UK sid.kargupta@emc.com

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

SERVICE ORIENTED AND MODEL-DRIVEN DEVELOPMENT METHODS OF INFORMATION SYSTEMS

SERVICE ORIENTED AND MODEL-DRIVEN DEVELOPMENT METHODS OF INFORMATION SYSTEMS 7th International DAAAM Baltic Conference INDUSTRIAL ENGINEERING 22-24 April 2010, Tallinn, Estonia SERVICE ORIENTED AND MODEL-DRIVEN DEVELOPMENT METHODS OF INFORMATION SYSTEMS Lemmik, R.; Karjust, K.;

More information

MDA Transformations Applied to Web Application Development 1

MDA Transformations Applied to Web Application Development 1 MDA Transformations Applied to Web Application Development 1 Santiago Meliá 1, Andreas Kraus 2, and Nora Koch 2, 3 1 Universidad de Alicante, Spain 2 Ludwig-Maximilians-Universität München, Germany 3 F.A.S.T

More information

UML-based Test Generation and Execution

UML-based Test Generation and Execution UML-based Test Generation and Execution Jean Hartmann, Marlon Vieira, Herb Foster, Axel Ruder Siemens Corporate Research, Inc. 755 College Road East Princeton NJ 08540, USA jeanhartmann@siemens.com ABSTRACT

More information

Using UML Part Two Behavioral Modeling Diagrams

Using UML Part Two Behavioral Modeling Diagrams UML Tutorials Using UML Part Two Behavioral Modeling Diagrams by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page 1 Trademarks Object Management Group, OMG, Unified Modeling Language,

More information

Software Performance and Scalability

Software Performance and Scalability Software Performance and Scalability A Quantitative Approach Henry H. Liu ^ IEEE )computer society WILEY A JOHN WILEY & SONS, INC., PUBLICATION Contents PREFACE ACKNOWLEDGMENTS xv xxi Introduction 1 Performance

More information

1.. This UI allows the performance of the business process, for instance, on an ecommerce system buy a book.

1.. This UI allows the performance of the business process, for instance, on an ecommerce system buy a book. * ** Today s organization increasingly prompted to integrate their business processes and to automate the largest portion possible of them. A common term used to reflect the automation of these processes

More information

The Vicious Cycle of Computer Systems Performance and IT Operational Costs

The Vicious Cycle of Computer Systems Performance and IT Operational Costs The Vicious Cycle of Computer Systems Performance and IT Operational Costs Dominique A. Heger, Phil Carinhas, Fortuitous Technologies, Austin, TX, [dom,pac]@fortuitous.com Abstract In today s parallel,

More information

Meta-Model specification V2 D602.012

Meta-Model specification V2 D602.012 PROPRIETARY RIGHTS STATEMENT THIS DOCUMENT CONTAINS INFORMATION, WHICH IS PROPRIETARY TO THE CRYSTAL CONSORTIUM. NEITHER THIS DOCUMENT NOR THE INFORMATION CONTAINED HEREIN SHALL BE USED, DUPLICATED OR

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

Stream Processing on GPUs Using Distributed Multimedia Middleware

Stream Processing on GPUs Using Distributed Multimedia Middleware Stream Processing on GPUs Using Distributed Multimedia Middleware Michael Repplinger 1,2, and Philipp Slusallek 1,2 1 Computer Graphics Lab, Saarland University, Saarbrücken, Germany 2 German Research

More information

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

secure intelligence collection and assessment system Your business technologists. Powering progress secure intelligence collection and assessment system Your business technologists. Powering progress The decisive advantage for intelligence services The rising mass of data items from multiple sources

More information

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins Rushiraj Heshi Department of Computer Science and Engineering Walchand College of Engineering, Sangli Smriti

More information

Towards Integrating Modeling and Programming Languages: The Case of UML and Java

Towards Integrating Modeling and Programming Languages: The Case of UML and Java Towards Integrating Modeling and Programming Languages: The Case of UML and Java Patrick Neubauer, Tanja Mayerhofer, and Gerti Kappel Business Informatics Group, Vienna University of Technology, Austria

More information

.:!II PACKARD. Performance Evaluation ofa Distributed Application Performance Monitor

.:!II PACKARD. Performance Evaluation ofa Distributed Application Performance Monitor r~3 HEWLETT.:!II PACKARD Performance Evaluation ofa Distributed Application Performance Monitor Richard J. Friedrich, Jerome A. Rolia* Broadband Information Systems Laboratory HPL-95-137 December, 1995

More information

Transforming PICTURE to BPMN 2.0 as Part of the Model-driven Development of Electronic Government Systems

Transforming PICTURE to BPMN 2.0 as Part of the Model-driven Development of Electronic Government Systems Heitkötter, Henning, Transforming PICTURE to BPMN 2.0 as Part of the Model-Driven Development of Electronic Government Systems, 44th Hawaii International Conference on System Sciences (HICSS), pp. 1 10,

More information

WebSphere Business Modeler

WebSphere Business Modeler Discovering the Value of SOA WebSphere Process Integration WebSphere Business Modeler Workshop SOA on your terms and our expertise Soudabeh Javadi Consulting Technical Sales Support WebSphere Process Integration

More information

The Role of Computers in Synchronous Collaborative Design

The Role of Computers in Synchronous Collaborative Design The Role of Computers in Synchronous Collaborative Design Wassim M. Jabi, The University of Michigan Theodore W. Hall, Chinese University of Hong Kong Abstract In this paper we discuss the role of computers

More information

Layered Dependability Modeling of an Air Traffic Control System

Layered Dependability Modeling of an Air Traffic Control System Layered Dependability Modeling of an Air Traffic Control System Olivia Das, C. Murray Woodside Dept. of Systems and Computer Engineering, Carleton University, Ottawa, Canada email: odas@sce.carleton.ca,

More information

Chap 1. Introduction to Software Architecture

Chap 1. Introduction to Software Architecture Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)

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

CS556 Course Project Performance Analysis of M-NET using GSPN

CS556 Course Project Performance Analysis of M-NET using GSPN Performance Analysis of M-NET using GSPN CS6 Course Project Jinchun Xia Jul 9 CS6 Course Project Performance Analysis of M-NET using GSPN Jinchun Xia. Introduction Performance is a crucial factor in software

More information

Software Architecture

Software Architecture Cairo University Faculty of Computers and Information Computer Science Department Premasters Studies Software Architecture Report on Software Product Line Submitted to: Dr. Hany Ammar Submitted by: Hadeel

More information

Masters in Human Computer Interaction

Masters in Human Computer Interaction Masters in Human Computer Interaction Programme Requirements Taught Element, and PG Diploma in Human Computer Interaction: 120 credits: IS5101 CS5001 CS5040 CS5041 CS5042 or CS5044 up to 30 credits from

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

Towards Flexible Business Process Modeling and Implementation: Combining Domain Specific Modeling Languages and Pattern-based Transformations

Towards Flexible Business Process Modeling and Implementation: Combining Domain Specific Modeling Languages and Pattern-based Transformations Towards Flexible Business Process Modeling and Implementation: Combining Domain Specific Modeling Languages and Pattern-based Transformations Steen Brahe 1 and Behzad Bordbar 2 1 Danske Bank and IT University

More information

Deriving Performance Requirements and Test Cases with the Performance Refinement and Evolution Model (PREM)

Deriving Performance Requirements and Test Cases with the Performance Refinement and Evolution Model (PREM) Deriving Performance Requirements and Test Cases with the Performance Refinement and Evolution Model (PREM) Chih-Wei Ho Dept. of Computer Science, North Carolina State Univ. 890 Oval Drive, Campus Box

More information

Project VIDE Challenges of Executable Modelling of Business Applications

Project VIDE Challenges of Executable Modelling of Business Applications Project VIDE Challenges of Executable Modelling of Business Applications Radoslaw Adamus *, Grzegorz Falda *, Piotr Habela *, Krzysztof Kaczmarski #*, Krzysztof Stencel *+, Kazimierz Subieta * * Polish-Japanese

More information

New Challenges for Performance Engineers:

New Challenges for Performance Engineers: New Challenges for Performance Engineers: Analyzing On-line Services Varsha Apte Associate Prof., IIT-Bombay. (Part of the work was jointly done with: Mohit Gupta, TCS) Outline Motivation Product performance

More information

Masters in Artificial Intelligence

Masters in Artificial Intelligence Masters in Artificial Intelligence Programme Requirements Taught Element, and PG Diploma in Artificial Intelligence: 120 credits: IS5101 CS5001 CS5010 CS5011 CS4402 or CS5012 in total, up to 30 credits

More information

SysML Modelling Language explained

SysML Modelling Language explained Date: 7 th October 2010 Author: Guillaume FINANCE, Objet Direct Analyst & Consultant UML, the standard modelling language used in the field of software engineering, has been tailored to define a modelling

More information

Multi-objective Design Space Exploration based on UML

Multi-objective Design Space Exploration based on UML Multi-objective Design Space Exploration based on UML Marcio F. da S. Oliveira, Eduardo W. Brião, Francisco A. Nascimento, Instituto de Informática, Universidade Federal do Rio Grande do Sul (UFRGS), Brazil

More information

Integrated Development of Distributed Real-Time Applications with Asynchronous Communication

Integrated Development of Distributed Real-Time Applications with Asynchronous Communication Integrated Development of Distributed Real-Time Applications with Asynchronous Communication Marc Schanne International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES) 26-28 September

More information

WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT

WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT CONTENTS 1. THE NEED FOR DATA GOVERNANCE... 2 2. DATA GOVERNANCE... 2 2.1. Definition... 2 2.2. Responsibilities... 3 3. ACTIVITIES... 6 4. THE

More information

Co-Creation of Models and Metamodels for Enterprise. Architecture Projects.

Co-Creation of Models and Metamodels for Enterprise. Architecture Projects. Co-Creation of Models and Metamodels for Enterprise Architecture Projects Paola Gómez pa.gomez398@uniandes.edu.co Hector Florez ha.florez39@uniandes.edu.co ABSTRACT The linguistic conformance and the ontological

More information

Developing SOA solutions using IBM SOA Foundation

Developing SOA solutions using IBM SOA Foundation Developing SOA solutions using IBM SOA Foundation Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 4.0.3 Unit objectives After completing this

More information

Jairson Vitorino. PhD Thesis, CIn-UFPE February 2009. Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations

Jairson Vitorino. PhD Thesis, CIn-UFPE February 2009. Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations CHROME: A Model-Driven Component- Based Rule Engine Jairson Vitorino PhD Thesis, CIn-UFPE February 2009 Supervisor: Prof. Jacques Robin Ontologies Reasoning Components Agents Simulations Contents 1. Context

More information

Self-Aware Software and Systems Engineering: A Vision and Research Roadmap

Self-Aware Software and Systems Engineering: A Vision and Research Roadmap Self-Aware Software and Engineering: A Vision and Research Roadmap Samuel Kounev Institute for Program Structures and Data Organization (IPD) Karlsruhe Institute of Technology (KIT) 76131 Karlsruhe, Germany

More information

Karunya University Dept. of Information Technology

Karunya University Dept. of Information Technology PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main

More information

Exploring SOA Pattern Performance using Coupled Transformations and Performance Models

Exploring SOA Pattern Performance using Coupled Transformations and Performance Models Exploring SOA Pattern Performance using Coupled s and Performance Models Nariman Mani, Dorina C. Petriu, Murray Woodside Department of Systems and Computer Engineering, Carleton University Ottawa, Ontario,

More information

Model-based Feedback for Software Performance Improvement

Model-based Feedback for Software Performance Improvement Model-based Feedback for Software Performance Improvement Dipartimento di Informatica Università degli studi di L Aquila PhD student Catia Trubiani catia.trubiani@univaq.it Advisor Vittorio Cortellessa

More information

A Process Model for Software Architecture

A Process Model for Software Architecture 272 A Process Model for Software A. Rama Mohan Reddy Associate Professor Dr. P Govindarajulu Professor Dr. M M Naidu Professor Department of Computer Science and Engineering Sri Venkateswara University

More information

Performance Modeling and Analysis of a Database Server with Write-Heavy Workload

Performance Modeling and Analysis of a Database Server with Write-Heavy Workload Performance Modeling and Analysis of a Database Server with Write-Heavy Workload Manfred Dellkrantz, Maria Kihl 2, and Anders Robertsson Department of Automatic Control, Lund University 2 Department of

More information

Performance Prediction for Software Architectures

Performance Prediction for Software Architectures Performance Prediction for Software Architectures Evgeni Eskenazi, Alexandre Fioukov, Dieter K. Hammer Department of Mathematics and Computing Science, Eindhoven University of Technology, Postbox 513,

More information

Survey on Models to Investigate Data Center Performance and QoS in Cloud Computing Infrastructure

Survey on Models to Investigate Data Center Performance and QoS in Cloud Computing Infrastructure Survey on Models to Investigate Data Center Performance and QoS in Cloud Computing Infrastructure Chandrakala Department of Computer Science and Engineering Srinivas School of Engineering, Mukka Mangalore,

More information

Enhancement of Development Technologies for Agent- Based Software Engineering

Enhancement of Development Technologies for Agent- Based Software Engineering Enhancement of Development Technologies for Agent- Based Software Engineering Andre Karpištšenko Tallinn Technical University, Ehitajate tee 5 19086 Tallinn, Estonia andre@lap.ee Abstract. Current trends

More information

UML based performance modeling of object-oriented distributed systems

UML based performance modeling of object-oriented distributed systems UML based performance modeling of object-oriented distributed systems Pekka Kähkipuro Department of Computer Science, University of Helsinki P.O. Box 26 (Teollisuuskatu 23), FIN-00014 University of Helsinki,

More information

An MDA Approach for the Development of Web applications

An MDA Approach for the Development of Web applications An MDA Approach for the Development of Web applications Santiago Meliá Beigbeder and Cristina Cachero Castro {santi,ccachero}@dlsi.ua.es Univesidad de Alicante, España Abstract. The continuous advances

More information

Challenges and Opportunities for formal specifications in Service Oriented Architectures

Challenges and Opportunities for formal specifications in Service Oriented Architectures ACSD ATPN Xi an China June 2008 Challenges and Opportunities for formal specifications in Service Oriented Architectures Gustavo Alonso Systems Group Department of Computer Science Swiss Federal Institute

More information

WebRatio 5: An Eclipse-based CASE tool for engineering Web applications

WebRatio 5: An Eclipse-based CASE tool for engineering Web applications WebRatio 5: An Eclipse-based CASE tool for engineering Web applications Roberto Acerbis 1, Aldo Bongio 1, Marco Brambilla 2, Stefano Butti 1 1 WebModels S.r.l. Piazzale Gerbetto, 6. I22100 Como, Italy

More information

Masters in Advanced Computer Science

Masters in Advanced Computer Science Masters in Advanced Computer Science Programme Requirements Taught Element, and PG Diploma in Advanced Computer Science: 120 credits: IS5101 CS5001 up to 30 credits from CS4100 - CS4450, subject to appropriate

More information

A Model-based Software Architecture for XML Data and Metadata Integration in Data Warehouse Systems

A Model-based Software Architecture for XML Data and Metadata Integration in Data Warehouse Systems Proceedings of the Postgraduate Annual Research Seminar 2005 68 A Model-based Software Architecture for XML and Metadata Integration in Warehouse Systems Abstract Wan Mohd Haffiz Mohd Nasir, Shamsul Sahibuddin

More information

COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters

COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters COMP5426 Parallel and Distributed Computing Distributed Systems: Client/Server and Clusters Client/Server Computing Client Client machines are generally single-user workstations providing a user-friendly

More information

Foundations of Model-Driven Software Engineering

Foundations of Model-Driven Software Engineering Model-Driven Software Engineering Foundations of Model-Driven Software Engineering Dr. Jochen Küster (jku@zurich.ibm.com) Contents Introduction to Models and Modeling Concepts of Model-Driven Software

More information