7 research outputs found

    A Review on Software Performance Analysis for Early Detection of Latent Faults in Design Models

    Get PDF
    Organizations and society could face major breakdown if IT strategies do not comply with performance requirements. This is more so in the era of globalization and emergence of technologies caused more issues. Software design models might have latent and potential issues that affect performance of software. Often performance is the neglected area in the industry. Identifying performance issues in the design phase can save time, money and effort. Software engineers need to know the performance requirements so as to ensure quality software to be developed. Software performance engineering a quantitative approach for building software systems that can meet performance requirements. There are many design models based on UML, Petri Nets and Product-Forms. These models can be used to derive performance models that make use of LQN, MSC, QNM and so on. The design models are to be mapped to performance models in order to predict performance of system early and render valuable feedback for improving quality of the system. Due to emerging distributed technologies such as EJB, CORBA, DCOM and SOA applications became very complex with collaboration with other software. The component based software systems, software systems that are embedded, distributed likely need more systematic performance models that can leverage the quality of such systems. Towards this end many techniques came into existence. This paper throws light into software performance analysis and its present state-of-the-art. It reviews different design models and performance models that provide valuable insights to make well informed decisions

    SLA Translation in Multi-Layered Service Oriented Architectures: Status and Challenges

    Get PDF

    Extra Functional Properties Evaluation of Self-managed Software Systems with Formal Methods

    Get PDF
    Multitud de aplicaciones software actuales est谩n abocadas a operar en contextos din谩micos. Estos pueden manifestarse en t茅rminos de cambios en el entorno de ejecuci贸n de la aplicaci贸n, cambios en los requisitos de la aplicaci贸n, cambios en la carga de trabajo recibida por la aplicaci贸n, o cambios en cualquiera de los elementos que la aplicaci贸n software pueda percibir y verse afectada. Adem谩s, estos contextos din谩micos no est谩n restringidos a un dominio particular de aplicaciones sino que se pueden encontrar en m煤ltiples dominios, tales como: sistemas empotrados, arquitecturas orientadas a servicios, clusters para computaci贸n de altas prestaciones, dispositivos m贸viles o software para el funcionamiento de la red. La existencia de estas caracter铆sticas disuade a los ingenieros de desarrollar software que no sea capaz de cambiar de modo alguno su ejecuci贸n para acomodarla al contexto en el que se est谩 ejecutando el software en cada momento. Por lo tanto, con el objetivo de que el software pueda satisfacer sus requisitos en todo momento, este debe incluir mecanismos para poder cambiar su configuraci贸n de ejecuci贸n. Adem谩s, debido a que los cambios de contexto son frecuentes y afectan a m煤ltiples dispositivos de la aplicaci贸n, la intervenci贸n humana que cambie manualmente la configuraci贸n del software no es una soluci贸n factible. Para enfrentarse a estos desaf铆os, la comunidad de Ingenier铆a del Software ha propuesto nuevos paradigmas que posibilitan el desarrollo de software que se enfrenta a contextos cambiantes de un modo autom谩tico; por ejemplo las propuestas Autonomic Computing y Self-* Software. En tales propuestas es el propio software quien gestiona sus mecanismos para cambiar la configuraci贸n de ejecuci贸n, sin requerir por lo tanto intervenci贸n humana alguna. Un aspecto esencial del software auto-adaptativo (Self-adaptive Software es uno de los t茅rminos m谩s generales para referirse a Self-* Software) es el de planear sus cambios o adaptaciones. Los planes de adaptaci贸n determinan tanto el modo en el que se adaptar谩 el software como los momentos oportunos para ejecutar tales adaptaciones. Hay un gran conjunto de situaciones para las cuales la propiedad de auto- adaptaci贸n es una soluci贸n. Una de esas situaciones es la de mantener al sistema satisfaciendo sus requisitos extra funcionales, tales como la calidad de servicio (Quality of Service, QoS) y su consumo de energ铆a. Esta tesis ha investigado esa situaci贸n mediante el uso de m茅todos formales. Una de las contribuciones de esta tesis es la propuesta para asentar en una arquitectura software los sistemas que son auto-adaptativos respecto a su QoS y su consumo de energ铆a. Con este objetivo, esta parte de la investigaci贸n la gu铆a una arquitectura de tres capas de referencia para sistemas auto-adaptativos. La bondad del uso de una arquitectura de referencia es que muestra f谩cilmente los nuevos desaf铆os en el dise帽o de este tipo de sistemas. Naturalmente, la planificaci贸n de la adaptaci贸n es una de las actividades consideradas en la arquitectura. Otra de las contribuciones de la tesis es la propuesta de m茅todos para la creaci贸n de planes de adaptaci贸n. Los m茅todos formales juegan un rol esencial en esta actividad, ya que posibilitan el estudio de las propiedades extra funcionales de los sistemas en diferentes configuraciones. El m茅todo formal utilizado para estos an谩lisis es el de las redes de Petri markovianas. Una vez que se ha creado el plan de adaptaci贸n, hemos investigado la utilizaci贸n de los m茅todos formales para la evaluaci贸n de QoS y consumo de energ铆a de los sistemas auto-adaptativos. Por lo tanto, se ha contribuido a la comunidad de an谩lisis de QoS con el an谩lisis de un nuevo y particularmente complejo tipo de sistemas software. Para llevar a cabo este an谩lisis se requiere el modelado de los cambios din路micos del contexto de ejecuci贸n, para lo que se han utilizado una variedad de m茅todos formales, como los Markov modulated Poisson processes para estimar los par谩metros de las variaciones en la carga de trabajo recibida por la aplicaci贸n, o los hidden Markov models para predecir el estado del entorno de ejecuci贸n. Estos modelos han sido usados junto a las redes de Petri para evaluar sistemas auto-adaptativos y obtener resultados sobre su QoS y consumo de energ铆a. El trabajo de investigaci贸n anterior sac贸 a la luz el hecho de que la adaptabilidad de un sistema no es una propiedad tan f谩cilmente cuantificable como las propiedades de QoS -por ejemplo, el tiempo de respuesta- o el consumo de energ脤a. En consecuencia, se ha investigado en esa direcci贸n y, como resultado, otra de las contribuciones de esta tesis es la propuesta de un conjunto de m茅tricas para la cuantificaci贸n de la propiedad de adaptabilidad de sistemas basados en servicios. Para conseguir las anteriores contribuciones se realiza un uso intensivo de modelos y transformaciones de modelos; tarea para la que se han seguido las mejores pr谩cticas en el campo de investigaci贸n de la Ingenier铆a orientada a modelos (Model-driven Engineering, MDE). El trabajo de investigaci贸n de esta tesis en el campo MDE ha contribuido con: el aumento de la potencia de modelado de un lenguaje de modelado de software propuesto anteriormente y m茅todos de transformaci贸n desde dos lenguajes de modelado de software a redes de Petri estocasticas

    Parameter dependencies for reusable performance specifications of software components

    Get PDF
    To avoid design-related per颅for颅mance problems, model-driven performance prediction methods analyse the response times, throughputs, and re颅source utilizations of software architectures before and during implementation. This thesis proposes new modeling languages and according model transformations, which allow a reusable description of usage profile dependencies to the performance of software components. Predictions based on this new methods can support performance-related design decisions

    Coupled model transformations for QoS enabled component-based software design

    Get PDF
    This thesis presents the Palladio Component Model and its accompanying transformations for component-based software design with predictable performance attributes. The use of transformations results in a deterministic relationship between the model and its implementation. The introduced Coupled Transformations method uses this relationship to include implementation details into predictions to get better predictions. The approach is validated in several case studies showing the increased accuracy

    Predicting software performance in symmetric multi-core and multiprocessor Environments

    Get PDF
    With today\u27s rise of multi-core processors, concurrency becomes a ubiquitous challenge in software development.Performance prediction methods have to reflect the influence of multiprocessing environments on software performance in order to help software architects to find potential performance problems during early development phases. In this thesis, we address the influence of the operating system scheduler on software performance in symmetric multiprocessing environments

    Configurable Software Performance Completions through Higher-Order Model Transformations

    Get PDF
    Chillies is a novel approach for variable model transformations closing the gap between abstract architecture models, used for performance prediction, and required low-level details. We enable variability of transformations using chain of generators based on the Higher-Order Transformation (HOT). HOTs target different goals, such as template instantiation or transformation composition. In addition, we discuss state-dependent behavior in prediction models and quality of model transformations
    corecore