Calendar description Gunnar Gotshalks Last updated 1995 July 27
System Development deals with the construction of systems of interacting processes. It takes a great deal of knowledge and experience to develop systems of interacting processes. In this course we can only touch on the highlights and get acquainted with various methods. The expectation is that you can learn enough of the methods and technical notations discussed in the course to be able to carry on learning on your own.
Lecture Notes on Jackson System Development G. Gotshalks Winter Term 1995/96, about 50 pages Selected Readings for COSC4311, System Development Collected by G. Gotshalks Winter Term 1995/96, about 100 pages Z Guide for Beginners M. McMorran, S. Powell Blackwell Scientific Publications, about 250 pages
On class participation The course format is an interleaving of lecture and seminar style. I expect lots of participation and discussion. You will have to draw on your past experiences, current readings and exercises to ask and answer questions raised by myself and the other students. You will be evaluated on your participation.
On readings You will be reading one text book (on Z), a monograph on JSD, a selection of papers. In addition you will browse through parts of two additional texts (on reserve in Steacie Library); one on JSD and the other on CSP. You are asked to read relevant material before the class discussion on the topic.
On exercises Exercises will be given to be done for class discussions. These will be assigned in class and posted in the course directory.
Spend a reasonable amount of time on each exercise. Simply giving an effort leads to a learning experience and discussions. The major point of an exercise is to get all class members thinking about the same problem.
On reports There will be three reports submitted for evaluation. Each report will deal with each of the three parts of the three parts of the course -- JSD, CSP, Z.
On tests A single take home test has been scheduled for the course. The test will be essay style and consist of questions on all parts of the course and their relationship.
PART 1: JSD -- September 11 .. October 16 -- about 8 lectures PART 2: CSP -- October 18 .. November 8 -- about 7 lectures PART 3: Z -- November 13 .. December 6 -- about 8 lectures
Report 1 20% Report 2 20% Report 3 20% Final take home test 25% Participation 15%
The guideline below shows on what basis each grade will be given. The grading guideline is based on the University standard published in the York Calendar.
The grades for each individual piece of work will be combined using a weighted average of the point values associated with each grade. The point values are the mid-points of the equivalence between letter and point value --- `.5' is raised.
A+ (9) Exceptional = Thorough knowledge of concepts and/or techniques and exceptional skill or great originality in the use of those concepts and techniques in satisfying the requirements of a piece of work or course.
A (8) Excellent = Thorough knowledge of concepts and/or techniques together with a high degree of skill and/or some elements of originality in satisfying the requirements of a piece of work or course.
B+ (7) Very Good = Thorough knowledge of concepts and/or techniques together with a fairly high degree of skill in the use of those concepts and techniques in satisfying the requirements of a piece of work or course.
B (6) Good = Good level of knowledge of concepts and/or techniques together with a considerable skill in using them in satisfying the requirements of a piece of work or course.
C+ (5) Competent = Acceptable level of knowledge of concepts and/or techniques together with considerable skill in using them to satisfy the requirements of a piece of work or course.
C (4) Fairly Competent = Acceptable level of knowledge of concepts and/or techniques together with some skill in using them to satisfy the requirements of a piece of work or course.
D+ (3) Passing = Slightly better than minimal knowledge of required concepts and/or techniques together with some ability to use them in satisfying the requirements of a piece of work or course.
D (2) Barely Passing = Minimum knowledge of concepts and/or techniques needed to satisfy the requirements of a piece of work or course.
E (1) Marginally failing.
F (0) Failing.
Due dates for reports and tests Follows the Faculty of Pure and Applied Science dates. Report 1: Monday, October 23 Report 2: Monday, November 13 Report 3: Monday, December 11 Take home test: given out Wednesday, December 6 due Wednesday, December 20 Miscellaneous Dates affecting the course. First day of classes (fall term) : September 11 Last day to enrol in the course : September 23 Rosh Hashana : September 25 no classes Yom Kippur : October 4 no classes Thanksgiving : October 9 no classes Last day to drop the course : November 11 Last day of classes (fall term) : December 6
[GOTS92] G. Gotshalks, Designer's Guide for Using FlexOr, IBM Technical Report TR74.083, 1992, XRX ??? [JACK83] M. Jackson, System Development, QA76.9 S88 J33 1983 [JACK75] M. Jackson, Principles of Program Design, QA76.6 J32 [INGE79] L. Ingevaldsson, JSP, A Practical Method of Programming, QA76.6 I5 23 [HOAR85] C.A.R. Hoare, Communicating Sequential Processes, QA76.6 H57 1985 [SPIV89] J.M. Spivey, The Z Notation: A Reference Manual, 2'nd edition, Prentice-Hall, 1992.
---------- The following is the contents of the selected readings. ----------
[BLUM94] B.I. Blum, A Taxonomy of Software Development Methods, Comm. ACM, Vol 37, No. 11, November 1994. [JACK87] M. Jackson, Power and Limitations of Formal Methods for Software Fabrication, JIT, 2,2, June 1987. [JAVE87] S. Javey, An Exercise in JSD: Derivation of Executable Specifications, Informal draft, Dept. of Computer Science, York University, 1987. [PARN90] D.L. Parnas, A.J. van Schouwen, S.P. Kwan, Evaluation of Saftey Critical Software, Comm. ACM, Vol. 33, No. 6, June 1990. [SAND89] B. Sanden, An Entity-Life Modeling Approach to the Design of Concurrent Software, Comm. ACM, Vol 32, No. 3, March 1989. [SRID85] K.T. Sridhar, C.A.R. Hoare, JSD Expressed in CSP, Technical Monograph PRG-51, Oxford University Computing Laboratory, 1985. [CSP notation] Table of CSP notation taken from C.A.R. Hoare, Communicating Sequential Processes, pp 18-22, Prentice-Hall, 1985.
---------- The following is a list of interesting books on software design. ----------
[BOOC91] G. Booch, Object Oriented Design with Applications, Benjamin/Cummings, 1991. [BUDG94] D. Budgen, Software Design, Addison-Wesley, 1994. [CAME83] J.R. Cameron, JSP & JSD: The Jackson Approach to Software Development, IEEE Computer Society Tutorial, 1983 QA 76.6 C33 86 1983. [JACK75] M. Jackson, Principles of Program Design, QA76.6 J32 [JACK83] M. Jackson, System Development, Prentice-Hall, 1983. Out of print. QA76.9 S88 J33 1983. [HINC95] M.G. Hinchey, S.A. Jarvis, Concurrent Systems: Formal Development in CSP, McGraw-Hill, 1995 [HOAR85] C.A.R. Hoare, Communicating Sequential Processes, Prentice-Hall, 1985. QA76.6 H57 1985. [INCE92] D.C. Ince, An Introduction to Discrete Mathematics, Formal System Specification, and Z, 2'nd edition, Clarendon Press, 1992. [MCMO93] M. McMorran, S. Powell, Z Guide for Beginners, Blackwell Scientific Publications, 1993. ISBN 0-632-03117-4 Hard to get. Current contact. Alfred Waller Limited, Publishers Orchards, Fawley, Near Henley-on-Thames, Oxon RG9 6JF Tel: (0491) 638694 Fax: (0491) 638833 [MART87] J. Martin, Recommended Diagramming Standards for Analysts and Programmers: A Basis for Automation, Prentice-Hall, 1987. T 57.6 M3485 1987 [RUMB91] J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorenson, Object-Oriented Modelling and Design, Prentice-Hall, 1991. [SPIV92] J.M. Spivey, The Z Notation: A Reference Manual, 2'nd edition, Prentice-Hall, 1992. [SUTC88] A. Sutcliffe, Jackson System Development, Prentice-Hall, 1988. QA 76.9 S88 S88 1988