342 research outputs found
Towards Practical Graph-Based Verification for an Object-Oriented Concurrency Model
To harness the power of multi-core and distributed platforms, and to make the
development of concurrent software more accessible to software engineers,
different object-oriented concurrency models such as SCOOP have been proposed.
Despite the practical importance of analysing SCOOP programs, there are
currently no general verification approaches that operate directly on program
code without additional annotations. One reason for this is the multitude of
partially conflicting semantic formalisations for SCOOP (either in theory or
by-implementation). Here, we propose a simple graph transformation system (GTS)
based run-time semantics for SCOOP that grasps the most common features of all
known semantics of the language. This run-time model is implemented in the
state-of-the-art GTS tool GROOVE, which allows us to simulate, analyse, and
verify a subset of SCOOP programs with respect to deadlocks and other
behavioural properties. Besides proposing the first approach to verify SCOOP
programs by automatic translation to GTS, we also highlight our experiences of
applying GTS (and especially GROOVE) for specifying semantics in the form of a
run-time model, which should be transferable to GTS models for other concurrent
languages and libraries.Comment: In Proceedings GaM 2015, arXiv:1504.0244
Specification of requirements models
The main aim of this chapter is to present and discuss a set of modeling and specification techniques, in what concerns their ontology and support in the requirements representation of computer-based systems. A systematic classification
of meta-models, also called models of computation, is presented. This topic is highly relevant since it supports the definition of sound specification methodologies in relation to the semantic definition of the modeling views to adopt for a given system. The usage and applicability of Unified Modeling Language (UML) diagrams is also related to their corresponding meta-models. A set of desirable
characteristics for the specification methodologies is presented and justified to allow system designers and requirements engineers to more consciously define or choose a particular specification methodology. A heuristic-based approach to support
the transformation of user into system requirements is suggested, with some graphical examples in UML notation.(undefined
Contract Aware Components, 10 years after
The notion of contract aware components has been published roughly ten years
ago and is now becoming mainstream in several fields where the usage of
software components is seen as critical. The goal of this paper is to survey
domains such as Embedded Systems or Service Oriented Architecture where the
notion of contract aware components has been influential. For each of these
domains we briefly describe what has been done with this idea and we discuss
the remaining challenges.Comment: In Proceedings WCSI 2010, arXiv:1010.233
Formal and Informal Methods for Multi-Core Design Space Exploration
We propose a tool-supported methodology for design-space exploration for
embedded systems. It provides means to define high-level models of applications
and multi-processor architectures and evaluate the performance of different
deployment (mapping, scheduling) strategies while taking uncertainty into
account. We argue that this extension of the scope of formal verification is
important for the viability of the domain.Comment: In Proceedings QAPL 2014, arXiv:1406.156
Efficient and Reasonable Object-Oriented Concurrency
Making threaded programs safe and easy to reason about is one of the chief
difficulties in modern programming. This work provides an efficient execution
model for SCOOP, a concurrency approach that provides not only data race
freedom but also pre/postcondition reasoning guarantees between threads. The
extensions we propose influence both the underlying semantics to increase the
amount of concurrent execution that is possible, exclude certain classes of
deadlocks, and enable greater performance. These extensions are used as the
basis an efficient runtime and optimization pass that improve performance 15x
over a baseline implementation. This new implementation of SCOOP is also 2x
faster than other well-known safe concurrent languages. The measurements are
based on both coordination-intensive and data-manipulation-intensive benchmarks
designed to offer a mixture of workloads.Comment: Proceedings of the 10th Joint Meeting of the European Software
Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of
Software Engineering (ESEC/FSE '15). ACM, 201
Model checking of mobile systems and diagnosability of weakly fair systems
PhD ThesisThis thesis consists of two independent contributions. The rst deals
with model checking of reference passing systems, and the second considers
diagnosability under the weak fairness assumption.
Reference passing systems, like mobile and recon gurable systems are
everywhere nowadays. The common feature of such systems is the
possibility to form dynamic logical connections between the individual
modules. However, such systems are very di cult to verify, as
their logical structure is dynamic. Traditionally, decidable fragments
of -calculus, e.g. the well-known Finite Control Processes (FCP),
are used for formal modelling of reference passing systems. Unfortunately,
FCPs allow only `global' concurrency between processes, and
thus cannot naturally express scenarios involving `local' concurrency
inside a process. This thesis proposes Extended Finite Control Processes
(EFCP), which are more convenient for practical modelling.
Moreover, an almost linear translation of EFCPs to FCPs is developed,
which enables e cient model checking of EFCPs.
In partially observed systems, diagnosis is the task of detecting whether
or not the given sequence of observed labels indicates that some unobservable
fault has occurred. Diagnosability is an associated property,
stating that in any possible execution an occurrence of a fault can
eventually be diagnosed. In this thesis, diagnosability is considered
under the weak fairness (WF) assumption, which intuitively states
that no transition from a given set can stay enabled forever - it must
eventually either re or be disabled. A major
aw in a previous approach
to WF-diagnosability in the literature is identi ed and corrected,
and an e cient method for verifying WF-diagnosability based
on a reduction to LTL-X model checking is presented
- …