|
TITLE |
AUTHOR |
|
|
Generic tools via general refinement |
Steve Reeves and David Streader |
|
|
Shape Analysis by Refining on Abstract Evaluation Path |
Xiaodong Ma, Ji Wang and Wei Dong |
|
|
On Verification of Linear Occurrence Properties of Real-Time Systems |
Chang Il Choe and Van Hung Dang |
|
|
Engineering of An Assertion-based PSL-Verilog Dynamic Verifier by Alternating Automata |
Naiyong Jin, Chengjie Shen and Jun Chen |
|
|
Prototyping System Requirements Model |
Xiaoshan Li and Jifeng He |
|
|
Barbed Model-Driven Software Development: A case study |
||
|
An exercise on transition systems |
Paula R. Ribeiro, Luis Barbosa and Shuling Wang |
|
|
Parametric Analysis of an Improved Fault Tolerant System |
Miaomiao Zhang |
|
|
Integrating refinement into software development tools |
Lu Yang |
|
|
Pre-Galois Connection on Coalgebras for Generic Component Refinement |
Meng Sun |
|
|
A Rigorous Model of Service Component Architecture |
Zuohua Ding and Jing Liu |
|
|
The Verification of rCOS Using SPIN |
Xiao Yu and Zheng Wang |
|
Steve Reeves and David Streader. Generic tools via general refinement |
|
Abstract: Tools have become essential in the formal
model-driven development of software but are very time consuming to build and
often restricted to a particular semantic interpretation of a particular
syntax. This is regrettable since there is large amount in common between
tools, even if they do |
|
Xiaodong Ma, Ji Wang and Wei Dong. Shape Analysis by Refining on Abstract Evaluation Path |
|
Abstract: This paper presents a novel method for
shape analysis, which can deal with complex expressions in C language. It
supports taking addresses of fields and stack variables. The concept of
abstract evaluation path (AEP) is proposed, which is generated from the
expression in the language. AEP is used to refine the |
|
Chang Il Choe and Van Hung Dang. On Verification of Linear Occurrence Properties of Real-Time Systems |
|
Abstract: Duration Calculus of Weakly Monotonic Time
(WDC) is an extension of DC to allow description of discrete processes where
several steps of computation can occur at the same time point. In this paper,
we introduce Linear Occurrence Invariants (LOI) using WDC and give an
algorithm to check real-time automata for LOI by solving integer programming
problems. LOI can be used effectively to specify system requirements in some
cases including when the |
|
Naiyong Jin, Chengjie Shen and Jun Chen. Engineering of An Assertion-based PSL-Verilog Dynamic Verifier by Alternating Automata |
|
Abstract: Alternating Finite Automata (AFA) has linear space complexity in representing Linear-Time Temporal Logics. However, It is difficult to manipulate AFA in the run-time. In this paper, we focus on implementation methods to make alternating automata from static representation to run-time verification engines. 1) We have Directed Acyclic Graphs (DAG) represent all possible runs of a Local-variable-enhanced AFA (LAFA). The acceptance of universal choices is conditioned on successful synchronization of universal branches. 2)We encode states and local variables by symbolic approaches. The encoding enables multiple assignments to states and local variables in a configuration. Different values of a state or variable stand for different execution results of a LAFA. By those methods, we are able to maintain the linear complexity of verification in both space and time. |
|
Xiaoshan Li and Jifeng He. Prototyping System Requirements Model |
|
Abstract: In this paper, we present a tool for automatic prototype generation and analysis(AutoPA2.0) that implements the transformations from UML system requirements models to executable prototypes with the function of checking multiplicity constrains. A UML system requirements model consists of a use-case model and a conceptual class model. Each use case is either described as a pair of pre and post conditions in the context of the conceptual model or represented as an activity diagram drawn by the user. AutoPA2.0 can transform the descriptions of use cases in activity diagrams or pre and post conditions into an executable prototype in Java. The prototype of a requirements model can be used to validate dynamically the requirements by checking the pre and post conditions of the use case operations, and system invariants. It helps to improve the understanding between customers and designers. A simple library system is used to illustrate the feasibility of tool as well as its development. |
|
Carlo Montangero and Laura Semini. Barbed Model-Driven Software Development: A case study |
|
Abstract: When thinking to Model Driven
Engineering, the picture appearing to our eyes is that of a sequence of
models, from the most abstract one to the most concrete one.
However, model transformations can deviate, as barbs, from the development
sequence. This is done, for instance, to apply verification techniques and
tools to the models at the intermediate stages. In our opinion, this subject
deserves more attention and a better understanding than the one received till
now. |
|
Paula R. Ribeiro, Luis Barbosa and Shuling Wang. An exercise on transition systems |
|
Abstract: Labelled transition systems admit different but equivalent characterizations either as relational structures or coalgebras for the powerset functor, each of them with their own merits. Notions of simulation and bisimulation, for example, are expressed in the pointfree relational calculus in a very concise and precise way. On the other hand, the coalgebraic perspective regards processes as inhabitants of a final universe and allows for an intuitive definition of the semantics of process combinators. This paper is an exercise on such a dual characterisation. In particular, it discusses how a notion of weak bisimilarity can be lifted from the relational to the coalgebraic level, to become an effective reasoning tool on coinductively defined process algebras. |
|
Miaomiao Zhang. Parametric Analysis of an Improved Fault Tolerant System |
|
Abstract: We report our preliminary study on an improved triple modular computer system from the aerospace field, which is designed to compute the course of action that other subsystems take and output the result to other subsystems. Based on the formal model of the system, we derive constraints on the values of the parameters that occur in our model, and manually prove that ``When a CPU is in the startup phase, it should not restart again due to its watchdog timer overflow or a restart signal sent from the arbitrator". |
|
Lu Yang. Integrating refinement into software development tools |
|
Abstract: Most of the existing work on formally automated software engineering is about verification and validation, such as model checking, static checking, runtime monitoring and testing. There is little progress in automatic tool support to formal design by refinement transformations. In this paper, we bring this matter to the attention of the research community and discuss a component-based model transformational approach for integrating refinement into software development tools. Models, their consistency and correctness, in an object-oriented and component-based development process are defined in rCOS, that is a refinement calculus recently developed at UNU-IIST. Correctness preserving transformations between models are formalized and proved as refinement rules in rCOS. In this paper, we will discuss on how these transformations can be implemented in the relations language of Query/View/Transformation (QVT) standardized by OMG. |
|
Meng Sun. Pre-Galois Connection on Coalgebras for Generic Component Refinement |
|
Abstract: The technique of Galois connections has been applied successfully in many areas of computer science. By employing coalgebras as models for software components, we claim that different forms of behavior model and types of state transitions for components are instances of a single form of coalgebra in a Kleisli category. Based on the Kleisli category, the results on forward/backward morphisms and refinement of components in Set are still satisfied in this more generic framework. We propose a notion of pre-Galois connection in the context of coalgebras for refinement of state-based software components which takes into consideration not only the refinement ordering but also the dynamics of the components, and we study its properties in the Kleisli category. This notion is a powerful tool for relating a component to its refinement and for relating a component to its abstraction. Thus it provides a basis for reasoning about state-based software designs and reverse engineering. |
|
Zuohua Ding and Jing Liu. A Rigorous Model of Service Component Architecture |
|
Abstract: Service Component Architecture (SCA) provides a platformindependent component model for service-oriented development. The service component with different commutation mechanisms and implementing languages can be modeled in SCA. However, it lacks of a formal foundation for specification and verification SCA-based system. This paper presents a formal service component signature model with respect to the specification of the SCA assembly model. Inspired by the idea of independence in SCA, a language-independent dynamic behaviour model is proposed for specifying the interface behaviour of the service component by port activities. Based on the dynamic behaviour model, the compatibility relation between components is discussed as well as refinement. A set of transition rules are given to map BPEL to dynamic behaviour expressions and then to Petri nets, thus the service component based system can be verified with existing tools. A case study is demonstrated to illustrate how to use our approach to constructing a web application in a rigorous way. |
|
Abstract: rCOS is a relational object-based language with precise observation-oriented semantics. It can capture the key features of object model including subtypes, visibility, inheritance, polymorphism and so on. To analyze the model specified by rCOS, we propose a verification approach to check whether the constrain such as the assertion, invariant of class and method contracts hold. Firstly, the Promela code is generated from rCOS specification according to the mapping rules. Secondly, we call the SPIN engine to verify the generated PROMELA codes. Thirdly, if an error is reported by SPIN, a trace algorithm is applied to locate the error in the original rCOS model. Furthermore, to enhance the ability of rCOS to model concurrency, we extend the original rCOS with parallel structure and develop synchronization mechanism. A case study is presented to show how our approach works. |