Dines Bjørner,
Professor of Computing Science
E-Mail: db"ad"imm.dtu.dk
Monday, May 31, 2004, 3:30 am
Volumes 3 and 4, as will be noted below, can be used in either of two ways: Without or with formulas.
This gives rise to the following sequence of uses of the four, thus
actually six volumes, in up to six one semester courses:
The following sequences of courses are therefore possible:
If, for example, for a graduate course, in F3 or F4, course I3,
resp. I4 is assumed to have been followed,
then that graduate course in F3, resp. F4, should be organised
as a single module course,
otherwise as a double module course.
Other combinations are possible.
Not all material in all volumes need be covered.
Some material, for example early material in vol.1, may be covered in
already existing courses on Discrete Mathematics.
Material not covered can - anyway - be studied by students.
In all volumes we present numerous examples.
And in all volumes we provide explicit listings of development
procedures. Too numerous to recall.
Therefore:
The First volume, SE 1., will contain an approximately 900 entry Glossary:
We believe that this Glossary is quite a unique feature of this series of text and handbooks.
The present volume covers the basic principles and techniques of abstraction and modeling.
First the book provides a sound, but simple basis of insight into discrete mathematics: Numbers, sets, Cartesians, types, functions, the Lambda--Calculus, algebras and mathematical logic.
Then the book goes on to teach and train its readers in basic property and model oriented specification principles and techniques.
The model oriented concepts, that are common to such specification languages as B, VDM-SL, and Z, will be propagated here through he use of the RAISE specification language RSL.
Finally the book will cover basic principles of functional, imperative and parallel specification programming -- the latter based on the use of CSP: Hoare's language of Communicating Sequential Processes.
The present book is targeted at at university undergraduate students and at college lecturers.
The present volume covers the basic principles and techniques of specifying systems and languages.
First the book teaches and trains its readers in advanced principles and techniques: Hierarchical versus compositional, denotational versu computational, and configurational: Abstracting and modeling contexts and states.
Then the book goes on to teach and train its readers in basic principles and techniques of modeling the semiotics: Pragmatics, semantics and syntax of systems and languages.
An important part covers principles and techniques of modeling spatial and simple temporal phenomena.
A major section of the book is devoted to such specialised topics as: Modularity (incl. UML's Class Diagrams); Petri Nets; Live Sequence Charts; Statecharts; and Temporal Logics, including the Duration Calculus.
This part epitomises the adage: We ``UML''-lise formal techniques. Thus the reader is brought, on a firm, precise, formal basis, on to the (trustworthy, believable and) professional use of such ideas as are also the mainstay of UML.
Finally the book presents principles and techniques for developing the basis for sound and efficient interpreter and compiler development of functional, imperative, modular and parallel programming languages.
The present book is targeted at late undergraduate to early graduate university students, at college lecturers and at researchers of programming methodology. Volume 2 has Volume 1 of this series as a prerequisite text.
Chapters 12-14 incl.: Main Author: Christian Krog Madsen
The present volume covers the basic principles and techniques of overall software development: From domains via requirements to software designs.
Thus the book advocates a novel approach to software engineering based on the adage: Before requirements can be formulated one must understand the application domain.
The book is therefore structured this way: From (i) the principles and techniques for the development of domain descriptions, via (ii) principles and techniques for the derivation of requirements prescriptions from domain models, to (iii) principles and techniques for the refinement of requirements into software designs: Architectures and component design.
Emphasis in the coverage of domain and requirements engineering is on `what goes into a proper domain description', respectively `requirements prescription', and on `how does one acquire and analyse the domain knowledge', respectively `the requirements expectations, and `how does one validate and verify domain and requirements models'.
The present book is structured so as to be targetable for two rather
different audiences: In one clearly marked structure -- focusing only
on the informal parts -- the book is targeted
at undergraduate students in a second
semester course on software engineering, as well as at college
lecturers in that field. In another -- for the full version of the book
-- it is targeted at advanced students, lecturers and researchers.
This is a novel feature for textbooks.
As such Volume 3 -- in the first, simple version -- has no prerequisite texts. In the full version Volume 3 has Volume 2 as a prerequisite text.
Volume 3 represents a break with past traditions in teaching
software engineering, and it represents
a break with my own, past,
practice of teaching software engineering only by using formal techniques.
The "non-formula" version of Volume 3 will cover essentially the
same "ground", that is: Principles and techniques as will
the
"formula" version of Volume 3. The 'thesis' being that if the
major principles propagated in the "formula"
version
of Volume III are worth "their salt", then they should be able to
"stand on their own", ie., without the formalisation.
The techniques of the "formula" version of Volume III, go well
beyond those of the "non-formula" version of Volume III.
Needless to say:
Thus:
The present state of this volume is: It is mere speculation !
This volume will, as for volume 3, have two versions:
The formulas will meta-model:
A tentative layout is suggested:
You may not have heard of the term "formal method" (we ourselves prefer the term: "formal techniques").
Therefore, please take time to browse below references.
latex2html -split 0 -toc_depth 6 /home/db/the-se-books/the-se-books
Back to DB Home Page
This document was generated using the LaTeX2HTML translator Version 2K.1beta (1.47)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -split 0 -toc_depth 6 the-se-books
The translation was initiated by on 2004-05-31