From the monthly archives:

April 2010

What is an Agent?

April 29, 2010

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 are autonomous: they are able act independently, exhibiting control over their internal state. Definition An [...]

Read the full article →

Project Management for Adults – Why bother with Risk Managament?

April 25, 2010

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 you pause, even for a second, you will begin to fall behind. Whoever, reaches the [...]

Read the full article →

TextMate Micro-Blog

April 25, 2010

I’ve started a new micro-blog for sharing tips and links about the Mac text editor, TextMate. I use it as my primary text editor but I’m far from an expert, which is not ideal. As per the Pragmatic Programmer, I feel I should be able to use it fully, employing its advanced features. So, as [...]

Read the full article →

Floyd-Hoare Logic

April 25, 2010

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, Q are fomulae in a base logic (e.g. full predicate logic etc.) and C is [...]

Read the full article →

A Simple Assertion Language for Formal Verification

April 21, 2010

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 that States = Stacks x Heaps, so an assertion can refer to both stack and [...]

Read the full article →

Stacks, Heaps, Variables and Pointers

April 21, 2010

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 a branch of Computer Science responsible for formally proving the “correctness” of programmes. Usually, this [...]

Read the full article →