ADVANCED SOFTWARE ENGINEERING 1
University of Aizu
Graduate School of Computer Science & Engineering
Spring Quarter 1997-98
Prof. C.
Nehaniv
- Description:
This course introduces advanced software engineering methods
for the specification of complex system within the context of
the software life-cycle. We put emphasis on software requirements, analysis
and design via sound engineering methods and discuss the relationship
of software engineering to the scientific method, mathematical
models and real-world systems. We cover the role of specification,
models and formal systems, case study examples, algebraic
specification, model-based specification, specification of
concurrent systems, formal methods in the development
environment, etc. We will learn how to think rigorously about
specifications, models, and will learn the OBJ3 algebraic specification
methodology, as well as studying the relation of the algebraic approaches
to the object-oriented paradigm via hands-on experience..
-
Projects and Tools:
Projects will involve students in the algebraic specification of
a substantial piece of software. We plan to use the OBJ3 system.
Other CASE tools available will include Rational Rose for the
development of object-oriented software.
References:
- Algebraic Semantics of Imperative Programs, Joseph
Goguen and Grant Malcolm, MIT Press, 1996.
- The Specificiation of Complex Systems, B. Cohen,
W.T. Harwood, M.I. Jackson, Addison-Wesley, 1986.
Assignment 1: (due April 28)
- Read and Understand, Chapters 1, (2), 3, of
The Specificiation of Complex Systems, start to read Chapter 4.
- Read and try to understand as much as you can of the OBJ example on
arithmetic exponentiation from Goguen & Malcolm's book.