14 research outputs found
Inheritance-Based Diversity Measures for Explicit Convergence Control in Evolutionary Algorithms
Diversity is an important factor in evolutionary algorithms to prevent
premature convergence towards a single local optimum. In order to maintain
diversity throughout the process of evolution, various means exist in
literature. We analyze approaches to diversity that (a) have an explicit and
quantifiable influence on fitness at the individual level and (b) require no
(or very little) additional domain knowledge such as domain-specific distance
functions. We also introduce the concept of genealogical diversity in a broader
study. We show that employing these approaches can help evolutionary algorithms
for global optimization in many cases.Comment: GECCO '18: Genetic and Evolutionary Computation Conference, 2018,
Kyoto, Japa
Adapting Quality Assurance to Adaptive Systems: The Scenario Coevolution Paradigm
From formal and practical analysis, we identify new challenges that
self-adaptive systems pose to the process of quality assurance. When tackling
these, the effort spent on various tasks in the process of software engineering
is naturally re-distributed. We claim that all steps related to testing need to
become self-adaptive to match the capabilities of the self-adaptive
system-under-test. Otherwise, the adaptive system's behavior might elude
traditional variants of quality assurance. We thus propose the paradigm of
scenario coevolution, which describes a pool of test cases and other
constraints on system behavior that evolves in parallel to the (in part
autonomous) development of behavior in the system-under-test. Scenario
coevolution offers a simple structure for the organization of adaptive testing
that allows for both human-controlled and autonomous intervention, supporting
software engineering for adaptive systems on a procedural as well as technical
level.Comment: 17 pages, published at ISOLA 201
Design and Optimisation of the FlyFast Front-end for Attribute-based Coordination
Collective Adaptive Systems (CAS) consist of a large number of interacting
objects. The design of such systems requires scalable analysis tools and
methods, which have necessarily to rely on some form of approximation of the
system's actual behaviour. Promising techniques are those based on mean-field
approximation. The FlyFast model-checker uses an on-the-fly algorithm for
bounded PCTL model-checking of selected individual(s) in the context of very
large populations whose global behaviour is approximated using deterministic
limit mean-field techniques. Recently, a front-end for FlyFast has been
proposed which provides a modelling language, PiFF in the sequel, for the
Predicate-based Interaction for FlyFast. In this paper we present details of
PiFF design and an approach to state-space reduction based on probabilistic
bisimulation for inhomogeneous DTMCs.Comment: In Proceedings QAPL 2017, arXiv:1707.0366
Data as processes: introducing measurement data into CARMA models
Measurement data provides a precise and detailed description of components
within a complex system but it is rarely used directly as a component of a
system model. In this paper we introduce a model-based representation of
measurement data and use it together with modeller-defined components expressed
in the CARMA modelling language. We assess both liveness and safety properties
of these models with embedded data.Comment: In Proceedings FORECAST 2016, arXiv:1607.0200
A distributed API for coordinating AbC programs
Collective adaptive systems exhibit a particular notion of interaction where environmental conditions largely influence interactions. Previously, we proposed a calculus, named AbC, to model and reason about CAS. The calculus proved to be effective by naturally modelling essential CAS features. However, the question on the tradeoff between its expressiveness and its efficiency, when implemented to program CAS applications, is to be answered. In this article, we propose an efficient and distributed coordination infrastructure for AbC. We prove its correctness, and we evaluate its performance. The main novelty of our approach is that AbC components are infrastructure agnostic. Thus the code of a component does not specify how messages are routed in the infrastructure but rather what properties a target component must satisfy. We also developed a Go API, named GoAt, and an Eclipse plugin to program in a high-level syntax which can be automatically used to generate matching Go code. We showcase our development through a non-trivial case study
The scenario coevolution paradigm: adaptive quality assurance for adaptive systems
Systems are becoming increasingly more adaptive, using techniques like machine learning to enhance their behavior on their own rather than only through human developers programming them. We analyze the impact the advent of these new techniques has on the discipline of rigorous software engineering, especially on the issue of quality assurance. To this end, we provide a general description of the processes related to machine learning and embed them into a formal framework for the analysis of adaptivity, recognizing that to test an adaptive system a new approach to adaptive testing is necessary. We introduce scenario coevolution as a design pattern describing how system and test can work as antagonists in the process of software evolution. While the general pattern applies to large-scale processes (including human developers further augmenting the system), we show all techniques on a smaller-scale example of an agent navigating a simple smart factory. We point out new aspects in software engineering for adaptive systems that may be tackled naturally using scenario coevolution. This work is a substantially extended take on Gabor et al. (International symposium on leveraging applications of formal methods, Springer, pp 137–154, 2018)
A Coordination Language for Databases
We present a coordination language for the modeling of distributed database
applications. The language, baptized Klaim-DB, borrows the concepts of
localities and nets of the coordination language Klaim but re-incarnates the
tuple spaces of Klaim as databases. It provides high-level abstractions and
primitives for the access and manipulation of structured data, with integrity
and atomicity considerations. We present the formal semantics of Klaim-DB and
develop a type system that avoids potential runtime errors such as certain
evaluation errors and mismatches of data format in tables, which are monitored
in the semantics. The use of the language is illustrated in a scenario where
the sales from different branches of a chain of department stores are
aggregated from their local databases. Raising the abstraction level and
encapsulating integrity checks in the language primitives have benefited the
modeling task considerably