José Merseguer

José Merseguer
University of Zaragoza | UNIZAR · Department of Computing and Systems Engineering

PhD

About

102
Publications
15,792
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
2,449
Citations
Additional affiliations
January 2001 - December 2012
University of Zaragoza
January 1997 - December 1998

Publications

Publications (102)
Article
Full-text available
In recent years, we have seen many performance fiascos in the deployment of new systems, such as the US health insurance web. This paper describes the functionality and architecture, as well as success stories, of a tool that helps address these types of issues. The tool allows assessing software designs regarding quality, in particular performance...
Article
The modeling of system non-functional properties is a broad field. Among these properties, dependability is an important one for real-time and embedded systems. On the other hand, UML offers the profiling mechanism to address specific modeling domains. In particular, the DAM (dependability analysis and modeling) profile provides a modeling framewor...
Article
Full-text available
Big Data or Data-Intensive applications (DIAs) seek to mine, manipulate, extract or otherwise exploit the potential intelligence hidden behind Big Data. However, several practitioner surveys remark that DIAs potential is still untapped because of very difficult and costly design, quality assessment and continuous refinement. To address the above sh...
Article
Full-text available
Model-driven techniques can be used to automatically produce formal models from different views of a system realised by using several modelling languages and notations. Specifications are transformed into formal models so facilitating the analysis of complex system for design, validation or verification purposes. However, no single formalism suits...
Article
Full-text available
The development of Information Systems today faces the era of Big Data. Large volumes of information need to be processed in real-time, for example, for Facebook or Twitter analysis. This paper addresses the redesign of NewsAsset, a commercial product that helps journalists by providing services, which analyzes millions of media items from the soci...
Conference Paper
Apache Tez is an application framework for large data processing using interactive queries. When a Tez developer faces the fulfillment of performance requirements s/he needs to configure and optimize the Tez application to specific execution contexts. However, these are not easy tasks, though the Apache Tez configuration will impact in the performa...
Article
Software performance engineering is a mature field that offers methods to assess system performance. Process mining is a promising research field applied to gain insight on system processes. The interplay of these two fields opens promising applications in the industry. In this work, we report our experience applying a methodology, based on process...
Article
Fulfillment of QoS requirements for systems deployed in the Internet is becoming a must. A widespread characteristic of this kind of systems is that they are usually subject to highly variable and bursty workloads. The allocation of resources to fulfill QoS requirements during the peak workloads could entail a waste of computing resources. A soluti...
Conference Paper
Full-text available
The paper presents an industrial application of a DevOps process for a Tax fraud detection system. In particular, we report the influence of the quality assessment during development iterations, with special focus on the fulfillment of performance requirements. We investigated how to guarantee quality requirements in a process iteration while new f...
Article
Critical infrastructures are complex networked systems. They must be able to provide essential services, even when they are compromised by intentional or accidental threats. Guaranteeing essential services means to ensure survivability with an adequate Quality of Service (QoS). This paper proposes a model-driven approach for the assessment of survi...
Conference Paper
Full-text available
Data intensive applications that leverage Big Data technologies are rapidly gaining market trend. However, their design and quality assurance are far from satisfying software engineers needs. In fact, a CapGemini research shows that only 13% of organizations have achieved full-scale production for their Big Data implementations. We aim at addressin...
Article
Survivability is a crucial property for those systems – such as critical infrastructures or military Command and Control Information Systems – that provide essential services, since the latter must be operational even when the system is compromised due to attack or faults. This article proposes a model-driven method and a tool –MASDES– to assess th...
Conference Paper
Model-driven engineering (MDE) often features quality assurance (QA) techniques to help developers creating software that meets reliability, efficiency, and safety requirements. In this paper, we consider the question of how quality-aware MDE should support data-intensive software systems. This is a difficult challenge, since existing models and QA...
Article
Full-text available
Assistive Software offers a solution for people with disabilities to manage specialized hardware, devices or services. However, these users may have difficulties in selecting and installing Assistive Software in their devices for managing smart environments. This paper addresses the requirements of these kinds of systems and their design in the con...
Article
People in industrial societies carry more and more portable electronic devices (e.g., smartphone or console) with some kind of wireless connectivity support. Interaction with auto-discovered target devices present in the environment (e.g., the air conditioning of a hotel) is not so easy since devices may provide inaccessible user interfaces (e.g.,...
Article
Code analysis, static or dynamic, is a primary mean for improving correctness and performance of software applications. Dynamic binary analysis (DBA) refers the methods to analyse runtime behaviour of binary code. Nowadays, DBA tools are implemented using dynamic binary instrumentation (DBI) frameworks, which can add arbitrary code into the executi...
Article
Critical infrastructures, usually designed to handle disruptions caused by human errors or random acts of nature, define assets whose normal operation must be guaranteed to maintain its essential services for human daily living. Malicious intended attacks to these targets need to be considered during system design. To face these situations, defence...
Conference Paper
Survivability is a property of systems that guarantees services which operate safe and timely. Safety-critical services must survive despite the presence of faults or attacks. The contribution of the paper is twofold: construction of a survivability assessment model (SAM) and its transformation to a model checking problem. Our SAM is automatically...
Article
Modern software operates in highly dynamic and often unpredictable environments that can degrade its quality of service. Therefore, it is increasingly important having systems able to adapt their behavior. However, the achievement of software adaptability can influence other software quality attributes, such as availability, performance or cost. Th...
Article
Full-text available
The need for integration of model-based verification into industrial processes has produced several attempts to define Model-Driven solutions implementing a unifying approach to system development. A recent trend is to implement tool chains supporting the developer both in the design phase and V&V activities. In this Model-Driven context, specific...
Article
Performability relates the performance (throughput) and reliability of software systems whose normal behaviour may degrade owing to the existence of faults. These systems, naturally modelled as discrete event systems using shared resources, can incorporate fault-tolerant techniques to mitigate such a degradation. In this article, compositional faul...
Article
Many artificial systems can be modeled as discrete dynamic systems in which resources are shared among different tasks. The performance of such systems, which is usually a system requirement, heavily relies on the number and distribution of such resources. The goal of this paper is twofold: first, to design a technique to estimate the steady-state...
Book
Springer web page: http://www.springer.com/computer/swe/book/978-3-642-39511-6?otherVersion=978-3-642-39512-3
Article
A software model can be analysed for non-functional requirements by extending it with suitable annotations and transforming it into analysis models for the corresponding non-functional properties. For quantitative performance evaluation, suitable annotations are standardized in the “UML Profile for Modeling and Analysis of Real-Time Embedded system...
Chapter
Although numerous advances have been made during the last two decades in the area of model-based dependability assessment of software systems, many issues are still open. In this chapter, we present a critical discussion of the state of the art based on the approaches presented in Chap. 7 and identify open issue and present some future work directi...
Chapter
An overview of the techniques traditionally used in dependability analysis that are compliant with current industrial standards (i.e., the International Electrotechnical Commission standards) is provided. In particular, the focus is on those techniques that are chosen as target formalism of model transformations (described in Chap. 7), that is Faul...
Chapter
This chapter introduces the dependability concepts used throughout the book. They are basic concepts for which no previous knowledge of dependability is required. Main sources for this chapter are the books of Lyu (1996) on reliability and Leveson (1995) on safety, and fundamentally the work of Avizienis et al. (2004) on dependability.
Chapter
This chapter introduces a domain model for the dependability. The model describes core concepts of dependability while provides a vocabulary for it. The domain model bridges the gap between dependability concepts, introduced in Chap. 2, and the dependability profile, described in Chap. 5 The domain model defines information needed to create modelin...
Chapter
This chapter provides an overview of the features contained in languages for software modeling. The main focus is on UML, a widely used modeling language, adopted by both industry and academia, which has become the “lingua franca” for software modeling. Besides the features for structural and behavioral modeling, another important characteristic of...
Chapter
This introductory chapter describes the need, importance, and benefits of assessing dependability of software systems. It also establishes the approach followed in the book for dependability assessment.
Chapter
This chapter presents a UML profile as an example of mapping the dependability domain model (Chap. 4) to UML, by using the standard UML extension mechanisms. The DAM profile relies on the standard OMG MARTE profile (Appendix A) and it consists of a set of UML extensions (i.e., stereotypes, tags, and constraints) that enable to annotate a UML model...
Chapter
The objective of this chapter is to describe some proposals, of interest for practitioners, from those in Chap. 7 The focus of interest is how these proposals address the translation of a D-DSML into models for analysis. Concretely, the chapter focuses on availability and reliability proposals. We selected one from Bernardi et al., addressing avail...
Chapter
During the last two decades, several dependability domain-specific modeling languages (D-DSML) have been proposed. This chapter surveys 36 proposals of D-DSML in literature. Most of the proposals are based on UML and a good number also accomplish the transformation of the D-DSML into proper dependability analysis models, as those presented in Chap....
Conference Paper
Full-text available
Numerous organisations are considering moving at least some of their existing applications to the cloud. A key motivating factor for this fast-paced adoption of cloud is the expectation of cost savings. Estimating what these cost savings might be requires comparing the known cost of running an application in-house with a predicted cost of its cloud...
Article
Many artificial systems can be modeled as discrete dynamic systems in which resources are shared among different tasks. The performance of such systems, which is usually a system requirement, heavily relies on the number and distribution of such resources. The goal of this paper is twofold: first, to design a technique to estimate the steady-state...
Chapter
Multi-Formalism modeling techniques enable the modeling and analysis of different aspects of a system. One of the main issues in the integration of multiple tools to support Multi-Formalisms is how to provide a common method to report the results of the analysis and how to interchange them between models, based on different formalisms, that often r...
Article
Energy use is becoming a key design consideration in computing infrastructures and services. In this paper we focus on service-based applications and we propose an adaptation framework that can be used to reduce power consumption according to the observed workload. The adaptation guarantees a trade-off between energy consumption and system performa...
Article
Full-text available
The goal is to survey dependability modeling and analysis of software and systems specified with UML, with focus on reliability, availability, maintainability, and safety (RAMS). From the literature published in the last decade, 33 approaches presented in 43 papers were identified. They are evaluated according to three sets of criteria regarding UM...
Article
Full-text available
Assessment of software nonfunctional properties (NFP) is an important problem in software development. In the context of model-driven development, an emerging approach for the analysis of different NFPs consists of the following steps: (a) to extend the software models with annotations describing the NFP of interest; (b) to transform automatically...
Article
Security attacks aim to system vulnerabilities that may lead to operational failures. In order to react to attacks software designers use to introduce Fault-Tolerant Techniques (FTTs), such as recovery procedures, and/or Security Mechanisms (SMs), such as encryption of data. FTTs and SMs inevitably consume system resources, hence they influence the...
Article
Full-text available
UML (Unified Modeling Language) is a standard design notation which offers the state machines diagram to specify reactive software systems. The “Modeling and Analysis of Real-Time and Embedded systems” profile (MARTE) enables UML with capabilities for performance analysis. MARTE has been specialized in a “Dependability Analysis and Modeling” profil...
Conference Paper
Many discrete systems with shared resources from different artificial domains (such as manufacturing, logistics or web services) can be modelled in terms of timed Petri nets. Two studies that may result of interest when dealing with such a systems are the performance evaluation (or completed jobs per unit of time) and the resource optimisation. Exa...
Article
Software is often embedded in dynamic contexts where it is subjected to high variable, non-stable, and usually bursty workloads. A key requirement for a software system is to be able to self-react to workload changes by adapting its behavior dynamically, to ensure both the correct functionalities and the required performance. Research on fitting va...
Article
Service Oriented Architecture (SOA) is a paradigm where applications are built on services offered by third party providers. Behavior of providers evolves and makes a challenge the performance prediction of SOA applications. A proper decision about when a provider should be substituted can dramatically improve the performance of the application. We...
Article
Service Oriented Architecture (SOA) is a paradigm where applications are built on services offered by third party providers. Behavior of providers evolves and makes a challenge the performance prediction of SOA applications. A proper decision about when a provider should be substituted can dramatically improve the performance of the application. We...
Article
Full-text available
The importance of assessing software non-functional properties (NFP) beside the functional ones is well accepted in the software engineering community. In particular, dependability is a NFP that should be assessed early in the software life-cycle by evaluating the system behaviour under difierent fault assumptions. Dependability-speciflc modeling a...
Article
Full-text available
Software systems that do not meet their timing constraints can cause risks. In this work, we propose a comprehensive method for assessing the risk of timing failure by evaluating the software design. We show how to apply best practises in software engineering and well-known Time Petri Net (TPN) modeling and analysis techniques, and we demonstrate t...
Conference Paper
The energy use is becoming a key design consideration in computing infrastructures and services. In this paper we focus on service-based applications and we propose an adaptation process that can be used to reduce power consumption. This adaptation process is materialized in an adaptation plan which fits into a software architecture specifically de...
Conference Paper
One of the major current research trends in Software Engineering is the focus on the development of new techniques to deal efficiently with the design of systems that are able to evolve overtime and adapt to rapid changes of their requirements. However, it is still an open issue how to quantify and evaluate the adaptability of a given software syst...
Conference Paper
Full-text available
Maintenance of real-world systems is a complex task involving several actors, procedures and technologies. Proper approaches are needed in order to evaluate the impact of different maintenance policies considering cost/benefit factors. To that aim, maintenance models may be used within availability, performability or safety models, the latter devel...
Conference Paper
Full-text available
Service Oriented Architecture (SOA) is a paradigm where applications are built on services offered by third party providers. Behavior of providers evolves and makes a challenge the performance prediction of SOA applications. A proper decision about when a provider should be substituted can dramatically improve the performance of the application. We...
Technical Report
Security is a non-functional property that, at least, should be documented early in the software life-cycle, but also assessed whenever possible in these stages. However, modelling system security is not a common practise in software projects yet and there is not a standard for this purpose. UML, the de facto standard as modelling language, can be...
Article
Full-text available
WS-BPEL Extension for People (BPEL4People) introduces human activity to Web Services BusinessProcess Execution Language (WS-BPEL/BPEL). Some works have been done on the performanceverification of WS-BPEL, but there aren't works on the performance verification of WS-BPEL4People. Inthis paper, we propose a model method for the transformation of...
Article
Full-text available
Modelling system security is not common practise in software projects yet. Among other problems, there is not a widely accepted methodology which unifies the actual heterogeneity of security issues when addressing a whole security specification. Certainly, the reality is even worse since there is not an accepted or standard common notation for carr...
Conference Paper
Full-text available
Adaptable reactive software systems continuously interact with their environment responding to external stimuli and triggering events that may be perceived by their users. Designing and maintaining such systems is a challenging task. A key issue to be faced concerns the assessment of their effectiveness, in terms of the ability to meet their requir...
Article
Full-text available
The administration of clusters is an exhausting job. Particularly, allocating the resources of the clusters by hand can easily become unmanageable because the processing requirements can change very quickly in a dynamic environ-ment such as the Internet. A solution to solve this problem is to use a dynamic architecture for self-reconfiguration of t...
Article
Full-text available
Open-world software is a paradigm which allows to develop distributed and heterogeneous software systems. They can be built by integrating already developed third-party services, which use to declare QoS values (e.g., related to performance). It is true that these QoS values are subject to some uncertainties. Consequently, the performance of the sy...
Conference Paper
Full-text available
Software designs equipped with specification of dependability techniques can help engineers to develop critical systems. In this work, we start to envision how a software engineer can assess that a given dependability technique is adequate for a given software design, i.e., if the technique, when applied, will cause the system to meet a dependabili...
Conference Paper
Full-text available
In this paper, we propose an integration of the Unified Process and a Dependability Analysis and Modeling (DAM) profile to support quantifiable, testable reliability and availability requirements (R & AR) elicitation and completeness analysis. Specifically, we are interested in improved identification and specification of R & AR and their associate...
Conference Paper
Full-text available
Open-world software is a new paradigm that stresses the concept of software service as a pillar for building applications. Services are unceasingly deployed elsewhere in the open-world and are used on demand. Consequently, the performance of these open-world applications relies on the performance of definitely unknown third-parties. Another consequ...
Article
Full-text available
The modeling and validation of Non-Functional Properties (NFPs) is a crucial task for software systems to satisfy user expectations then for software projects to succeed. Nevertheless this research field still suffers the heterogene-ity of hermetic approaches aiming to the modeling and validation of one single non-functional property without sharin...
Conference Paper
Full-text available
Dependability is a non-functional property that should be assessed early in the software lifecycle. Although several UML profiles exist for quantitative annotations of non-functional properties, none of them provides concrete capabilities for dependability analysis of UML system models. In this paper, we propose a dependability analysis and modelin...
Article
The paper presents a method to compute performance metrics (response time, sojourn time, throughput) on Unified Modeling Language design. The method starts with UML design annotated according to the UML Profile for Schedulability, Performance and Time. The UML design is transformed into a performance model where to compute the referred metrics. Bei...
Conference Paper
Full-text available
In this paper, we aim at giving a contribution toward the definition of a UML profile supporting the dependability analysis of real-time and embedded systems (RTES) that conforms to the upcoming profile named "Modeling and Analysis of Real-Time and Embedded Systems" (MARTE), for which a Request For Proposal has been issued by the Object Management...
Conference Paper
Full-text available
Mobile agents have arisen as an interesting paradigm to build distributed applications, due to the unparalleled advantages they offer. However, along with the advantages they also present new challenges. One of the most relevant is that it is not easy to ensure efficient communication among agents that move continually from one computer to another....
Conference Paper
Full-text available
Software performance engineering deals with the considera- tion of quantitative analysis of the behaviour of software systems from the early development phases in the life cycle. This paper summarizes in a semiformal and illustrative way our proposal for a suitable software performance engineering process. We try to integrate in a very pragmatic ap...
Conference Paper
Full-text available
Stochastic Petri nets (SPNs) have been proved useful for the quantitative analysis of systems. This paper introduces ArgoSPE, a tool for the performance evaluation of software systems in the first stages of the life-cycle. ArgoSPE implements a performance evaluation process that builds on the principles of the software performance engineering (SPE)...