April 9-11th 2014
Churchill College, Cambridge UK


Session Title

Agile Code Generation from Models

Session Type Keynote Talk
Duration 75 minutes
Session Description

"Agile" and "models" do not often appear together in the same sentence, yet when models are executable they can be discussed with customers (more easily than code!), tested through execution, timeboxed in their construction and so on. Executable models, then, can be agile, but what is the process for code generation?

This keynote outlines a process for agile code generation from executable models. We begin with the observation that there are two inputs for code generation: the application domain models and the data-and-execution domain that determine how data and execution will be managed, and so how the code will be generated. Each may be constructed in an agile manner, initially depending on available model compilers, then prototypes, then the Full Monty. Or, if we come at it from the other direction, first by performance-testing prototypes, then on application-model fragments, then an integrated test process and finally system integration for behaviour and performance. We show how this process is "agile", but promise not to bore you with agile propaganda.


Stephen Mellor (Independent)

Stephen J Mellor is an independent teacher and consultant focussed on methods for the construction of real-time and embedded systems. He is the author of Structured Development for Real-Time Systems (way back in 1985), Object Lifecycles, Executable UML, and MDA Distilled. He is also (perhaps surprisingly) a signatory to the Agile Manifesto.

Until recently, he was Chief Scientist of the Embedded Software Division at Mentor Graphics, and founder and some-time president of Project Technology, Inc., before its acquisition. He participates in multiple UML/modeling related activities at the Object Management Group, and was a member of the OMG's Architecture Board, which is the final technical gateway for all OMG standards.

Mr Mellor was the Chairman of the Advisory Board to IEEE Software for ten years and a two-time Guest Editor of the magazine, most recently for an issue on Model-Driven Development. He is also adjunct professor at the Australian National University in Canberra, ACT, Australia.