User Tools

Site Tools


start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
start [2009/03/08 19:05] jonathanstart [2009/03/11 17:24] (current) jonathan
Line 6: Line 6:
   * Slides from the first lecture and for the second are available in the SVN repository.   * Slides from the first lecture and for the second are available in the SVN repository.
  
-  * Please try out the Rodin Event-B Eclipse tool (see below for links) in preparation for Monday's class+  * Please try out the Rodin Event-B Eclipse tool in preparation for Monday's class.
- +
-===== Contents ===== +
- +
- +
-Safety critical systems are complex systems that interact with a dangerous environment (e.g. nuclear reactors or radiation therapy machines such as the [[http://en.wikipedia.org/wiki/Therac-25|Therac-25]] for treating cancer patients). The specification and design of software and hardware for such systems is challenging because these systems may result in death or serious injury to people, loss or severe damage to equipment or environmental harm. So ordinary testing methods are insufficient to ensure that they work reliably and safely. +
- +
-In this course, we use industrial strength methods and tools such as [[http://www.event-b.org/|Event-B]], [[http://alloy.mit.edu/community/|Alloy]] and [[http://spinroot.com/spin/whatispin.html|Spin]] for the design of safety critical systems. These methods and tools are all in use in actual practice in industry. +
- +
-As explained by J.R. Abrial in his new book on Event-B, these methods and tools provide insights into specifying, modelling, and reasoning about the safety and correctness of such systems. These activities take place before undertaking effective coding of a computer system, so that the system in question will be correct by construction. The methods  we will look at include the ability to develop sequential programs, concurrent programs, distributed programs, electronic circuits, reactive systems, etc.  +
- +
-We construct a mathematical model of a program that is quite different from the program itself. It is far easier to reason about the model than about the program. We will study important notions such as abstraction and refinement: the idea being that an executable program is only obtained at the final stage of a sequence consisting of gradually building more and more accurate models of the future program (think of the various blue-prints made by an architects and engineers).  +
- +
-"Professional engineers can often be distinguished from other designers by the engineers’ ability to use mathematical models to describe and analyze their products." (David L. Parnas, “Predicate Logic for Software Engineering”).+
  
 +  * [[public:course|Course Contents]].
  
  
Line 32: Line 20:
  
 Location: SEL (Software Engineering Laboratory, CSEB2056) Location: SEL (Software Engineering Laboratory, CSEB2056)
 +
 +Office hours: directly after class.
  
start.1236539118.txt.gz · Last modified: 2009/03/08 19:05 by jonathan

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki