Dines
Bjørner's Course Web Page
Department of Information Technology
Computing
Science Division
Uppsala University, Sweden
Host: Prof., Dr. Lars-Henrik Eriksson
E-Mail: Lars-Henrik.Eriksson@it.uu.se
E-Mail: bjorner@gmail.com, URL:
www.imm.dtu.dk/~db
Course Dates: 8-19 November
Compiled: October 27, 2010
-
Slight course rescheduling, new texts and slides:
Monday October 1. 2010
-
Creation of this Web page:
Tuesday June 8, 2010
The information [1-6] given in this section takes precedence over
information given elsewhere in this document.
60 ECTS credits at the advanced [Master's] level
Basic understanding of Functional Programming
Basic understanding of simple Mathematical Logic, Discrete
Mathematics: sets, sequences, functions, Cartesian products.
Pass/Fail
In order to pass, the student must be able to
- understand the rôle of domain engineering in software engineering
- understand the methodology of domain engineering
- develop domain models
- use the RAISE specification language or some other formal
specification notation
Phases of Software Engineering, including Domain Engineering and
Requirements Engineering.
Precise natural language for specification.
Formal specification languages.
Methodological stages of Domain Engineering.
Lectures, lesson, seminars, project.
Written examination (3 ECTS credits) and a project (4,5 ECTS credits).
Course notes by the instructor.
See "clickable" URLs in Section
Lecture Timetable and Course Texts and Slides
below.
This Web page, with its sub-Web pages, provides
information about the course to be given at Eötvös Loránd
University.
-
Course Name:
From Domains to Requirements
-
Course Period:
8-19 November
,
2010
-
Course Days:
Monday-Friday
, every day.
-
Course Venue - AM Lecture Session
- to come
-
Course Venue - PM Project Tutoring Session
- to come
-
Course Hours:
8:00-10:00, 13:00-15:00
, every
day.
-
Course Lecture Texts:
-
Course Registration:
Usual place!
-
Course Exam:
Friday, 19 November, 2010: 13:00-15:00
-
Practical Details:
Address: Computing Science Division
Department of Information Technology
Uppsala University
Box 337
SE-751 05 Uppsala
Sweden
Visit: ITC building 1, floor 3, room 1340
Phone: +46 18 - 471 1051
Fax: +46 18 511925
- You may expect occasional updates to lecture notes cum slides
up to the day of lecture
- so do not print out entire lecture notes now !
-
Terminology:
There is a rather extensive 90 page, 813 entry
terminology document.
You will most likely not have seen such a complete terminology
for computing science and software engineering terms before.
-
Lecture Slide Table-of-Contents:
There is a complete table-of-contents for all
384 slides.
The 144 page lecture notes
cross-reference each page of the 384
lecture slides.
Check for yourself !
- 4th-5th semester MSc student or PhD student
- Basic understanding of Functional Programming
- Basic understanding of simple Mathematical Logic
- Discrete Mathematics: sets, sequences, functions, Cartesian products
- Willingness to abstract
- Eagerness to write down nice, concise English
- The aim of the course is to cover a number of
"front-of-the-wave" software engineering topics:
- two of the three Triptych of Software Engineering phases of
- Domain Engineering and
- Requirements Engineering.
It is the aim to show how these two phases relate.
- To show the dual benefit of both
- precise national language Narratives coupled with
- Formal Specification.
- To show that the new element of software engineering, namely
domain engineering,
has a number of precise methodological
stages of
- intrinsic,
- support technology,
- rules & regulations,
- script,
- management & organisation and
- human behaviour
facets.
- To show that requirements engineering now has a rather
different methodology, including:
- domain requirements, with its
- projection,
- instantiation,
- determination,
- extension and
- fitting
domain-to-requirements operations.
- The objectives of the course and the course project is to
- help ensure that course participants
- get a professional education and part-training as responsible
software engineers and
- are exposed to a number of exciting research topics.
- The objectives are further that the course participants become
acutely aware of and familiar with
- ability to express themselves
- both in informal, yet precise natural language
- and in some formal specification language.
- Finally it is an objective of the course that the course
participants
- discover the need for a serious attention,
- in software engineering,
- as well as in computing science research
to domain engineering.
- It is also an objective to for the students to learn to write
formal specification using
RSL
,
the
RAISE
S
pecification
L
anguage.
RAISE
stands for
R
igorous
A
pproach to
I
ndustrial
S
oftware
E
ngineering.
Students may, instead of in
RAISE/RSL
[4,5,2], work out the formal aspects of
their course report in
Alloy
[6],
Event B
[1],
VDM-SL
[3],
Z
[7], etc., or in good, simple and reliable Mathematics !
- Exam consist of two parts:
- a report, possibly worked out individually, or in subgroups, or
by full group of course participants;
- a two hour written test,
Friday, 22 October, 2010: 14:00-16:00
- Written test checks your understanding of your own and your
fellow students' reports !
- Students are to choose one of the below topics for their term
project:
- Airports, Airlines, Air Traffic
-
New:
(An abstraction of) Computer Display Windows (!)
- Financial Service Industry
- Banking
- Commodities Exchange (Brokers, Traders, Stock Exchanges, ...)
- Credit Cards
- Insurance
- Portfolio Management
- Regulatory Agencies
- Health Care
- Hospitals
- Private Physicians / Family Doctors
- Pharmacies
- Insurance
- National Health Service
-
New:
(An abstraction of) JavaSpaces (!)
- Logistics and Transportation
- "The Market":
- Consumers
- Retailers
- Wholesalers
- Producers
- Distribution Chain
- The Gas/Oil Industry
- Pipelines
- Refineries
- Shipping
- Distribution
-
New:
(An abstraction of) Transaction Processing with
Two-Phase-Commit (!)
- Or other !
- Class is decomposed into
groups of typically 3 students each
- Each group selects or is given a subtopic to work on
- Each group delivers simple hand written notes
the first week and
- then LATEX printed notes three times during the following week
- Groups give copies to all class students at the time of
delivering these reports
to the lecturer, namely just before
afternoon session.
- Lecturer goes through delivered reports in class and suggests
ideas etc.
- Groups are more than welcome to consult the Lecturer outside
session hours:
- 10:30-12:00am, 3:30-4:30pm, Monday-Thursday
- in lecturer's office
- The report shall follow a format with respect to sections,
subsections, etc., set by the lecturer.
- The report shall describe a domain in clear and crisp English
- and also in some formal specification languages (SLs)
- Alloy [6],
Event B
[1],
RAISE/RSL [4,5,2], VDM-SL [3], Z
[7], etc., or in good, simple
Mathematics !
- VDM stands for the Vienna Development Method !
- If a group does not know an SL, then try "mimic" the lecturer's
RAISE/RSL.
- You will not be judged harshly, but according to your honest attempt !
- Project report to be submitted
- by E-mail, in .ps or .pdf form, or, preferably snail-mail:
Fredsveh 11, DK-2840, Danmark,
before
Tue., Dec. 5, 2010
- to
bjorner@gmail.com
- Lecturer will evaluate exam and report in
December 2010
- Consolidated grades will be published
Mon. 20 December, 2010
-
- 1
-
J.-R. Abrial.
The B Book: Assigning Programs to Meanings and Modeling in Event-B: System and Software Engineering.
Cambridge University Press, Cambridge, England, 1996 and 2009.
- 2
-
D. Bjørner.
Software Engineering, Vol. 1: Abstraction and Modelling;
Vol. 2: Specification of Systems and Languages; ol. 3: Domains, Requirements
and Software Design.
Texts in Theoretical Computer Science, the EATCS Series. Springer,
2006.
- 3
-
J. Fitzgerald and P. G. Larsen.
Modelling Systems - Practical Tools and Techniques in Software
Development.
Cambridge University Press, Cambridge, UK, Second edition, 2009.
- 4
-
C. W. George, P. Haff, K. Havelund, A. E. Haxthausen, R. Milne, C. B. Nielsen,
S. Prehn, and K. R. Wagner.
The RAISE Specification Language.
The BCS Practitioner Series. Prentice-Hall, Hemel Hampstead, England,
1992.
- 5
-
C. W. George, A. E. Haxthausen, S. Hughes, R. Milne, S. Prehn, and J. S.
Pedersen.
The RAISE Development Method.
The BCS Practitioner Series. Prentice-Hall, Hemel Hampstead, England,
1995.
- 6
-
D. Jackson.
Software Abstractions: Logic, Language, and Analysis.
The MIT Press, Cambridge, Mass., USA, April 2006.
ISBN 0-262-10114-9.
- 7
-
J. C. P. Woodcock and J. Davies.
Using Z: Specification, Proof and Refinement.
Prentice Hall International Series in Computer Science, 1996.
- My book in Chinese:
- Ordering information:
- The
R
AISE
S
pecification
L
anguage,
RSL
.
- Chris George: Formal Software Specification Using
RAISE
- Dines Bjørner. Software Engineering,
Texts in Theoretical Computer Science, the EATCS Series. Springer,
2006.
- Vol. 1: Abstraction and Modelling.
- Vol. 2: Specification of Systems and Languages.
Chapters 12-14 are primarily authored by Christian Krog Madsen.
- Vol. 3: Domains, Requirements and Software Design.
- There are many other formal development approaches:
-
Alloy
- Daniel Jackson.
Software Abstractions Logic, Language, and Analysis.
The MIT Press, Cambridge, Mass., USA, April 2006.
ISBN 0-262-10114-9.
- The Alloy Home Page
-
ASM
-
B
- Jean-Raymond Abrial.
The B Book: Assigning Programs to Meanings.
Tracts in Theoretical Computer Science. Cambridge University Press,
Cambridge, England, 1996.
- B4free
- Atelier B
-
Event B
-
VDM-SL
-
Z
- J. C. P. Woodcock and J. Davies.
Using Z: Specification, Proof and Refinement.
Prentice Hall International Series in Computer Science, 1996.
- The Z Notation
- Etcetera.
As of August 26, 2010, the below URLs were OK.
For an unconventiomal CV click
this.
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Dines
Bjørner's Course Web Page
Department of Information Technology
Computing
Science Division
Uppsala University, Sweden
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 index
The translation was initiated by Dines Bjorner on 2010-10-27
Dines Bjorner
2010-10-27