Software Engineering 2: Specification of Systems and Languages (Texts in Theoretical Computer Science. An EATCS Series)
Format: PDF / Kindle (mobi) / ePub
The art, craft, discipline, logic, practice and science of developing large-scale software products needs a professional base. The textbooks in this three-volume set combine informal, engineeringly sound approaches with the rigor of formal, mathematics-based approaches.
This volume covers the basic principles and techniques of specifying systems and languages. It deals with modelling the semiotics (pragmatics, semantics and syntax of systems and languages), modelling spatial and simple temporal phenomena, and such specialized topics as modularity (incl. UML class diagrams), Petri nets, live sequence charts, statecharts, and temporal logics, including the duration calculus. Finally, the book presents techniques for interpreter and compiler development of functional, imperative, modular and parallel programming languages.
This book is targeted at late undergraduate to early graduate university students, and researchers of programming methodologies. Vol. 1 of this series is a prerequisite text.
ordered by imposing a direction on the links, "away" from the base, "towards" gripper(s). In a closed robot links can only be partially ordered. Given any link we can speak of the next (a unique next) link, which may be a gripper. Normally a link has one or more, but, of course, a small, finite number of predecessors. Links emanating from the base have no predecessor link. A robot geometry can now be completely described by giving, for each link, the link parameters, and how these links are
these processes, but only given signature to others (here just the height process). The physical world of dynamic system sensors and actuators — and their sensing and actuation — have, in the design specification presented here, been abstracted as state variables that are read, respectively written. Because of the process decomposition, these readings and writings occur as the result of channel events: pairs of output/inputs (!/?). One can combine process modelling with either the applicative or
Bibliographical Notes Exercises 17 SIL: Simple Imperative Language 17.1 The Background 17.2 Syntactic Types 17.2.1 Concrete, Schematic Syntax 17.2.2 Abstract Syntax 17.3 Imperative Denotational Semantics 17.3.1 Semantic Types 17.3.2 Auxiliary Semantic Functions 17.3.3 Semantic Functions 17.4 Macro-expansion Semantics 17.4.1 Syntactic Types 17.4.2 Compile-Time Semantic Types 17.4.3 Run-Time Semantic Types 17.4.4 Run-Time State Declaration and Initialisation 17.4.5 Abstraction Functions 17.4.6
i c a l S t r u c t u r e s C h a r a c t e r i s a t i o n . By semantical structures we mean atomic and composite configuration, context and state structures as well as the values t h a t relate to (i.e., are parts of) these structures. • The semantical structures are thus those of the d a t a structures of RSL  and J a v a [8,15,146,301,465,513] and other specification or programming languages, or of other mathematical systems: algebras, logics, etc. Semantical structures are also those
"between" a pair of specifications, and carrying through the proofs often helps us focus on slightly different abstractions than if we did not consider lemmas, propositions and theorems to be verified, or verification itself. And sometimes these proof-oriented abstractions turn out to be very beautiful, very much "to the point" and also "just", specification-wise! So what do we do? Well, we cannot cover everything, therefore we must choose. These volumes have made the above choice. So, instead,