Anthony James Howard Simons

Learn More
The state of the art in component-based software development depends on the notion of interfaces and interface matching. This only partly solves the problem of safe component usage and substitution, dealing with syntactic compatibility. We present a specification method that describes under what conditions a component is behaviourally compatible with the(More)
OBJECTIVE To evaluate the effect of routine anastomotic leak testing (performed to screen for leaks) vs selective testing (performed to evaluate for a suspected leak in a higher-risk or technically difficult anastomosis) on outcomes in colorectal surgery because the value of provocative testing of colorectal anastomoses as a quality improvement metric has(More)
This paper shows how Design Patterns may be used to reveal properties of object-oriented development methods. The responsibility-driven and event-driven design methods are contrasted in the way they transform and layer systems. Each method elevates a different modularising principle: contract minimisation and existence dependency. Different design patterns,(More)
Where no independent specification is available, object-oriented unit testing is limited to exercising all interleaved method paths, seeking unexpected failures. A recent trend in unit testing, that interleaves dynamic analysis between each test cycle, has brought useful reductions in test-set sizes by pruning redundant prefix paths. This paper describes a(More)
This paper shows how Design Patterns may be used to reveal important properties of object-oriented development methods. The responsibility-driven and event-driven design methods are contrasted with a direct encoding of analysis models to show how these methods properly transform and layer systems. Each method elevates a different modularising principle:(More)
We present first steps of a formalisation of meta modelling in a constructively typed programming language, explaining its potential for specifying model transformations. We describe our meta-model encoding and outline our automated theorem prover integration. Our aim is to provide an environment for formally developing software transformations, which are(More)
This paper presents a framework for model transformation, organised around Java agents. Internally, the agents are hierarchically composed to build each translation step, offering a fine-grained control over the transformation. Externally, a linear composition of translation steps is used to create a multi-level, forwards transformation from high-level(More)