21 research outputs found
A thread-tag based semantics for sequence diagrams
The sequence diagram is one of the most popular behaviour modelling languages which offers an intuitive and visual way of describing expected behaviour of object-oriented software. Much research work has investigated ways of providing a formal semantics for sequence diagrams. However, these proposed semantics may not properly interpret sequence diagrams when lifelines do not correspond to threads of controls. In this paper, we address this problem and propose a thread-tag based sequence diagram as a solution. A formal, partially ordered multiset based semantics for the thread-tag based sequence diagrams is proposed
The pragmatics of STAIRS
STAIRS is a method for the compositional development of interactions in the setting of UML 2.0. In addition to defining denotational trace semantics for the main aspects of interactions, STAIRS focuses on how interactions may be developed through successive refinement steps. In this tutorial paper, we concentrate on explaining the practical relevance of STAIRS. Guidelines are given on how to create interactions using the different STAIRS operators, and how these may be refined. The pragmatics is illustrated by a running example
Revisiting Semantics of Interactions for Trace Validity Analysis
Interaction languages such as MSC are often associated with formal semantics
by means of translations into distinct behavioral formalisms such as automatas
or Petri nets. In contrast to translational approaches we propose an
operational approach. Its principle is to identify which elementary
communication actions can be immediately executed, and then to compute, for
every such action, a new interaction representing the possible continuations to
its execution. We also define an algorithm for checking the validity of
execution traces (i.e. whether or not they belong to an interaction's
semantics). Algorithms for semantic computation and trace validity are analyzed
by means of experiments.Comment: 18 pages of contents and 2 pages for references, 10 figures.
Published in ETAPS-FASE2020 : "23rd International Conference on Fundamental
Approaches to Software Engineering" in the "research papers" categor
Underspecification, Inherent Nondeterminism and Probability in Sequence Diagrams
Abstract. Nondeterminism in specifications may be used for at least two different purposes. One is to express underspecification, which means that the specifier for the same environment behavior allows several alterna-tive behaviors of the specified component and leaves the choice between these to those responsible for implementing the specification. In this case a valid implementation will need to implement at least one, but not nec-essarily all, alternatives. The other purpose is to express inherent nonde-terminism, which means that a valid implementation needs to reflect all alternatives. STAIRS is an approach to the compositional and incremental development of sequence diagrams supporting underspecification as well as inherent nondeterminism. Probabilistic STAIRS builds on STAIRS and allows probabilities to be included in the specifications. Underspecifica-tion with respect to probabilities is also allowed. This paper investigates the use of underspecification, inherent nondeterminism and probability in sequence diagrams, the relationships between these concepts, and how these are expressed in STAIRS and probabilistic STAIRS.
Specification Mining of Symbolic Scenario-Based Models
Many dynamic analysis approaches to specification mining that ex-tract behavioral models from execution traces, do not consider ob-ject identities which limit their power when used to analyze traces of general object oriented programs. In this work we present a novel specification mining approach that considers object identi-ties, and, moreover, generalizes from specifications involving con-crete objects to their symbolic class-level abstractions. Our ap-proach uses data mining methods to extract significant scenario-based specifications in the form of Damm and Harel’s live sequence charts (LSC), a formal and expressive extension of classic sequence diagrams. We guarantee that all mined symbolic LSCs are sig-nificant (statistically sound) and all significant symbolic LSCs are mined (statistically complete). The technique can potentially be ap-plied to general object oriented programs to reveal expressive and useful reverse-engineered candidate specifications. 1
Preservation of Policy Adherence under Refinement
-Policy-based management is an approach to the management of systems with respect to issues such as security, access control and trust by the enforcement of policy rules. This paper addresses the problem of integrating the requirements imposed by a policy with the system development process. In order to take a policy specification into account in the development of a system specification, the notion of policy adherence is formalized as a relation between policy specifications and system specifications. Adherence of a system specification to a policy specification means that the former satisfies the latter. The integrated development process is supported by refinement, where both the policy specification and the system specification may be developed under any number of refinement steps. This paper characterizes the conditions under which adherence is preserved under refinement and identifies development rules that guarantee adherence preservation. By results of transitivity and compositionality the integrated development process and the analysis tasks can be conducted in a stepwise and modular way, thereby facilitating development.
Oppdragsgiver: Research Council of Norwa
Formalisation de contextes et d'exigences pour la validation formelle de logiciels embarqués
Un défi bien connu dans le domaine des méthodes formelles est d'améliorer leur intégration dans
les processus de développement industriel. Dans le contexte des systèmes embarqués, l’utilisation des
techniques de vérification formelle nécessitent tout d'abord de modéliser le système à valider, puis de
formaliser les propriétés devant être satisfaites sur le modèle et enfin de décrire le comportement de
l'environnement du modèle. Ce dernier point que nous nommons « contexte de preuve » est souvent négligé.
Il peut être, cependant, d'une grande importance afin de réduire la complexité de la preuve. Dans notre
contribution, nous cherchons à proposer à l’utilisateur une aide pour la formalisation de ce contexte en lien
avec la formalisation des propriétés. Dans ce but, nous proposons et expérimentons un langage (DSL),
nommée CDL (Context Description Language), pour la description des acteurs de l’environnement, basée sur
des diagrammes d’activités et de séquence et des patrons de définition des propriétés à vérifier. Les propriétés
sont modélisées et reliées à des régions d’exécution spécifiques du contexte. Nous illustrons notre
contribution sur un exemple et décrivons des résultats sur plusieurs applications industrielles embarquées