11 research outputs found
A model-driven approach to broaden the detection of software performance antipatterns at runtime
Performance antipatterns document bad design patterns that have negative
influence on system performance. In our previous work we formalized such
antipatterns as logical predicates that predicate on four views: (i) the static
view that captures the software elements (e.g. classes, components) and the
static relationships among them; (ii) the dynamic view that represents the
interaction (e.g. messages) that occurs between the software entities elements
to provide the system functionalities; (iii) the deployment view that describes
the hardware elements (e.g. processing nodes) and the mapping of the software
entities onto the hardware platform; (iv) the performance view that collects
specific performance indices. In this paper we present a lightweight
infrastructure that is able to detect performance antipatterns at runtime
through monitoring. The proposed approach precalculates such predicates and
identifies antipatterns whose static, dynamic and deployment sub-predicates are
validated by the current system configuration and brings at runtime the
verification of performance sub-predicates. The proposed infrastructure
leverages model-driven techniques to generate probes for monitoring the
performance sub-predicates and detecting antipatterns at runtime.Comment: In Proceedings FESCA 2014, arXiv:1404.043
Recommended from our members
A Requirements-Led Approach for Specifying QoS-Aware Service Choreographies: An Experience Report.
[Context and motivation] Choreographies are a form of service composition in which partner services interact in a global scenario without a single point of control. The absence of an explicitly specified orchestration requires changes to requirements practices to recognize the need to optimize software services choreography and monitoring for satisfaction with system requirements.
[Question/problem] We developed a requirements-led approach that aims to provide tools and processes to transform requirements expressed on service-based systems to QoS-aware choreography specifications.
[Principal ideas/results] The approach is used by domain experts to specify natural language requirements on a service-based system, and by choreography designers to adapt their models to satisfy requirements more effectively. Non-functional requirements are mapped to BPMN choreography diagrams as quality properties, using the Q4BPMN notation, that support analysis and monitoring facilities. [Contribution] We report the new integrated approach and provide lessons learned from applying it to a real-world example of dynamic taxi management
Project Final Report Use and Dissemination of Foreground
This document is the final report on use and dissemination of foreground, part of the CONNECT final report. The document provides the lists of: publications, dissemination activities, and exploitable foregroun
Quantitative Modeling and Verification of Evolving Software
Mit der steigenden Nachfrage nach Innovationen spielt Software in verschiedenenWirtschaftsbereichen
eine wichtige Rolle, wie z.B. in der Automobilindustrie, bei intelligenten Systemen als auch bei Kommunikationssystemen. Daher ist die
Qualität für die Softwareentwicklung von großer Bedeutung.
Allerdings ändern sich die probabilistische Modelle (die Qualitätsbewertungsmodelle)
angesichts der dynamischen Natur moderner Softwaresysteme. Dies führt dazu,
dass ihre Übergangswahrscheinlichkeiten im Laufe der Zeit schwanken, welches zu
erheblichen Problemen führt.
Dahingehend werden probabilistische
Modelle im Hinblick auf ihre Laufzeit kontinuierlich aktualisiert. Eine fortdauernde
Neubewertung komplexer Wahrscheinlichkeitsmodelle ist jedoch teuer. In
letzter Zeit haben sich inkrementelle Ansätze als vielversprechend für die Verifikation
von adaptiven Systemen erwiesen. Trotzdem wurden bei der Bewertung struktureller
Änderungen im Modell noch keine wesentlichen Verbesserungen erzielt. Wahrscheinlichkeitssysteme
werden als Automaten modelliert, wie
bei Markov-Modellen. Solche Modelle können in
Matrixform dargestellt werden, um die Gleichungen basierend auf Zuständen und
Übergangswahrscheinlichkeiten zu lösen.
Laufzeitmodelle wie Matrizen sind nicht signifikant,
um die Auswirkungen von Modellveränderungen erkennen zu können.
In dieser Arbeit wird ein Framework unter Verwendung stochastischer Bäume mit
regulären Ausdrücken entwickelt, welches modular aufgebaut ist und eine aktionshaltige
sowie probabilistische Logik im Kontext der Modellprüfung aufweist. Ein solches
modulares Framework ermöglicht dem Menschen die Entwicklung der Änderungsoperationen
für die inkrementelle Berechnung lokaler Änderungen, die im Modell auftreten
können. Darüber hinaus werden probabilistische Änderungsmuster beschrieben,
um eine effiziente inkrementelle Verifizierung, unter Verwendung von Bäumen mit regulären
Ausdrücken, anwenden zu können. Durch die Bewertung der Ergebnisse wird
der Vorgang abgeschlossen.Software plays an innovative role in many different domains, such as car industry, autonomous
and smart systems, and communication. Hence, the quality of the software
is of utmost importance and needs to be properly addressed during software evolution.
Several approaches have been developed to evaluate systems’ quality attributes, such
as reliability, safety, and performance of software. Due to the dynamic nature of modern software systems, probabilistic models representing the quality of the software and their transition probabilities change over time and fluctuate, leading to a significant problem that needs to be solved to obtain correct evaluation results of quantitative
properties. Probabilistic models need to be continually updated at run-time to
solve this issue. However, continuous re-evaluation of complex probabilistic models is
expensive. Recently, incremental approaches have been found to be promising for the
verification of evolving and self-adaptive systems. Nevertheless, substantial improvements
have not yet been achieved for evaluating structural changes in the model.
Probabilistic systems are usually
represented in a matrix form to solve the equations
based on states and transition probabilities. On the other side, evolutionary changes can create
various effects on theese models and force them to re-verify the whole system. Run-time
models, such as matrices or graph representations, lack the expressiveness to identify
the change effect on the model.
In this thesis, we develop a framework using stochastic regular expression trees,
which are modular, with action-based probabilistic logic in the model checking context.
Such a modular framework enables us to develop change operations for the incremental
computation of local changes that can occur in the model. Furthermore, we describe
probabilistic change patterns to apply efficient incremental quantitative verification using
stochastic regular expression trees and evaluate our results
Finalised dependability framework and evaluation results
The ambitious aim of CONNECT is to achieve universal interoperability between heterogeneous Networked Systems by means of on-the-fly synthesis of the CONNECTors through which they communicate. The goal of WP5 within CONNECT is to ensure that the non-functional properties required at each side of the connection going to be established are fulfilled, including dependability, performance, security and trust, or, in one overarching term, CONNECTability. To model such properties, we have introduced the CPMM meta-model which establishes the relevant concepts and their relations, and also includes a Complex Event language to express the behaviour associated with the specified properties. Along the four years of project duration, we have developed approaches for assuring CONNECTability both at synthesis time and at run-time. Within CONNECT architecture, these approaches are supported via the following enablers: the Dependability and Performance analysis Enabler, which is implemented in a modular architecture supporting stochastic verification and state-based analysis. Dependability and performance analysis also relies on approaches for incremental verification to adjust CONNECTor parameters at run-time; the Security Enabler, which implements a Security-by-Contract-with-Trust framework to guarantee the expected security policies and enforce them accordingly to the level of trust; the Trust Manager that implements a model-based approach to mediate between different trust models and ensure interoperable trust management. The enablers have been integrated within the CONNECT architecture, and in particular can interact with the CONNECT event-based monitoring enabler (GLIMPSE Enabler released within WP4) for run-time analysis and verification. To support a Model-driven approach in the interaction with the monitor, we have developed a CPMM editor and a translator from CPMM to the GLIMPSE native language (Drools). In this document that is the final deliverable from WP5 we first present the latest advances in the fourth year concerning CPMM, Dependability&Performance Analysis, Incremental Verification and Security. Then, we make an overall summary of main achievements for the whole project lifecycle. In appendix we also include some relevant articles specifically focussing on CONNECTability that have been prepared in the last period
Consolidated dependability framework
The aim of CONNECT is to achieve universal interoperability between heterogeneous Networked Systems. For this, the non-functional properties required at each side of the connection going to be established, which we refer to by the one inclusive term "CONNECTability", must be fulfilled. In Deliverable D5.1 we conceived the conceptual models at the foundation of CONNECTability. In D5.2 we then presented a first version of the approaches and of their respective enablers that we developed for assuring CONNECTability both at synthesis time and at run-time. In this deliverables, we present the advancements and contributions achieved in the third year, which include: - a refinement of the CONNECT Property Meta-Model, with a preliminary implementation of a Model-to-Code translator; - an enhanced implementation of the Dependability&Performance analysis Enabler, supporting stochastic verification and state-based analysis, that is enriched with mechanisms for providing feedback to the Synthesis enabler based on monitor's run-time observations; - a fully running version of the Security Enabler, following the Security-by-Contract-with-Trust methodology, for the monitoring and enforcement of CONNECT related security policies; - a complete (XML) definition of the Trust Model Description Language, an editor and the corresponding implementation of supporting tools to be integrated into the Trust Management Enabler
Dynamic Connector Synthesis: Principles, Methods, Tools and Assessment
CONNECT adopts a revolutionary approach to the seamless networking of digital systems, that is, onthe- fly synthesis of the connectors via which networked systems communicate. Within CONNECT, the role of the WP3 work package is to devise automated and efficient approaches to the synthesis of such emergent connectors, provided the behavioral specification of the components to be connected. Thanks to WP3 scientific and technology development, emergent connectors can be synthesized on the fly as networked systems get discovered, implementing the necessary mediation between networked systems' protocols, from application down to middleware layers. This document being the final report about WP3 achievements, it outlines both: (i) specific contributions over the reporting period, and (ii) overall contributions in the area of automated, on-the-fly protocol mediation, from theory to supporting tool