Monthly Archives: April 2010

What is an Agent?

An agent is a computer system that is capable of independent action on behalf its user/owner (figuring out what to be done to satisfy design objectives, not constantly being told). The main idea behind agents is the idea that they … Continue reading

Posted in Software Engineering | Tagged | Comments Off

Floyd-Hoare Logic

Floyd-Hoare Logic is a formal system with a set of logical rules for reasoning rigorously about the correctness of computer programmes. The central feature is the Hoare triple. Hoare Triples A Hoare triple {P} C {Q} is a formula. P, … Continue reading

Posted in Software Engineering | Tagged | Comments Off

Project Management for Adults – Why bother with Risk Managament?

If a project has no risk, don’t do it! Risks and benefits always go hand in hand. A Risk Metaphor Imagine your company, and your competitors as a set of down escalators. You are obliged to climb the escalator. If … Continue reading

Posted in Software Engineering | Tagged | Comments Off

A Simple Assertion Language for Formal Verification

Following on from our introduction of the basic concepts required to start to understand formal verification, we shall define a simple assertion language. An assertion is a logic formula describing a set of states with some “interesting” property. Also, recall … Continue reading

Posted in Software Engineering | Tagged | Comments Off

Stacks, Heaps, Variables and Pointers

It is important to have a solid understanding of the difference between stacks and heaps, and variables and pointers, before one can embark on the task of learning about Formal Verification of C-like languages. What’s Formal Verification? Formal Verification is … Continue reading

Posted in Software Engineering | Tagged | Comments Off