Results 1 - 10
of
11
Performance Analysis of a Software Design Using the UML Profile for Schedulability, Performance and Time
- in Proc. 13th International Conference on Modelling Techniques and Tools for Computer Performance Evaluation (TOOLS 03
, 2003
"... As software development cycles become shorter, it is more important to evaluate non-functional properties of a design, such as its performance (in the sense of response times, capacity and scalability). To assist users of UML (the Unified Modeling Language), a language extension called Profile fo ..."
Abstract
-
Cited by 11 (3 self)
- Add to MetaCart
As software development cycles become shorter, it is more important to evaluate non-functional properties of a design, such as its performance (in the sense of response times, capacity and scalability). To assist users of UML (the Unified Modeling Language), a language extension called Profile for Schedulability, Performance and Time has been adopted by OMG. This paper demonstrates the use of the profile to describe performance aspects of design, and to evaluate and evolve the design to deal with performance issues, based on a performance model in the form of a layered queueing network. The focus is on addressing different kinds of performance concerns, and interpreting the results into modifications to the design and to the planned run-time configuration.
Performance-related Completions for Software Specifications
, 2001
"... To evaluate a software specification for its performance potential, it is necessary to supply additional information, not required for functional specification. Examples range from the execution cost of operations and details of deployment, up to missing subsystems and layers. The term "completions" ..."
Abstract
-
Cited by 10 (2 self)
- Add to MetaCart
To evaluate a software specification for its performance potential, it is necessary to supply additional information, not required for functional specification. Examples range from the execution cost of operations and details of deployment, up to missing subsystems and layers. The term "completions" is used here to include all such additions, including annotations, component insertions, environment infrastructure, deployment, communication patterns, design refinements and scenario or design transformations which correspond to a given deployment style. Completions are related to the purpose of evaluation, so they are tailored to describing the performance at a suitable level of detail. Completions for evaluating other attributes such as reliability or security are also possible. The paper describes how completions are added to a specification regardless of the language used (provided that it describes the system behaviour as well as its structure), and experience with completions in Use Case Maps. General Terms Performance, Design, Reliability, Documentation. Keywords Performance prediction, software specification, generative design. 1.
Using Execution Trace Data to Improve Distributed Systems
, 2002
"... One of the most challenging problems facing today's software engineer is to understand and modify distributed systems. One reason is that... ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
One of the most challenging problems facing today's software engineer is to understand and modify distributed systems. One reason is that...
U.: Integrated tools for performanceoriented distributed software development
- In: Proc. SERP’03 Conference. Volume
"... DRAFT PAPER This paper presents an integrated set of tools for performance-oriented development of software targeted to distributed heterogeneous systems. Using these tools, software development is carried out through a friendly and handy graphical interface able to exploit the MetaPL notation syste ..."
Abstract
-
Cited by 6 (5 self)
- Add to MetaCart
DRAFT PAPER This paper presents an integrated set of tools for performance-oriented development of software targeted to distributed heterogeneous systems. Using these tools, software development is carried out through a friendly and handy graphical interface able to exploit the MetaPL notation system for software description and the HeSSE simulation environment for its performance evaluation. MetaPL is an XML-based language that allows the description and the analysis at different level of detail of programs written in any distributed programming language and run-time support. HeSSE is a simulation environment that makes it possible to predict parallel and distributed software performance even in the first steps of software development, when no actual code has yet been written. The paper shows how MetaPL and HeSSE, along with the relative tools, have been integrated in order to provide a flexible and general-purpose graphical development environment and presents an example of its use.
Performance evaluation of UML software architectures with multiclass Queueing Network models
- In WOSP ’05: Proc. of the 5th int. workshop on Soft. and Perf
, 2005
"... Software performance based on performance models can be applied at early phases of the software development cycle to characterize the quantitative behavior of software systems. We propose an approach based on queueing networks models for performance prediction of software systems at the software arc ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
Software performance based on performance models can be applied at early phases of the software development cycle to characterize the quantitative behavior of software systems. We propose an approach based on queueing networks models for performance prediction of software systems at the software architecture level, specified by UML. Starting from annotated UML Use Case, Activity and Deployment diagrams we derive a performance models based on multichain and multiclass Queueing Networks (QN). The UML model is annotated according to the UML Profile for Schedulability, Performance and Time Specification. The proposed algorithm translates the annotated UML specification into QN performance models, which can then be analyzed using standard solution techniques. Performance results are reported back at the software architecture level in the UML diagrams. As our approach can be fully automated and uses standard UML annotations, it can be integrated with other performance modeling approaches. Specifically, we discuss how this QN-based approach can be integrated with an existing simulation-based performance modeling tool.
A Framework For Automated Performance Engineering of Distributed Real-Time Systems
, 1999
"... Software Performance Engineering (SPE) is a systematic approach that uses performance models to assess requirements, design and hardware alternatives, starting early in the life-cycle while a wide range of options exists, and continuing through the life-cycle. Despite documented successes of SPE it ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Software Performance Engineering (SPE) is a systematic approach that uses performance models to assess requirements, design and hardware alternatives, starting early in the life-cycle while a wide range of options exists, and continuing through the life-cycle. Despite documented successes of SPE it still faces technical barriers that hinder its widespread use. The first barrier is, that modeling often has a prohibitive cost in time and effort. The second barrier is, that analyzing model results to diagnose problems and recommend design alternatives for performance improvement is not an easy task, as it requires special expertise. The research proposed here is intended to attack both of these difficulties. It proposes a practical performance engineering framework that provides designers with automated performance assistance for high-level software design. The framework provides assistance to designers by: (1) facilitating the process of building and evaluating performance models, and (...
QoS management in service-oriented architectures
, 2007
"... The next generation of software systems will be highly distributed, component-based and service-oriented. They will need to operate in unattended mode and possibly in hostile environments, will be composed of a large number of ‘replaceable’ components discoverable at run-time, and will have to run o ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
The next generation of software systems will be highly distributed, component-based and service-oriented. They will need to operate in unattended mode and possibly in hostile environments, will be composed of a large number of ‘replaceable’ components discoverable at run-time, and will have to run on a multitude of unknown and heterogeneous hardware and network platforms. This paper focuses on QoS management in service-oriented architectures in which service providers (SP) provide a set of interrelated services to service consumers, and a QoS broker mediates QoS negotiations between SPs and consumers. The main contributions of this paper are: (i) the description of an architecture that includes a QoS broker and service provider software components, (ii) the specification of a secure protocol for QoS negotiation with the support of a QoS broker, (iii) the specification of an admission control mechanism used by SPs, (iv) a report on the implementation of the QoS broker and SPs, and (v) the experimental validation of the ideas presented in the paper.
Modeling resources in a UML-based simulative environment
, 2001
"... The importance of early performance assessment grows as software systems increase in terms of size, logical distribution and interaction complexity. Lack of time from the side of software developers, as well as distance among software model notations and performance model representation do not help ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
The importance of early performance assessment grows as software systems increase in terms of size, logical distribution and interaction complexity. Lack of time from the side of software developers, as well as distance among software model notations and performance model representation do not help to build an integrated software process that takes into account, from the early phases of the lifecycle, non functional requirements. In this paper we work towards filling this gap by extending the capabilities of a simulative environment developed for the UML notation. Out intent is to introduce new stereotypes representing performance related items, such as resource types and job dispatchers. They allow the software designers to homogeneously represent a software architecture integrated with a running platform as well as parameterized with the resource demand that the components require.
Simulation Modeling
- of UML Software Architectures", Proc. ESM'03
, 2003
"... Software performance based on performance models can be applied at early phases of the software development cycle to characterize the quantitative behavior of software systems. We propose an approach based on queueing networks models for performance prediction of software systems at the software arc ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Software performance based on performance models can be applied at early phases of the software development cycle to characterize the quantitative behavior of software systems. We propose an approach based on queueing networks models for performance prediction of software systems at the software architecture level, specified by UML. Starting from annotated UML Use Case, Activity and Deployment diagrams we derive a performance models based on multichain and multiclass Queueing Networks (QN). The UML model is annotated according to the UML Profile for Schedulability, Performance and Time Specification. The proposed algorithm translates the annotated UML specification into QN performance models, which can then be analyzed using standard solution techniques. Performance results are reported back at the software architecture level in the UML diagrams. As our approach can be fully automated and uses standard UML annotations, it can be integrated with other performance modeling approaches. Specifically, we discuss how this QN-based approach can be integrated with an existing simulation-based performance modeling tool.
Evaluating Performance Attributes of Layered Software Architecture
"... Abstract. The architecture of a software system is the highest level of abstraction whereupon useful analysis of system properties is possible. Hence, performance analysis at this level can be useful for assessing whether a proposed architecture can meet the desired performance specifications and ca ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Abstract. The architecture of a software system is the highest level of abstraction whereupon useful analysis of system properties is possible. Hence, performance analysis at this level can be useful for assessing whether a proposed architecture can meet the desired performance specifications and can help in making key architectural decisions. In this paper we propose an approach for performance evaluation of software systems following the layered architecture, which is a common architectural style for building software systems. Our approach initially models the system as a Discrete Time Markov Chain, and extracts parameters for constructing a closed Product Form Queueing Network model that is solved using the SHARPE software package. Our approach predicts the throughput and the average response time of the system under varying workloads and also identifies bottlenecks in the system, suggesting possibilities for their removal. 1

