BookPDF Available

Concepts, Syntax and Semantics of SEGRAS. A Specification Language for Distributes Systems

Authors:
  • Scientific Academy for Service Technology e.V.
Book

Concepts, Syntax and Semantics of SEGRAS. A Specification Language for Distributes Systems

Abstract

This book presents SEGRAS, a new language for writing, testing, and analyzing formal specifications of nonsequential and distributed software systems. The language treats data abstractions with states and state-dependent operations that can dynamically create new data objects and concurrently modify their properties according to a specified nonsequential behavior. The language is based on a well-engineered integration of algebraic specifications and Petri nets. The data objects on which a system operates concurrently are specified as partial abstract data types, while dynamic behavior is specified graphically by means of Petri nets whose state and transition elements and arcs are labeled with terms over the algebraic signature. To support the construction of new system specifications from given ones, the algebraic concept of combination is extended by a construction on behavior components. lt allows the behaviors of constituent subsystems to be synchronized or composed to new alternative courses of behavior. In the first part, the core concepts of the SEGRAS language are presented and a denotational semantics is given for them. Many-sorted partial algebras provide a semantics of data specifications, and Condition-Event systems provide a net semantics of nonsequential behavior. To increase the practical value of the language, its type system is extended in Part II by parametric types and a restricted form of function types and dependent types. The additional expressive power of the extended type system is demonstrated through a series of examples. Its semantics is defined in terms of a logical deduction system. As a practical solution to the problem of determining the well-typing of SEXJRAS specifications, a sound compile-time type checking algorithm is presented.
A preview of the PDF is not available
... High-level nets based on low-level Petri nets [7,10,11] and data types in ML have been studied as coloured Petri nets by Jensen [12]. The combination of Petri nets and algebraic specifications was mainly initiated by Krämer [13,14] and extended in [15,16,17,18,19] leading to the notion of algebraic high-level (AHL) nets. ...
Article
Full-text available
Algebraic high-level (AHL) nets are a well-known modelling technique based on Petri nets with algebraic data types, which allows to model the communication structure and the data flow within one modelling framework. In this paper we give an overview how to model the system behaviour of communication platforms and scenarios based on algebraic high-level nets and their processes. For modelling the evolution of communication platforms we show by example how to use transformations of AHL-nets inspired by the theory of graph transformation. As running example we show the modelling and evolution of Apache Wave platforms and Waves.
... A typical example of a combination of both approaches are Predicate-Event Nets (PrE-nets) (Schmidt, 1991). PrE-nets form the basic part for a formal speci-®cation and design language called SEGRAS (Kramer, 1989) which tries to unify algebraic speci®cations and HPNs. The algebraic axiom part of the language is used to describe and analyze the properties of the ADTs comprising the system (i.e., the static data structures on which a system operates), while the PN part (i.e., a PrEnet) is used to specify the system initial state and the accessibility of the other states from the initial one (i.e., the dynamic system behaviour). ...
Article
Full-text available
The graphical formalism of Petri Nets (PNs) is established on a strong mathematical foundation that can be applied in systems specification, analysis and verification. However, classical (low-level) models suffer from the state explosion problem as resulting PNs become larger. Thus, their ability to represent and analyze realistic large scale systems is reduced. High-level PNs have been introduced in order to extend the modeling power of low-level models. This paper presents an assessment of high-level PNs from an engineering perspective. A set of categories is proposed for classifying several extensions presented in the literature. Models which belong to the same category are compared by discussing the formalism, the descriptive power and the inherent limitations of each. All categories are compared using a set of general criteria including compactness, ease of analysis, degree of supporting refinement/abstraction and specifying communication. The modeling power of representative models of each category is discussed by presenting illustrative application examples.
Conference Paper
Full-text available
We sketch the specification language SEGRAS and illustrate related formal validation techniques with a few simple examples including a dynamic reconfiguration problem. The language is particularly suited for concurrent and distributed applications. It draws from two main sources: algebraic specifications of abstract data types and a special class of high-level Petri nets. The language is supported by an experimental specification environment whose semantic tools exploit the operational semantics of the language.
Chapter
Petri nets, well established as a fundamental model of concurrency and as a specification technique for distributed systems, are revisited from an algebraic point of view. In a first step Petri nets can be considered as monoids with well-defined algebraic semantics. Secondly they can be combined with algebraic specifications leading to the concept of algebraic high-level nets with suitable compositionality results. The main idea of this paper is to present a revised version of algebraic high-level nets (AHL-nets) and to introduce AHL-net-transformation systems. This is a concept of high-level replacement systems for AHL-nets allowing to build up AHL-nets from basic components and to transform them using rules or productions in the sense of graph grammars. This is illustrated by extending the well-known example of dining philosophers to a restaurant of dining philosophers. Moreover we are able to extend main results from the theory of graph grammars, including local Church-Rosser, parallelism and canonical derivation theorems, to AHL-net-transformation systems. This allows to analyze concurrency in nets not only on the token level but also on the level of transformations of the net structure.
Article
The specification language SEGRAS is centered on Predicate-Event nets (PrE-nets), a class of Petri nets with data tokens of an abstract data type. The data flowing in these nets and the firing constraints are specified using algebraic specification. The Petri net specifies the behavioral aspects: the specification of data distribution and synchronization of function calls.PrE-nets inherit from the algebraic theory of abstract data types and from net-theory; from the former, modular composition, information hiding, reasoning about consistency of specifications and correctness of implementations, which is a weakness of standard Petri nets; from the latter they inherit a natural graphical presentation of parallel activity and foremost a rich theoretically founded set of methods for simulating and analyzing the dynamic behavior of systems and the interaction of their components.This paper gives a short formal introduction into the theory of PrE-nets, relates the algebraic semantics to the net-semantics and illustrates this relation informally by sketching the simulation methods we have developed for these nets in the ESPRIT-project GRASPIN. The paper then presents some recent theoretical results with respect to the liveness and safeness of these nets and gives examples how these can be used in a specification environment that includes net transformation and decomposition.
Article
Within the last six years, the ESPRIT project GRASPIN has developed prototypes of a personal software engineering environment to support the construction and verification of distributed and non-sequential software systems. The GRASPIN environment represents an attempt to enable a smooth transition from today's state-of-the-art technique to 3rd generation CASE environments. It provides a flexible framework with extensive facilities for the incorporation of new methods and tools, and for the customization to a variety of languages, applications, and target systems.This paper gives an overview of the GRASPIN project, describes the main characteristics of its CASE environment prototypes, and relates the GRASPIN concept to current software development environments.
Conference Paper
A multiparadigm approach for representing system development processes is proposed. High-level Petri nets are used for representing knowledge about activity coordination. The intuitive visual representation of Petri nets as well as associated formal techniques for validation of important process properties support the establishment and maintenance of coordination structures. Specifications of tasks are the building blocks of the process description. Individual tasks associated with Petri net transitions are specified by a set of rules. These rules guarantee the flexibility for updating task specifications to fit to new situations. They support the evolution of process descriptions and allow improvement of the process while it is being performed. On the realization level a high-level Petri net-simulator serves as a distributed inference engine for the rules that are associated with the transitions. The process description relies on the expressive power of an object oriented data model.
Conference Paper
Ausgehend von einer IEC-Initiative zur Standardisierung höherer Programmiersprachen für speicherprogrammierbare Steuerungen wird ein herstellerunabhängiges Werkzeug zur graphischen Software-Entwicklung und zum schnellen Prototyping in industriellen Automatisierungsprojekten vorgestellt. Die Konstruktion der Programme erfolgt durch die Verknüpfung von Funktionsblockinstanzen, die aus einer Bibliothek bezogen werden und deren Korrektheit bewiesen ist. Es werden Methoden und Werkzeuge beschrieben, die, zur Ergänzung konventioneller Programmtestverfahren, die Verifikation dieser zusammengesetzten Entwürfe mit mathematischer Strenge erlauben.
Conference Paper
In this paper we propose a multiparadigm approach for modeling tasks of systemdesign. The idea is to use executable task specifications which support analysis and understanding of complex design processes. Such specifications can act as a means for both rough and detailed planning of design tasks, providing system designers with proposals for instrumenting their activities and automatize appropriate work steps. The multiparadigm approach is based on a combination of an object-oriented language with high-level Petri nets and rules. The object-oriented language is used for modeling the characteristics of design-artifacts (e.g. design specifications, executable models, test plans, documentation). With high-level Petri nets the overall data and control flow in the design process is specified. Rules are used for the detailed specification and prototyping of design tasks.
ResearchGate has not been able to resolve any references for this publication.