Category Archives: lecture
Brute Force and Sophistication
Sources of power for brute force Supercomputing Dedicated crypto-hardware Re-programmable hardware The web Special Purpose Hardware Breaking enigma code Expensive Lots of stuff in this lecture that is just random background; stuff about cracking RC5 and DES using the web … Continue reading
Asynchronous Notification and ATC in Ada
What’s an Asynchronous Notification technique? It’s a way of getting the attention of something (a task/process/thread/gerbil) without the task/process/thread/gerbil waiting. Basically an interrupt. Who needs it? To enable a task to respond quickly to a condition detected by another task. … Continue reading
Attribute Grammars
An attribute grammar, at its simplest, is a grammar with attributes attached to it. Previously we’ve discussed transforming the abstract syntax tree by explicitly traversing the tree. But instead we can do this shorter, implementation-independent specification. The ‘attributes’ in an … Continue reading
Ada’s Protected Objects
Essentially Ada’s protected objects encapsulate data and operations, and the operations then have automatic mutual exclusion. Guards can also then be placed on these operations for condition synchronization. They used to be called protected records because the data is like … Continue reading
Shared Memory Communication and Java’s Synchronized Methods
For a concurrent program to be correct it needs decent synchronisation (wow, he uses both spellings…he used a ‘z’ in the title which I copy and pasted, and an ‘s’ everywhere else) and communication. Shared variables communication We all know … Continue reading
More on Scoping. Type Checking
An identifier (e.g. +) has several meanings depending on the type at which it is used (polymorphic?). The entry in the symbol table for this identifier must contain attribute records for all meanings in the scope. Dynamic Scoping In previous … Continue reading
Ada Tasks and Java Threads
Ada task specifications explain how you can communicate with them. The body can be compiled separately from the specification (normal Ada stuff). You can have tasks that have no way of communicating with them (a one-way client type situation). There … Continue reading
Exception Handling
Ada & exception handling The domain of the exception is the block (the begin). Exception propagation. No syntactic relationship between subprograms and exceptions; so the exceptions that might be raised are specified at a package level, not a procedure level. … Continue reading
Divide and Conquer Attacks
Divide and Conquer attacks exploit approximate linear relationships between function inputs and its outputs. Linearity is bad. Geffe Generator 3 feedback registers 1 feedback register selects between the other 2 Z = (a & b) + (not(a) & c) Flaw … Continue reading