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
Date: E-Mail: bjorner@gmail.com, URL:
www.imm.dtu.dk/~db
Course Dates: 8-19 November
Compiled: November 8, 2010
- This two (2) week course is an intensive course.
- Every day, for two weeks, there are two
course-sessions.
- A morning 2 hour lecture session.
- And an afternoon 2 hour project session - except Fri.22.11
where we shall have a 2 hour written exam.
- In addition you have to work, typically 2-3 hours every day on your
project.
- Contemplate this course only if you are willing to devote
yourself, full time.
- But then this course will be an eye-opener.
- It will fundamentally change your view of computer & computing
science, software engineering and informatics.
-
Latest/Last update to all texts:
Monday November 1, 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
-
Lecture Hours:
8:15-10:00
, every
day.
-
Project Hours:
13:00-15:00
, every
day: 8-17 Nov.
-
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
- I think I have made "the last" updates to all texts.
So you can now print whatever you may so wish to print.
-
Terminology:
There is a rather extensive 90 page, 814 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 141+90 page lecture notes
cross-reference each page of the 396
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.
Students may, instead of in
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 !
Name |
E-mail |
Project Group |
Sofia Cassel |
sofia.cassel@it.uu.se |
Health Care |
Jonathan Cederberg |
jonathan.cederberg@it.uu.se |
Airport + Air Traffic |
Ramûnas Gutkovas |
ramunasg@gmail.com |
Airport + Air Traffic |
Atefeh Maleki |
atma4108@student.uu.se |
Water Distribution |
Majid Khorsandi |
makh2415@student.uu.se |
Water Distribution |
Amin Khorsandi |
amkh8581@student.uu.se |
Water Distribution |
Othmane Rezine |
othmane.rezine@it.uu.se |
Health Care |
Martin Stigge |
Martin.Stigge@it.uu.se |
Health Care |
Paul Subotic |
psubotic@gmail.com |
Airport + Air Traffic |
Zhu YunYun |
Yunyun.Zhu@it.uu.se |
Health Care |
- Exam consist of two parts:
- a report, worked out in subgroups, of course participants;
- a two hour written test,
Friday, 19 November, 2010: 13:00-15: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
- (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
- (An abstraction of) JavaSpaces (!)
- Logistics and Transportation
- "The Market":
- Consumers
- Retailers
- Wholesalers
- Producers
- Distribution Chain
- The Gas/Oil Industry
- Pipelines
- Refineries
- Shipping
- Distribution
- (An abstraction of) Transaction Processing with
Two-Phase-Commit (!)
- Or other !
- Class is decomposed into groups of typically 4 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.
-
Please note:
Pls. put the following on the very top of
each sheet/page of report paper:
- group project name,
- names of all group members,
- date,
- time and
- page number.
- 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:
bjorner@gmail.com
- and snail-mail: Fredsvej 11, DK-2840, Danmark,
before
Tue., Dec. 5, 2010
- 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; Vol. 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 unconventional 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-11-08
Dines Bjorner
2010-11-08