Miscellaneous Issues in
A Software Engineering Methodology:
(1) Toward a Domain Theory of Transportation
(2) A Triptych of Software Development
(3) Petri Nets, Message Sequence Charts and CTPs
Lectures at UNU-IIST, Macau, 11am 3-22 June, 2005

Dines Bjørner
Fredsvej 11, DK-2840 Holte, Denmark
E-Mail: dines@bjorner.biz, URL: www.comp.nus.edu.sg/~db

May 13, 2005

Abstract

In nine lectures we intend to introduce a number of facets of computing science and software engineering. They are: (1) the both property- and model-oriented formalisation of what is described, prescribed or specified; (2) software engineering as properly proceeding from domain descriptions via requirements prescriptions to software specification and implementation; (3) attempts to establish domain theories, in this case for transportation; and (4) - more narrowly - Petri nets, message sequence charts (MSCs) and communicating transaction processes (CTPs).

  1. Lecture #1: FRIDAY 3 JUNE, 11 AM

    NARRATION AND FORMALISATION OF STATICS OF RAILWAY NETS

    1. Narration of Net Topology

    2. Formalisation of Net Topology

    We cover rail nets as consisting of stations and lines, and these as consisting of linear, simple switch, crossover, double slip crossover, and other rail units, and rail units as embodying a concept of connectors.

    The formalisation introduces us to property-oriented formal specification in terms of algebraic sorts, observer (and generator) functions, and axioms, as to model-oriented formal specification in terms of sets, Cartesians, lists, maps, types, etc.

  2. Lecture #2: MONDAY 6 JUNE, 11 AM

    ON A SOFTWARE ENGINEERING TRIPTYCH

    1. Software Design

      Before software can be designed its requirements must be understood.

    2. Requirements Engineering

      Before requirements can be formulated one must understand the (application) domain.

    3. Domain Engineering

      We outline facets of domain models: intrinsics, business processes, support technologies, management & organisation, rules & regulations, scripts and human behaviour.

  3. Lecture #3: WEDNESDAY 8 JUNE, 11 AM

    NARRATION AND FORMALISATION OF DYNAMICS OF RAILWAY NETS AND TRAIN TRAFFIC

    1. Narration of Net and Traffic Dynamics

    2. Formalisation of Net and Traffic Dynamics

      1. States of Rail Units

        We cover states of rail units, open and closed routes, reachability of station tracks from lines and vice-versa, and net dynamics.

      2. Train Traffic

        We cover train movement, train traffic and their well-formedness, time tables and relations between train traffic and time tables.

  4. Lecture #4: FRIDAY 10 JUNE, 11 AM

    NARRATION AND FORMALISATION OF OTHER RAILWAY SYSTEM ISSUES

    1. Rail-car Maintenance

      Regularly, round-the-clock trains need have their individual cars regularly serviced, not all at the same time, and not all at the same maintenance yard. Hence a train time table must ensure that any train car whose visit to a maintenance yard is up are close to, or in that yard.

      We narrate the problem and highlight possible formalisation.

    2. Train Rostering

      Trains are staffed and staff need travel to and from stations to commence and end their tours of duty. Many constraints govern which staff can go on what trains, where and when.

      We narrate the problem and highlight possible formalisation.

    3. Net and Train Traffic Planning

      A proper passenger statistics show, for suitable round-the-clock time intervals which numbers of passengers wish to travel, or are actually travelling between which small or large centers of population.

      A rail-net can be characterised wrt. its optimality in affording implied travels, and a time table can likewise be characterised wrt. its optimality in actually offering such travels.

      We narrate the problem and highlight possible formalisation.

    4. Train Composition and Decomposition

      Commuter trains oftentimes travel fairly long distances. And usually such commuter trains undergo changes in their composition of passenger cars during their travel. Problems of affording simple coupling and decoupling of cars at stations, depending on the travel direction and whether a station forces a direction reversal need be addressed in planning.

      We narrate the problem and may highlight a possible formalisation.

    5. Other Railway Facets:

      We shall only hint at the below problems and their formal solution:

      1. Station Interlocking (and Petri Nets)

      2. Line Direction Agreement (and Message Sequence + Statecharts)

      3. Line Blocking (and Statecharts)

  5. Lecture #5: MONDAY 13 JUNE, 11 AM

    SOFTWARE DEVELOPMENT: FROM DOMAINS TO SOFTWARE

    1. From Domain Descriptions to Requirements Prescriptions

      We overview domain requirements, interface requirements and machine requirements issues and indicate how to create domain requirements from domain descriptions using a number of domain-to-requirements operations: projection, determination, instantiation, extension and fitting.

    2. From Requirements Prescriptions to Software Design Specification

      We very briefly indicate how to bridge the development from domain description of a simple time table concept via requirements to a component-based distributed and concurrent client/server computing system.

  6. Lecture #6: WEDNESDAY 15 JUNE, 11 AM

    1. ON DOMAIN THEORIES

      We indicate essential issues in domain models for:

      1. Transport Networks in General

      2. Container Logistics

      3. Financial Service Systems

      4. Manufacturing: Machining and Assembly

      5. &c.

    2. CLOSING

      And we close by discussing, with participants, modalities of creating and propagating domain theories.

  7. Lecture #7: FRIDAY 17 JUNE, 11 AM

    PETRI NETS

    1. Narration of Condition Event Petri Nets (CENs)

    2. Formalisation of CENs in RSL

    3. Other Forms of Petri Nets

  8. Lecture #8: MONDAY 20 JUNE, 11 AM

    MESSAGE SEQUENCE CHARTS (MSCS)

    1. Narration of Simple MSCs (SMCCs)

    2. Formalisation of Simple SMSCs in RSL

    3. Other Forms of Sequence Charts (MSCs, HMSCs, LSCs)

  9. Lecture #9: WEDNESDAY 22 JUNE, 11 AM

    COMMUNICATING TRANSACTION PROCESSES (CTPS)

    • [] This lecture will be given by Mr. Yang Shaofa
      PhD student at NUS, Singapore

    1. Narration of CTPs

    2. Formalisation of CTPs in RSL

All lecture slides will be made available electronically, on day of lecture. Usually such that one can print eight slides to an A4 page.

Dines Bjørner

National University of Singapore