Javier Troya

Javier Troya
University of Malaga | UMA · Department of Computer Sciences and Languages

PhD

About

70
Publications
17,225
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
888
Citations
Additional affiliations
February 2020 - February 2021
Universidad de Sevilla
Position
  • Professor (Associate)
January 2018 - February 2020
Universidad de Sevilla
Position
  • Professor (Assistant)
January 2016 - December 2017
Universidad de Sevilla
Position
  • PostDoc Position

Publications

Publications (70)
Article
Agile methods have become a widely used software development approach across many industry sectors [14], with established benefits in terms of increased responsiveness to change and decreased time to market. Agile practices emphasise lightweight and iterative development, designed to deliver value to customers quickly. The model-driven approach to...
Article
Model transformations are the key technique in Model-Driven Engineering (MDE) to manipulate and construct models. As a consequence, the correctness of software systems built with MDE approaches relies mainly on the correctness of model transformations, and thus, detecting and locating bugs in model transformations have been popular research topics...
Article
Full-text available
The problem of mitigating uncertainty in self-adaptation has driven much of the research proposed in the area of software engineering for self-adaptive systems in the last decade. Although many solutions have already been proposed, most of them tend to tackle specific types, sources, and dimensions of uncertainty (e.g., in goals, resources, adaptat...
Article
Software-intensive systems are increasingly used to support tasks that are typically characterized by high degrees of uncertainty. The modeling notations employed to design, verify, and operate such systems have increasingly started to capture different types of uncertainty, so that they can be explicitly considered when systems are developed and d...
Article
Full-text available
Mobile applications and game development are attractive fields in software engineering. Despite the advancement of programming languages and integrated development environments, there have always been many challenges for software and mobile game developers. Model-Driven Engineering (MDE) is a software engineering methodology that applies software m...
Article
Full-text available
Querying large models efficiently often imposes high demands on system resources such as memory, processing time, disk access or network latency. The situation becomes more complicated when data are highly interconnected, e.g. in the form of graph structures, and when data sources are heterogeneous, partly coming from dynamic systems and partly sto...
Article
Full-text available
This paper provides a comprehensive overview and analysis of research work on how uncertainty is currently represented in software models. The survey presents the definitions and current research status of different proposals for addressing uncertainty modeling and introduces a classification framework that allows to compare and classify existing p...
Article
Contribution: This article presents an experience report on the application of flipped classroom (FC) to the laboratory sessions (henceforth lab sessions) of an undergraduate computer science course. Background: Hands-on work in computer science lab sessions is typically preceded by technical instructions on how to install, configure, and use the s...
Article
This paper reports our experience in flipping a second-year undergraduate course on software architecture and integration, taught in the second course of a Software Engineering degree. We compare the application of the flipped-classroom methodology with a traditional methodology. Our study encompasses two academic courses, in the years 2017 and 201...
Conference Paper
Full-text available
Searching and displaying data based on user queries is a key feature of most software applications such as information systems, web portals, web APIs, and data analytic platforms. The large volume of data managed by these types of systems, henceforth called query-based systems (QBS), makes them extremely hard to test due to the difficulty to assess...
Conference Paper
Full-text available
En este artículo describimos nuestra experiencia al aplicar la metodología de clase invertida en la asignatura Arquitectura e Integración de Sistemas Software, de segundo curso del grado de Ingeniería del Software. Varios aspectos caracterizan este estudio frente a los trabajos relacionados. En primer lugar, la metodología fue aplicada en las clase...
Article
Full-text available
Many model transformation scenarios require flexible execution strategies as they should produce models with the highest possible quality. At the same time, transformation problems often span a very large search space with respect to possible transformation results. Recently, different proposals for finding good transformation results without enume...
Conference Paper
Complex Event Processing (CEP) is a powerful technology in realtime distributed environments for analyzing fast and distributed streams of data, and deriving conclusions from them. CEP permits defining complex events based on the events produced by the incoming sources in order to identify complex meaningful circumstances and to respond to them as...
Article
Full-text available
Model transformations play a cornerstone role in Model-Driven Engineering (MDE), as they provide the essential mechanisms for manipulating and transforming models. The correctness of software built using MDE techniques greatly relies on the correctness of model transformations. However, it is challenging and error prone to debug them, and the situa...
Article
Full-text available
The Atlas Transformation Language (ATL) is currently one of the most used model transformation languages and has become a de facto standard in model-driven engineering for implementing model transformations. At the same time, it is understood by the community that enhancing methods for exhaustively verifying such transformations allows for a more w...
Article
Full-text available
Context: Performance testing is a challenging task mainly due to the lack of test oracles, i.e. mechanisms to decide whether the performance of a program is acceptable or not because of a bug. Metamorphic testing enables the generation of test cases in the absence of an oracle by exploiting the so-called metamorphic relations between the inputs and...
Conference Paper
Web Application Programming Interfaces (APIs) specify how to access services and data over the network, typically using Web services. Web APIs are rapidly proliferating as a key element to foster reusability, integration, and innovation, enabling new consumption models such as mobile or smart TV apps. Companies such as Facebook, Twitter, Google, eB...
Preprint
Full-text available
Model transformations are the cornerstone of Model-Driven Engineering, and provide the essential mechanisms for manipulating and transforming models. Checking whether the output of a model transformation is correct is a manual and error-prone task, this is referred to as the oracle problem in the software testing literature. The correctness of the...
Article
Full-text available
Web Application Programming Interfaces (APIs) allow systems to interact with each other over the network. Modern Web APIs often adhere to the REST architectural style, being referred to as RESTful Web APIs. RESTful Web APIs are decomposed into multiple resources (e.g., a video in the YouTube API) that clients can manipulate through HTTP interaction...
Conference Paper
Full-text available
This tutorial introduces and demonstrates the use of Model-Driven Engineering in Software Product Lines. In particular, it teaches participants about domain-specific languages, metamodeling and modeling, and where these techniques can be best used (and where not). Along with modeling, tutorial teaches various model transformation approaches and how...
Conference Paper
Performance testing is a challenging task mainly due to the lack of test oracles, that is, mechanisms to decide whether the performance of a program under a certain workload is either acceptable or poor due to a performance bug. Metamorphic testing enables the generation of test cases in the absence of an oracle by exploiting the relations (so–call...
Conference Paper
Metamorphic testing enables the generation of test cases in the absence of an oracle by exploiting relations among different executions of the program under test, called metamor-phic relations. In a recent survey, we observed a great variability in the way metamorphic relations are described, typically in an informal manner using natural language....
Article
Full-text available
Model transformations play a cornerstone role in Model-Driven Engineering (MDE) as they provide the essential mechanisms for manipulating and transforming models. Checking whether the output of a model transformation is correct is a manual and errorprone task, referred to as the oracle problem. Metamorphic testing alleviates the oracle problem by e...
Article
Full-text available
Model transformation programs are iteratively refined, restructured, and evolved due to many reasons such as fixing bugs and adapting existing transformation rules to new metamodels version. Thus, modular design is a desirable property for model transformations as it can significantly improve their evolution, comprehensibility, maintainability, reu...
Article
Model transformations are an important cornerstone of model-driven engineering, a discipline which facilitates the abstraction of relevant information of a system as models. The success of the final system mainly depends on the optimization of these models through model transformations. Currently, the application of transformations is realized eith...
Conference Paper
Many scenarios require flexible model transformations as their execution should of course produce models with the best possible quality. At the same time, transformation problems often span a very large search space with respect to possible transformation results. Thus, guidance for transformation executions to find good solutions without enumerati...
Conference Paper
Modularization concepts have been introduced in several modeling languages in order to tackle the problem that real-world models quickly become large monolithic artifacts. Having these concepts at hand allows for structuring models during modeling activities. However, legacy models often lack a proper structure, and thus, still remain monolithic ar...
Conference Paper
Full-text available
A multitude of Domain-Specific Languages (DSLs) have been implemented with XML Schemas. While such DSLs are well adopted and flexible, they miss modern DSL editor functionality. Moreover, since XML is primarily designed as a machine-processible format, artifacts defined with XMLbased DSLs lack comprehensibility and, therefore, maintainability. In o...
Conference Paper
Full-text available
Recently, several cloud modeling approaches have emerged. They address the diversity of cloud environments by introducing a considerable set of modeling concepts in terms of novel domain-specific languages. At the same time, general-purpose languages, such as UML, provide modeling concepts to represent software, platform and infrastructure artifact...
Conference Paper
With the promise of seemingly unlimited resources and the flexible pay-as-you-go business model, more and more applications are moving to the cloud. However, to fully utilize the features offered by cloud providers, the existing applications need to be adapted accordingly. To support the developer in this task, different cloud computing patterns ha...
Conference Paper
Full-text available
As the size and complexity of models grow, there is a need to count on novel mechanisms and tools for transforming them. This is required, e.g., when model transformations need to provide target models without having access to the complete source models or in really short time-as it happens, e.g., with streaming models-or with very large models for...
Conference Paper
The Atlas Transformation Language (ATL) is today a de-facto standard in model-driven development. It is understood by the community that methods for exhaustively verifying such transformations provide an important pillar for achieving a stronger adoption of model-driven development in industry. In this paper we propose a method for verifying ATL m...
Conference Paper
As software systems have grown large and complex in the last few years, the problems with which Model-Driven Development has to cope have increased at the same pace. In particular, the need to improve the performance and scalability of model transformations has become a critical issue. In previous work we introduced LinTra, a model transformation p...
Conference Paper
Full-text available
Over the past decade, cloud services emerged as one of the most promising technologies in IT. Since cloud computing allows improving the quality of software and, at the same time, aims at reducing costs of operating software and hardware, more and more software is delivered as a service in the cloud. However, moving existing software applications t...
Article
Full-text available
As the complexity of model transformations grows, there is an increasing need to count on methods, mechanisms, and tools for checking their correctness, i.e., the alignment between specifications and implementations. In this paper we present a light-weight and static approach for locating the faulty rules in model transformations, based on matching...
Conference Paper
Model transformations dealing with very large models need to count on mechanisms and tools to be able to manage them. The usual approach to improve performance in these cases has focused on the use of concurrency and parallelization techniques, which aim at producing the correct output model(s). In this paper we present our initial approach to prod...
Conference Paper
Full-text available
Model transformation is a key technique to automate software engineering tasks. Like any other software, transformations are not resilient to change. As changes to transformations can invalidate previously produced models, these changes need to be reflected on existing models. Currently, revised out-place transformations are re-executed entirely to...
Article
Full-text available
Queuing Network Models (QNMs) provide powerful notations and tools for modeling and analyzing the performance of many different kinds of systems. Although several powerful tools currently exist for solving QNMs, some of these tools define their own model representations, have been developed in platform-specific ways, and are normally difficult to e...
Conference Paper
Full-text available
We address some of the limitations for extending and validat-ing MDE-based implementations of NFP analysis tools by presenting a modular, model-based partial reimplementation of one well-known anal-ysis framework, namely the Palladio Architecture Simulator. We specify the key DSLs from Palladio in the e-Motions system, describing the ba-sic simulat...
Conference Paper
The modular specification of non-functional properties of systems is a current challenge of Software Engineering, for which no clear solution exists. However, in the case of Domain-Specific Languages some successful proposals are starting to emerge, combining model-driven techniques with aspect-weaving mechanisms. In this paper we show one of these...
Conference Paper
Nowadays, model transformations languages and engines use a sequential execution model. This is, only one execution thread deals with the whole transformation. However, model transformations dealing with very large models, such as those used in biology or aerospace applications, require concurrent solutions in order to speed up their performance. I...
Article
Full-text available
This paper provides a systematic evaluation framework for comparing model transformation approaches, based upon the ISO/IEC 9126-1 quality characteristics for software systems. We apply this framework to compare five transformation approaches (QVT-R, ATL, Kermeta, UML-RSDS and GrGen.NET) on a complex model refactoring case study: the amalgamation o...
Conference Paper
Full-text available
Cloud computing promises easy access, low entry cost and elasticity. However, elastic service provisioning is usually delivered via service replication, which must be supervised manually, hand-picking the services to replicate and ensuring their proper load balance. Automated service provisioning, i.e., the function of automatically scaling the ser...
Article
Full-text available
ContextDomain-Specific Visual Languages (DSVLs) play a crucial role in Model-Driven Engineering (MDE). Most DSVLs already allow the specification of the structure and behavior of systems. However, there is also an increasing need to model, simulate and reason about their non-functional properties. In particular, QoS usage and management constraints...
Article
Full-text available
Model transformations play an important role in Model-Driven Engineering (MDE), and as their size and complexity grow, there is an increasing need to count on tool support for testing their correctness. In this work, we present TractsTool, a tool for specifying and testing several different kinds of model transformations, e.g., model-to-model, mode...
Conference Paper
Full-text available
Reliability is an attribute that appears in all quality models, so it is important to take it into account when developing any kind of system. Its evaluation at latter stages of the software development may force the re-engineering of important parts of the system, something very costly. This is why it should be raised to the system design phase. A...
Conference Paper
In Business Process Modeling, several models are defined for the same system, supporting the transition from business requirements to IT implementations. Each of these models targets a different abstraction level and stakeholder perspective. In order to maintain consistency among these models, which has become a major challenge not only in this fie...
Conference Paper
Full-text available
Domain-specific languages (DSLs) are an important tool for effective system development. They provide concepts that are close to the problem domain and allow analysis as well as generation of full solution implementations. However, this comes at the cost of having to develop a new language for every new domain. To make their development efficient,...
Conference Paper
Full-text available
Software adaptation is becoming increasingly important as more and more applications need to dynamically adapt their structure and behavior to cope with changing contexts, available resources and user requirements. Maude is a high-performance reflective language and system, supporting both equational and rewriting logic specification and programmin...
Conference Paper
Full-text available
In previous work we have presented an approach to monitor nonfunctional properties of systems modeled in terms of domain specific visual languages using observers. In this work we present an approach to decouple the definition of observers behavior and systems behavior. Having a library with different kinds of observers behavior, and having the beh...
Conference Paper
In certain systems, software must be adapted at runtime to the requirements and changes occurring in the context. A strategy to achieve this goal is to model such systems as software architectures making use of the Component-based Software Engineering (CBSE). Thus, the system can be adapted through the reconfiguration of the software architectures....
Article
Full-text available
Model-driven engineering (MDE) already plays a key role in Human-Computer Interaction for the automatic generation of end-user interfaces from their abstract and platform-independent specifications. Moreover, MDE techniques and tools are proving to be very useful for adapting at runtime the final user interfaces according to the current context pro...
Conference Paper
Full-text available
This paper illustrates the use of high-level domain specific models to specify and test some performance properties of complex systems, in particular Communication Networks, using a light-weight approach. By following a Model-Driven Engineering (MDE) approach, we show the benefits of constructing very abstract models of the systems under test, whic...
Article
Full-text available
As the complexity of model transformation (MT) grows, the need to rely on formal semantics of MT languages becomes a critical issue. Formal semantics provide precise specifications of the expected behavior of transformations, allowing users to understand them and to use them properly, and MT tool builders to develop correct MT engines, compilers, e...
Conference Paper
Full-text available
As the complexity of model transformation (MT) grows, the need to count on formal semantics of MT languages also increases. Firstly, formal semantics provide precise specifications of the expected behavior of transformations, which are crucial for both MT users (to be able to understand them and to use them properly) and MT tool builders (to develo...