3,224 research outputs found
A Formal Architectural Description Language based on Symbolic Transition Systems and Modal Logic
International audienceComponent Based Software Engineering has now emerged as a discipline for system development. After years of battle between component platforms, the need for means to abstract away from specific implementation details is now recognized. This paves the way for model driven approaches (such as MDE) but also for the more older Architectural Description Language (ADL) paradigm. In this paper we present KADL, an ADL based on the Korrigan formal language which supports the following features: integration of fully formal behaviours and data types, expressive component composition mechanisms through the use of modal logic, specification readability through graphical notations, and dedicated architectural analysis techniques. Key Words: Architectural Description Language, Component Based Software Engineering, Mixed Formal Specifications, Symbolic Transition Systems, Abstract Data Types, Modal Logic Glue, Graphical Notations, Verification
Applying formal methods to standard development: the open distributed processing experience
Since their introduction, formal methods have been applied in various ways to different standards. This paper gives an account of these applications, focusing on one application in particular: the development of a framework for creating standards for Open Distributed Processing (ODP). Following an introduction to ODP, the paper gives an insight into the current work on formalising the architecture of the
Reference Model of ODP (RM-ODP), highlighting the advantages to be gained. The different approaches currently being taken are shown, together with their associated advantages and disadvantages. The paper concludes that there is no one all-purpose approach which can be used
in preference to all others, but that a combination of approaches is desirable to best fulfil the potential of formal methods in developing an architectural semantics for OD
Software (Re-)Engineering with PSF II: from architecture to implementation
This paper presents ongoing research on the application of PSF in the field
of software engineering and reengineering. We build a new implementation for
the simulator of the PSF Toolkit starting from the specification in PSF of the
architecture of a simple simulator and extend it with features to obtain the
architecture of a full simulator. We apply refining and constraining techniques
on the specification of the architecture to obtain a specification low enough
to build an implementation from
Session Communication and Integration
The scenario-based specification of a large distributed system is usually
naturally decomposed into various modules. The integration of specification
modules contrasts to the parallel composition of program components, and
includes various ways such as scenario concatenation, choice, and nesting. The
recent development of multiparty session types for process calculi provides
useful techniques to accommodate the protocol modularisation, by encoding
fragments of communication protocols in the usage of private channels for a
class of agents. In this paper, we extend forgoing session type theories by
enhancing the session integration mechanism. More specifically, we propose a
novel synchronous multiparty session type theory, in which sessions are
separated into the communicating and integrating levels. Communicating sessions
record the message-based communications between multiple agents, whilst
integrating sessions describe the integration of communicating ones. A
two-level session type system is developed for pi-calculus with syntactic
primitives for session establishment, and several key properties of the type
system are studied. Applying the theory to system description, we show that a
channel safety property and a session conformance property can be analysed.
Also, to improve the utility of the theory, a process slicing method is used to
help identify the violated sessions in the type checking.Comment: A short version of this paper is submitted for revie
Model-Based Engineering for the support of Models of Computation: The Cometa Approach
The development of Real-Time Embedded Systems (RTES) increasingly requires the integration of several parts with different purposes. Consequently, the heterogeneous appearance of such systems creates a need to manage their growing complexity mainly due to the difficulty to interconnect the different parts composing them. Model-Based Engineering (MBE) has significantly participated in recent decades to find solutions in terms of methodologies and technical support tailored to the design of RTES. Indeed, several models are used to represent different aspects of the system. However, the interconnection of different modeling paradigms is still a difficult challenge. The handling of such problems requires a clear definition of the execution and interconnection semantics of the different models composing the system. Indeed, the abstraction of the execution semantics of machines or Models of Computation (MoC) can highlight properties for the whole system’s execution. In this paper, we propose an approach that captures these semantics at the earliest modeling phases with the aim of exhibiting properties that ease the design space exploration and performance analysis of systems. Our approach extends the Modeling and Analysis of Real-Time Embedded Systems profile (MARTE) by providing means to express communication semantics of models. We also review existing approaches for defining such execution semantics
Automatic code generation: from process algebraic architectural descriptions to multithreaded java programs
Process algebraic architectural description languages provide a formal
means for modeling software systems and assessing their properties.
In order to bridge the gap between system modeling and system im-
plementation, in this thesis an approach is proposed for automatically
generating multithreaded object-oriented code from process algebraic
architectural descriptions, in a way that preserves – under certain
assumptions – the properties proved at the architectural level.
The approach is divided into three phases, which are illustrated
by means of a running example based on an audio processing
system. First, we develop an architecture-driven technique for
thread coordination management, which is completely automated
through a suitable package. Second, we address the translation
of the algebraically-specified behavior of the individual software
units into thread templates, which will have to be filled in by
the software developer according to certain guidelines. Third, we
discuss performance issues related to the suitability of synthesizing
monitors rather than threads from software unit descriptions that
satisfy specific constraints.
In addition to the running example, we present two case studies about
a video animation repainting system and the implementation of a
leader election algorithm, in order to summarize the whole approach.
The outcome of this thesis is the implementation of the proposed
approach in a translator called PADL2Java and its integration in the
architecture-centric verification tool TwoTowers
Model-based dependability analysis : state-of-the-art, challenges and future outlook
Abstract: Over the past two decades, the study of model-based dependability analysis has gathered significant research interest. Different approaches have been developed to automate and address various limitations of classical dependability techniques to contend with the increasing complexity and challenges of modern safety-critical system. Two leading paradigms have emerged, one which constructs predictive system failure models from component failure models compositionally using the topology of the system. The other utilizes design models - typically state automata - to explore system behaviour through fault injection. This paper reviews a number of prominent techniques under these two paradigms, and provides an insight into their working mechanism, applicability, strengths and challenges, as well as recent developments within these fields. We also discuss the emerging trends on integrated approaches and advanced analysis capabilities. Lastly, we outline the future outlook for model-based dependability analysis
- …