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 approaches in practice, and present the implementation we have developed to fully support it. We apply our approach for the specification and monitoring of non-functional properties using observers to a case study, illustrating how generic observers defining nonfunctional properties can be defined in an independent manner. Then, correspondences between these observers and the domain-specific model of the system can be established, and then weaved into a unified system specification using an ATL model transformation. Such a unified specification can also be analyzed in a natural way to obtain the required non-functional properties of the system.
Autores: Antonio Moreno-Delgado / Javier Troya / Francisco Durán / Antonio Vallecillo /
Palabras Clave: Domain Specific Languages - model transformations - Non-functional Properties - weaving mechanisms
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 behavioral definition of the system, weaving links can be established among them in order to include observers in the system behavioral specification.
Autores: Javier Troya / Antonio Vallecillo / Francisco Durán /
Palabras Clave: DSVLs - observers - weaving mechanisms
The diversity in the way different cloud providers offer their services, give their SLAs, present their QoS, support different technologies, etc., complicates the portability and interoperability of cloud applications, and favors vendor lock-in. Standards like TOSCA, and tools supporting them, have come to help in the provider-independent description of cloud applications. After the variety of proposed cross-cloud application management tools, we propose going one step further in the unification of cloud services with a deployment tool in which IaaS and PaaS services are integrated into a unified interface. We provide support for applications whose components are to be deployed on different providers, indistinctly using IaaS and PaaS services. The TOSCA standard is used to define a portable model describing the topology of the cloud applications and the required resources in an agnostic, and providers- and resources-independent way. We include in this paper some highlights on our implementation on Apache Brooklyn and present a non-trivial example that illustrates our approach.
Resumen del artículo publicado en:
Jose Carrasco, Javier Cubo, Francisco Durán, Ernesto Pimentel. Bidimensional Cross-Cloud Application Management with TOSCA and Brooklyn, 9th IEEE International Conference on Cloud Computing (CLOUD 2016), San Francisco, (EEUU). IEEE Computer Society, 2016.
Autores: Jose Carrasco / Javier Cubo / Francisco Durán / Ernesto Pimentel /
Palabras Clave: Brooklyn - Cloud applications - cross-cloud - IaaS - multi-deployment - PaaS - standards - TOSCA
This paper introduces some novel features of Maude 2.7. We have added support for: (i) built-in order-sorted unification modulo associativity, commutativity, and identity, (ii) built-in variant generation, (iii) built-in order-sorted unification modulo a finite variant theory, and (iv) symbolic reachability modulo a finite variant theory.
Autores: Francisco Durán / Steven Eker / Santiago Escobar / Narciso Martí-Oliet / José Meseguer / Carolyn Talcott /
Palabras Clave: associativity commutativity and identity - Maude - narrowing - Order-sorted - unification
We use graph transformation to define an adaptive component model, what allows us to carry on predictive analyses on dynamic architectures through simulations. Specifically, we build on the e-Motions definition of the Palladio component model, and then specify adaptation mechanisms as generic adaptation rules. We illustrate our approach with rules modelling the increase in the number of CPU replicas used by a component, and the distribution of works between processors, reacting, respectively, to saturated queues or response time constraints violations. We evaluate alternative scenarios by analysing their performance, and discuss on its consequences in practice.
Autores: Patricia de Oliveira / Francisco Durán / Ernesto Pimentel /
Palabras Clave: Domain Specific Languages - e-Motions - Model-Driven Engineering - performance analysis
We have added support for associative unification to Maude 2.7.1. Associative unification is infinitary, i.e., there are unifica- tion problems u =? v such that there is an infinite minimal set of unifiers, whereas associative-commutative unification is finitary. A unique feature of the associative unification algorithm implemented in Maude is that it is guaranteed to terminate with a finite and complete set of associative unifiers for a fairly large class of unification problems occurring in prac- tice. For any problems outside this class, the algorithm returns a finite set of unifiers together with a warning that such set may be incom- plete. This paper describes this associative unification algorithm imple- mented in Maude and also how other symbolic reasoning Maude features such as (i) variant generation; (ii) variant unification; and (iii) narrow- ing based symbolic reachability analysis have been extended to deal with associativity.
Autores: Francisco Durán / Steven Eker / Santiago Escobar / Narciso Marti-Oliet / Jose Meseguer / Carolyn Talcott /
Palabras Clave: associativity - narrowing - Rewriting Logic - unification