Software engineering 2. Specification of systems and languages. With contributions from Christian Krog Madsen. (Q1773140)

From MaRDI portal





scientific article; zbMATH DE number 2161253
Language Label Description Also known as
English
Software engineering 2. Specification of systems and languages. With contributions from Christian Krog Madsen.
scientific article; zbMATH DE number 2161253

    Statements

    Software engineering 2. Specification of systems and languages. With contributions from Christian Krog Madsen. (English)
    0 references
    0 references
    25 April 2005
    0 references
    The present volume is the second one of a trilogy on formal development of large scale systems. It supplements the abstraction and modelling tools covered in Volume 1 with some additional ones and mainly focuses on formal specification of systems and languages. The following four aspects are strongly emphasized: advanced specification facets; linguistics; concurrency and temporality; interpreter and compiler definitions. It completes the gallery of tools for abstraction and modelling by adding to the RAISE Specification Language (Volume 1) some other new tools: Petri nets; Sequence Charts (SCs); statecharts; Interval Temporal Logic (ITL) and Duration Calculus (DC). That way the reader is prepared to face the challenges raised by specification of parallel and real time systems and becomes aware of major semiotics principles governing the abstraction and modelling of complex computing systems and languages. The additional principles and techniques for abstraction and modelling are stated by the author as falling along the following axis: an advanced abstraction and modelling axis, covering hierarchical and compositional modelling; a semiotic axis, covering pragmatics, semantics and syntax of design structures; a structuring axis, briefly covering the RSL scheme, class and object concepts as well as UML representation facilities; a concurrency axis, covering both qualitative aspects of timing (Petri nets, SCs, state charts) and quantitative aspects (ITL, DC); a language development axis, covering crucial steps of the development of concrete interpreters and compilers for functional, imperative, modular and parallel programming languages. The book is organized in nine parts. Part I, ``Opening'', is an RSL primer. Part II, ``Specification facets'', deals with the following concepts: hierarchies and compositions; denotations and compositions; context and states. Part III, ``A crucial domain and computing facet'', presents the main principles and techniques according to which phenomena of time and space have to be modelled. Part IV, ``Linguistics'', deals with the pragmatic, semantic, syntactic and semiotic features of the specification of programming languages. Part V, ``Further specification techniques'', presents two other specification techniques, namely modularisation, automata and machines. Part VI, ``Concurrency and temporality'', covers Petri nets, message and live sequence charts, state charts and quantitative models of time. Part VII, ``Interpreter and compiler definitions'', completely illustrates four programming language developments: an interpreter and a compiler specification for a simple applicative language, and interpreter specifications for a simple imperative language, for a simple, modular imperative language and for a simple, parallel imperative language. The last parts are Part VIII, ``Closing'', and Part IX, ''Appendixes''. Heavy emphasis is placed on examples and exercises. Each topic is presented by means of many examples illustrating the formal process of modelling and specification. The end of each chapter includes several exercises that demonstrate the topics in a more realistic setting. The quite large spectrum of modelling and specification tools, ranging from RSL scheme and UML diagram to Petri nets, (Message and Live) SCs, state charts, ITL and DC, provides the reader with a comprehensive understanding of specific principles and techniques needed for system and language modelling. With its strong abstraction and modelling background, the book appeals to researchers and to practitioners involved in language specification and modelling of real time and concurrent systems.
    0 references
    algebra
    0 references
    attribute grammar
    0 references
    automata
    0 references
    BNF
    0 references
    colored Petri nets
    0 references
    communicating transaction processes
    0 references
    compiler
    0 references
    composition
    0 references
    computational semantics
    0 references
    concurrency
    0 references
    denotational semantics
    0 references
    duration calculus
    0 references
    hierarchy
    0 references
    interpreter
    0 references
    interval temporal logic
    0 references
    linguistics
    0 references
    live sequence charts
    0 references
    message sequence charts
    0 references
    modularisation
    0 references
    nondeterminism
    0 references
    parallelism
    0 references
    pragmatics
    0 references
    semantic type
    0 references
    syntactic type
    0 references
    syntax
    0 references
    RAISE Specification Language
    0 references
    semiotics
    0 references
    state charts
    0 references
    temporality
    0 references
    UML
    0 references
    XML
    0 references

    Identifiers

    0 references
    0 references
    0 references
    0 references
    0 references
    0 references
    0 references
    0 references
    0 references