412,575 research outputs found
Report from GI-Dagstuhl Seminar 16394: Software Performance Engineering in the DevOps World
This report documents the program and the outcomes of GI-Dagstuhl Seminar
16394 "Software Performance Engineering in the DevOps World".
The seminar addressed the problem of performance-aware DevOps. Both, DevOps
and performance engineering have been growing trends over the past one to two
years, in no small part due to the rise in importance of identifying
performance anomalies in the operations (Ops) of cloud and big data systems and
feeding these back to the development (Dev). However, so far, the research
community has treated software engineering, performance engineering, and cloud
computing mostly as individual research areas. We aimed to identify
cross-community collaboration, and to set the path for long-lasting
collaborations towards performance-aware DevOps.
The main goal of the seminar was to bring together young researchers (PhD
students in a later stage of their PhD, as well as PostDocs or Junior
Professors) in the areas of (i) software engineering, (ii) performance
engineering, and (iii) cloud computing and big data to present their current
research projects, to exchange experience and expertise, to discuss research
challenges, and to develop ideas for future collaborations
Transfer Learning for Improving Model Predictions in Highly Configurable Software
Modern software systems are built to be used in dynamic environments using
configuration capabilities to adapt to changes and external uncertainties. In a
self-adaptation context, we are often interested in reasoning about the
performance of the systems under different configurations. Usually, we learn a
black-box model based on real measurements to predict the performance of the
system given a specific configuration. However, as modern systems become more
complex, there are many configuration parameters that may interact and we end
up learning an exponentially large configuration space. Naturally, this does
not scale when relying on real measurements in the actual changing environment.
We propose a different solution: Instead of taking the measurements from the
real system, we learn the model using samples from other sources, such as
simulators that approximate performance of the real system at low cost. We
define a cost model that transform the traditional view of model learning into
a multi-objective problem that not only takes into account model accuracy but
also measurements effort as well. We evaluate our cost-aware transfer learning
solution using real-world configurable software including (i) a robotic system,
(ii) 3 different stream processing applications, and (iii) a NoSQL database
system. The experimental results demonstrate that our approach can achieve (a)
a high prediction accuracy, as well as (b) a high model reliability.Comment: To be published in the proceedings of the 12th International
Symposium on Software Engineering for Adaptive and Self-Managing Systems
(SEAMS'17
On Resilient Behaviors in Computational Systems and Environments
The present article introduces a reference framework for discussing
resilience of computational systems. Rather than a property that may or may not
be exhibited by a system, resilience is interpreted here as the emerging result
of a dynamic process. Said process represents the dynamic interplay between the
behaviors exercised by a system and those of the environment it is set to
operate in. As a result of this interpretation, coherent definitions of several
aspects of resilience can be derived and proposed, including elasticity, change
tolerance, and antifragility. Definitions are also provided for measures of the
risk of unresilience as well as for the optimal match of a given resilient
design with respect to the current environmental conditions. Finally, a
resilience strategy based on our model is exemplified through a simple
scenario.Comment: The final publication is available at Springer via
http://dx.doi.org/10.1007/s40860-015-0002-6 The paper considerably extends
the results of two conference papers that are available at http://ow.ly/KWfkj
and http://ow.ly/KWfgO. Text and formalism in those papers has been used or
adapted in the herewith submitted pape
City Data Fusion: Sensor Data Fusion in the Internet of Things
Internet of Things (IoT) has gained substantial attention recently and play a
significant role in smart city application deployments. A number of such smart
city applications depend on sensor fusion capabilities in the cloud from
diverse data sources. We introduce the concept of IoT and present in detail ten
different parameters that govern our sensor data fusion evaluation framework.
We then evaluate the current state-of-the art in sensor data fusion against our
sensor data fusion framework. Our main goal is to examine and survey different
sensor data fusion research efforts based on our evaluation framework. The
major open research issues related to sensor data fusion are also presented.Comment: Accepted to be published in International Journal of Distributed
Systems and Technologies (IJDST), 201
A Framework for Evaluating Model-Driven Self-adaptive Software Systems
In the last few years, Model Driven Development (MDD), Component-based
Software Development (CBSD), and context-oriented software have become
interesting alternatives for the design and construction of self-adaptive
software systems. In general, the ultimate goal of these technologies is to be
able to reduce development costs and effort, while improving the modularity,
flexibility, adaptability, and reliability of software systems. An analysis of
these technologies shows them all to include the principle of the separation of
concerns, and their further integration is a key factor to obtaining
high-quality and self-adaptable software systems. Each technology identifies
different concerns and deals with them separately in order to specify the
design of the self-adaptive applications, and, at the same time, support
software with adaptability and context-awareness. This research studies the
development methodologies that employ the principles of model-driven
development in building self-adaptive software systems. To this aim, this
article proposes an evaluation framework for analysing and evaluating the
features of model-driven approaches and their ability to support software with
self-adaptability and dependability in highly dynamic contextual environment.
Such evaluation framework can facilitate the software developers on selecting a
development methodology that suits their software requirements and reduces the
development effort of building self-adaptive software systems. This study
highlights the major drawbacks of the propped model-driven approaches in the
related works, and emphasise on considering the volatile aspects of
self-adaptive software in the analysis, design and implementation phases of the
development methodologies. In addition, we argue that the development
methodologies should leave the selection of modelling languages and modelling
tools to the software developers.Comment: model-driven architecture, COP, AOP, component composition,
self-adaptive application, context oriented software developmen
Organization of Multi-Agent Systems: An Overview
In complex, open, and heterogeneous environments, agents must be able to
reorganize towards the most appropriate organizations to adapt unpredictable
environment changes within Multi-Agent Systems (MAS). Types of reorganization
can be seen from two different levels. The individual agents level
(micro-level) in which an agent changes its behaviors and interactions with
other agents to adapt its local environment. And the organizational level
(macro-level) in which the whole system changes it structure by adding or
removing agents. This chapter is dedicated to overview different aspects of
what is called MAS Organization including its motivations, paradigms, models,
and techniques adopted for statically or dynamically organizing agents in MAS.Comment: 12 page
A framework for requirements engineering for context-aware services
Context-aware services, especially when made available
to mobile devices, constitute an interesting but very challenging
domain. It poses fundamental problems for both
requirements engineering, software architecture, and their
relationship. We propose a novel, reflection-based framework
for requirements engineering for this class of applications.
The framework addresses the key difficulties in this
field, such as changing context and changing requirements.
We report preliminary work on this framework and suggest
future directions
- …