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
default for all languages
No label defined
    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