Domain Science & Engineering
A Two Week PhD Course Offer
Fredsvej 11, DK-2840 Holte, Danmark
DTU Informatics, Technical University of Denmark
July 31, 2012
-
Domain science & engineering is a new research line for
computing science
-
and offers a new approach to software development.
-
It also changes significantly our approach to
requirements engineering.
- The course is a formal software engineering methodology course.
A two week PhD course is outlined.
This PhD course should be of interest to
-
researchers in programming methodology and software
engineering
in search of exciting research topics,
-
PhD and last year MSc students in these fields
also
in search of exciting research topics,
-
university computing science and software
engineering lecturers
in search of exciting new MSc course topics, and, in general,
-
practitioners: programmers cum software engineers
who wishes to stay abreast of their field.
- By a
domain
- we shall understand an area of human activity
- characterised by entities such as
- endurants: parts and materials,
- perdurants: actions, events and behaviours;
- where these parts and materials a manifest phenomena
- and the actions, events and behaviours involve these endurants.
- The
"domain" dogma
is this:
- before software can be designed
- we must have a reasonable grasp of the requirements,
- before requirements can be prescribed
- we must have a reasonable grasp of the domain.
- We thus [however ideally] see
- domain engineering as preceding
- requirements engineering,
- which precedes software design.
- Examples of
domains
are:
- By a
domain description
we mean a precise,
both informal and
formal description of a domain
such as it is,
free from
considerations of requirements to possible IT systems
let alone
software for such systems.
- By
domain science
we mean the study and knowledge of
- what it means to describe,
- possible calculi for and laws of descriptions, and
- the mathematical meaning of formal domain descriptions
- and their relation to the always "informal" domains.
- By
domain engineering
we mean the study and practice of
- how to analyse,
- how to describe,
- how to prove properties of models of the domain.,
- etcetera.
- The aims are to cover
- core aspects of
- domain science and
- domain engineering,
- and an example of how to "derive"
requirements prescriptions from
domain descriptions:
- domain requirements and
- interface requirements.
- That example of requirements development
- cast a different light on what requirements development really is
- and suggests a re-working of current requirements engineering.
- The objectives are that the course participants
- obtain an understanding for domain science and engineering --
enough to spur them on to
- learn more,
- practice it, and/or
- do research in domain science and engineering; and
- obtain an understanding for how
- domain descriptions relate to
- requirements prescriptions,
- enough to make them wish to
- learn more,
- practice it, and/or
- do research in this form of requirements engineering.
- The course is a PhD CS course, but last year MSc CS students are welcome.
- The lecturer will work intensively with all course participants:
- morning lectures and
- afternoon "problem solving" project sessions
- Students are grouped into 3-4 person teams.
- Each team work together on the description of a specific domain.
- The lecturer work each day with each individual team.
- Teams work out a project report.
- The project report has to be submitted and will be evaluated.
- There is also a two hour 24 question, no, not yes, no,
don't know questions.
- The lecturer and the students will thus see each other daily for
4-5-6 hours !
- In the second week non-lecture sessions will
- be allocated to project group meetings with the lecturer.
There are now a number of published papers on domain science &
engineering from the point of view put forward in this course.
Dines Bjørner
Software Engineering, Vol. 1: Abstraction and Modelling.
Software Engineering, Vol. 2: Specification of Systems and
Languages.
Chapters 12-14 are primarily authored by Christian Krog Madsen.
Software Engineering, Vol. 3: Domains, Requirements and
Software Design.
Texts in Theoretical Computer Science, the EATCS Series. Springer,
2006.
- Mereology in Computing
Science
examines the
relationship between the
philosophical and logic notion of mereology and model-oriented
treatments of parts (as here: pipeline nets and units).
- Computing and the
Humanities
examines
possible bases for the
research into and development of IT systems that, when developed
from sound models of domains, may meet a number
of `humanity'-related criteria.
- Maurer
Festschrift Paper
examines domain
models as the basis for the
development of domain demos, domain simulators, and domain monitors
& controllers. The present paper, in its quest for domain demos
etc., relies on the observation made in [#!dines-maurer!#].
- Kiev I
and
Kiev
II Papers
In the first of these
references we methodically unravel a domain description, showing
most facets of domain engineering. In the second of these papers
we report on an emerging theory of domain descriptions.
- From Domains to
Requirements
This paper posits
that requirements engineering
pursued without a prior phase of domain engineering from which
significant parts of the requirements can be systematically
``derived'' may be the wrong way to develop software, cf. the next
reference.
- Montanari
Festschrift Paper
This paper
outlines some of the stages
and steps of domain engineering and some of the stages and steps of
requirements engineering -- all around a common example.
- Believable Software
Management
This paper reviews the
practical software
engineering management notions of process assessment and process
improvement as these notions are to be interpreted in the context of domain
and requirements engineering.
- de Roever
Festschrift Paper
This paper, like
[#!dines:urbino:2012!#], provides some insight into possible
theoretical foundations for domain descriptions.
- ICTAC 2006
Paper
This paper
reviews salient aspects of
domain engineering and posits a number of research topics suggested
for further study.
- Domain
Engineering
This paper
overviews stages and steps of
domain engineering.
- Financial Service
Industry
This
170+ page, incomplete draft report sketches various aspects of
banking and securities trading.
- Stock
Exchanges
This 74 page
report overlaps with the above but specifically models the Tokyo
Stock Exchange Trading Rules.
- Container Line
Industry
This almost 100 page draft report models a comprehensive set of a
container line (like, f.ex. the Danish Maersk Lines).
- Logistics
This draft document
models some of the aspects of logistics.
- The Market: Consumers, Retailers, Wholesaler and
Producers
This published paper models "a supply-chain market".
- Window Systems, Web and Transaction
Protocols
This incomplete report models
what it (might) mean[s] to be a window system (of recursively
defined windows [icons may reveal windows]), an extended SQL system,
and how window editing may involve a number of [say Internet] shared
``window''-like databases being updated according to the Two-phase
Commit Protocol.
- License
Languages
This
paper models, as script
languages, the commands required for (i) the downloading, editing,
sub-licensing, etc. of electronic media; (ii) the creating, editing,
copying, reading and trashing of public administration documents;
and (iii) the computerised support of patient hospitalisation whose
actions involve anamnese, analysis, diagnostics, creation of
treatment plans, treatments, etc.
- IT
Security
This
paper
suggests a model for the concept of IT Security Management as
described in ISO Standard ISO/IEC 17799.
- The Railway Domain
This Web page was established around
2003. It was intended as a focal point for academic R&D efforts in
one or another aspect of formal software development related to one
or another kind of railway and train software. Interest in this
``focal point'', unfortunately, never really ``took off''.
We refer to Toward a TRain
Book
as illustrating
fragments of a domain model for railways systems.
There are a number of Internet-based sets of lecture note slides on Domain
Science & Engineering. We refer to:
Other Textbooks on Formal Methods
The ideas of formal domain descriptions are independent of the
specific formal specification languages being used. Below we list some
other model-oriented formal (specification and development) methods.
-
D. Jackson: Alloy
Software Abstractions: Logic, Language, and Analysis.
The MIT Press, Cambridge, Mass., USA, April 2006.
ISBN 0-262-10114-9.
A delightful introduction to a delightful
`Abstraction, Modelling & Verification' using the Alloy
specification language.
-
J.-R. Abrial: B and Event B
The B Book: Assigning Programs to Meanings and Modeling in Event-B: System and Software Engineering.
Cambridge University Press, Cambridge, England, 1996 and 2009.
Seminal introductions to B and Event B
by the creator of these two languages.
- C. C. Zhou and M. R. Hansen.
Duration Calculus: A Formal Approach to Real-time Systems.
Monographs in Theoretical Computer Science. An EATCS Series.
Springer-Verlag, 2004.
The standard reference work on the continuous time,
interval temporal Duration Calculus logic by two of its
most prominent researchers and developers.
-
VDM
- D. Bjørner, C.B. Jones: The Vienna Development Method:
The Meta-Language, vol 61 of LNCS (Springer, 1978)
- D. Bjørner, C.B. Jones: Formal Specification and
Software Development (Prentice-Hall, 1982)
- C.B. Jones: Systematic Software Development using VDM, 2nd edn
(Prentice Hall International, 1990)
- C.B. Jones, R. Shaw: Case Studies in Systematic Software
Development (Prentice Hall International, 1990)
- John S. Fitzgerald and Peter Gorm Larsen.
Developing Software using VDM-SL.
Cambridge University Press, The Edinburgh Building, Cambridge CB2
1RU, England, 1997.
- J. Fitzgerald, P.G. Larsen: Modelling Systems - Practical Tools and
Techniques in Software Development, Second edn. (Cambridge University
Press, Cambridge, UK 2009)
- Vienna Development Method
- VDM:
Wikipedia
- VDM Portal
-
L. Lamport: TLA+
Specifying Systems.
Addison-Wesley, Boston, Mass., USA, 2002.
The standard reference work on Temporal Logic
of Actions by the creator of TLA+.
-
J. C. P. Woodcock and J. Davies: Z
Using Z: Specification, Proof and Refinement.
Prentice Hall International Series in Computer Science, 1996.
A standard reference to the Z formal
specification language and its use. Z was created by the
creator also of B and Event B: Jean-Raymond
Abrial.
As of August 26, 2010, the below URLs were OK.
For an unconventional CV click
this.
/home/db/2012/bjorner-phd-course-offer
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
/home/db/2012/bjorner-phd-course-offer/bjorner-phd-course-offer.tex
This document was generated using the
LaTeX2HTML translator Version 2002-2-1 (1.71)
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 bjorner-phd-course-offer
The translation was initiated by Dines Bjorner on 2012-07-31
Dines Bjorner
2012-07-31