Category Archives: lecture
Reliability and Fault Tolerance
There are 6 aspects of Dependability: Availability Reliability Safety; non-onccurrence of catastrophic consequences Confidentiality; security Integrity; information doesn’t get altered improperly Maintainability; system has ability to can be repaired/evolved Reliability of a system is a measure of how successful it … Continue reading
Stream Ciphers part A
What are Stream Ciphers Using a key ‘stream’ to encode plaintext. For example the Vernam Cipher works by generating a random bit stream and then XORing that stream on a bit by bit basis. The same bit stream can be … Continue reading
Introduction to Ada and Java
Most of this was just a recap on ADS. OOP in Ada We wont use OOP in Ada too much. Thankfully. It’s based on type extensions and dynamic polymorphism. So you can do something like: type EA is tagged record … Continue reading
Introductory Lecture
Terminology Hard real-time: Systems where it is imperative that responses occur within the required deadline, e.g. a flight control system Soft real-time: Systems where it would be useful to know the data immediately, but the data can still be useful … Continue reading
State Based to Trace Based, an example
Not strictly lecture notes, these are my own notes I have written based on what I have observed. They may not be factually correct, but are probably a damn bit easier to understand than other content This is running through … Continue reading
Answering Exam Questions
Show in detail… If you’re required to show that something holds for a set of given functions, use certain base cases. For example in the 08-09 paper you are given some boolean algebra laws and asked to show that another … Continue reading
Some notes on refinement
Refinement is a task that sounds a lot like the software engineering practises we learnt about in MSD. It is about deciding when an implementation satisfies a contract. When talking about refinement, we refer to the abstract specification/design and the … Continue reading
Interactive Haskell programs, a primer
Functions There are 3 important functions when dealing with interactive Haskell programs: interact interact takes a function of type String -> String, and the entire input from stdin is passed to this function as its input, and the resulting string … Continue reading
The Exam Lecture
Formalisation is good. Look at notation (Alloy). Specification. What not how. State based (derived from Z). Trace-based. Hoare-style (huh?!). He put this in brackets, maybe it wont be in the exam. Refinement. How, linked to what. Data-refinement; forward and backward … Continue reading
Proving Equivalences
We are asking the question How can we establish whether two functional expressions are equivalent (interchangeable)? You can’t just test across a few results/arguments; there may be an infinite number of possible arguments. Instead, you can use maths style proving … Continue reading