Learn More
Cloud computing technologies are changing the way in which services are deployed and operated nowadays, introducing advantages such as a great degree of flexibility (e.g. pay-peruse models, automatic scalability, etc.). However, existing offerings (Amazon EC2, GoGrid, etc.) are based on proprietary service definition mechanisms, thus introducing vendor(More)
Aspect-Oriented Requirements Engineering (AORE) aims at improving separation of concerns in the problem space by offering new ways of modularising requirements. Over recent years several AORE approaches have emerged by evolving contemporary requirements approaches such as viewpoints-, scenarios- and goal-based models. Due to the novelty of these techniques,(More)
Aspect-Oriented requirements engineering helps to achieve early separation of concerns by supporting systematic analysis of broadly-scoped properties such as security, real-time constraints, etc. The early identification and separation of aspects and base abstractions crosscut by them helps to avoid costly refactorings at later stages such as design and(More)
Software product line engineering has emerged as an approach to developing software which targets a given domain. However, the processes involved in developing a software product line can be time consuming and error prone without adequate lifecycle tool support. In this paper we describe our approach, NAPLES, which uses natural language processing and(More)
One of the main challenges faced by users of infrastructure-as-a-service (IaaS) clouds is the difficulty to adequately estimate the virtual resources necessary for their applications. Although many cloud providers offer programatic ways to rapidly acquire and release resources, it is important that users have a prior understanding of the impact that each(More)
Cloud computing is a recent computing paradigm that is changing software engineering. It offers scalable virtual compute resources at low prices, thus attracting many software developers interested in reducing their infrastructure and operational costs. Even though using cloud solutions is simple, with many providers and resource types available, a common(More)
Most current aspect composition mechanisms rely on syntactic references to the base modules or wildcard mechanisms quantifying over such syntactic references in pointcut expressions. This leads to the well-known problem of pointcut fragility. Semantics-based composition mechanisms aim to alleviate such fragility by focusing on the meaning and intention of(More)
Cloud computing is changing the way applications are being developed, deployed and managed. Application developers can focus on business and functionality and leverage infrastructure clouds (IaaS) to provide them low cost resources (e.g., computation, storage, and networking) that can be controlled based on application needs. However, current IaaS cloud(More)