Realising MDA - A Precise Metamodelling Approach (UML 2001, Canada)

This presentation describes the motivation and approach to defining modelling languages through the use of meta-models. The key idea is that a modelling language, although primarily graphical, should be precisely defined using the same techniques as textual languages used for Software Engineering - in terms of a syntax domain and a semantic domains with a mapping between them.
View more presentations from ClarkTony.

ISWIM for Testing - A Model Driven Approach (ASTRANet Invited talk, UK 2007)

This presentation describes an approach to model-based testing that uses object diagrams to express invariants and pre- post- conditions for system models. The presentation also describes an engine for executing the tests in terms of an implementation under test
Filmstrip testing
View more presentations from ClarkTony.

An Introduction to DSLs with XMF (Tutorial given at TOOLS Europe, Zurich, 2008)

A tutorial given at TOOLS 2008 that provides an overview of textual DSLs, a design process and provides numerous examples of implementing various DSL features using the XMF language system.
Dsl tutorial
View more presentations from ClarkTony.

Beyond Annotations: A Proposal for Extensible Java (Presentation at SCAM 08, ZBeijing, China, 2008)

A presentation that argues for extending Java with syntax classes to support language oriented programming. The proposal shows how the XMF syntax class mechanism can be added to Java to allow new language constructs to be added to Java in a modular and interoperable way.
Scam 08
View more presentations from ClarkTony.

Testing with Filmstrips (Presentation given at Bournemouth University, UK 2009)

This presentation shows how use case models in UML can be extended with information that how the individual use cases can be viewed as precisely defined functions that are composed into behaviour descriptions called filmstrips. A language for expressing filmstrips is presented that can be used to automatically test Java programs.
Filmstrip testing
View more presentations from ClarkTony.

Formalizing Homogeneous Language Embeddings (LDTA at ETAPS 2009 York, UK)

This presentation provides an overview of the key features of an approach to modelling domain specific languages using the mu-calculus. The operational semantics for the mu-calculus can be extended using mu-calculus programs. We show that this is an essential feature for the independent definition of domain specific languages and provide some examples.

Formalizing homogeneous language embeddings
View more presentations from ClarkTony.
Testing Functional Requirements with Pattern Directed Filmstrips (AST at ICSE 2009 Vancouver, Canada)

This presentation provides the definition of a DSL for constructing pattern directed filmstrips. The DSL is defined both as an extension to Use Case/Object diagrams and as a text-based language.
Filmstrip testing
View more presentations from ClarkTony.

Results of KISS DSL Workshop (Code Generation 2009 Cambridge, UK)
Code gen 09 kiss results
View more presentations from ClarkTony.

KISS is a collection of individuals that aim to provide guidelines relating to DSL design and interoperability. KISS runs a series of workshops where members and other interested parties get together and address issues relating to the KISS aims. This workshop at Code Generation 09 produced a collection of principles for DSL design. These slides are the output of the workshop presented at the end of the conference.
MCMS Project IDS SIG (JISC STG Initial Workshop, Oct 2009, London, UK)

Presentation at the initial JISC STG Workshop describing the interim results for the Mining Course Management project that aims to develop techniques and systems for detecting issues relating to student retention in HE. The presentation covers the initial aims for a special interest group (SIG) in Intelligent Decision Support (IDS) for HE as part of the JISC funded STG programming.
Mcms and ids sig
View more presentations from ClarkTony.
A MOP Based DSL for Testing Java Programs using OCL (OCL 09 Workshop, Models 09 Denver, Colorado, USA)

This presentation describes a pattern that can be used to provide support for mixed representations for objects when processing OCL statements. The different representations are supported via a meta-object protocol (MOP). The patterns are implemented using the XMF platform. A case study shows how the patterns are applied to a new language feature that implements a testing feature where conditions are expressed in OCL.
Ocl 09
View more presentations from ClarkTony.
The Knowledge Industry Survival Strategy (KISS @ OOPSLA 09, Orlando, USA)

This presentation provides an overview of the KISS principles and some key issues relating to model based tool interoperability.
Kiss at oopsla 09
View more presentations from ClarkTony.
Language Factories (Onward! 09, co-located conference at OOPSLA 09, Orlando, USA)

This presentation provides an overview of the Language Factories vision for language definition that Laurence Tratt and I are currently working on. The idea is that languages should be developed in terms of language components. A language component provides a complete and reusable definition of an aspect of a language including syntax, semantics and tooling. Components can be composed, transformed and parameterized. Composition allows larger languages to be defined from smaller ones. Componentization provides scope for reuse, analysis and refactoring of languages.
Onward presentation.en
View more presentations from ClarkTony.

An Introduction to Domain Specific Languages (Engineering and Information Sciences Seminar, Middlesex, Nov 2010)

This presentation introduces a particular view of DSLs as existing in a space of languages that can be measured on a spectrum from domain-specific to general-purpose. Such a framework is parameterized with respect to the target implementation language and two targets are considered: lambda-calculus and object-oriented modelling notations. The presentation goes on to propose that domain-specific modelling should be based on the notion of theory building following Naur.
Dsl overview
View more presentations from ClarkTony.

A Domain Specific Language for Contextual Design

This presentation was given at HCSE 2010 and describes a domain specific language for a influencer models. It stems from the observation that many approaches to design are 'soft' Software Engineering but that really there is a domain specific language underlying all these approaches. This presentation describes some work that was undertaken to extract the DSL behind building models of members of a design team that influence each other.

Hcse pres
View more presentations from ClarkTony.
Domain Specific Modelling as Theory Building

This was an invited talk given at the ISEC 2011 WMBSE Workshop. It takes Peter Naur's thesis as a starting point and argues that we need to build theories of applications as the key artifact during the design phase. A theory contains much more information about an application than a simple UML model and can be used for learning a new application or maintaining it.
Dsm as theory building
View more presentations from ClarkTony.

LEAP: A Precise Lightweight Framework for Enterprise Architecture

This presentation was given at ISEC 2011 in Trivandrum India. Our approach is to describe Enterprise Architecture using component models. A semantics is defined for the component models and this is then used to define how to refine top-level EA models to lower-level models as per the usual 3-tier approach to EA. This is then extended with business goals that are expressed using OCL.

Leap isec 2011
View more presentations from ClarkTony.
Reverse Engineering as Theory Building

This presentation was given at TCS offices in Pune in March 2011. The idea is that in order to understand code we must reverse engineer a theory about the application. The theory is constructed by mining the code, by eye or using computer assistance.
Reverse engineering and theory building v3
View more presentations from ClarkTony.

Model Driven Development: What went right? What went wrong? What needs to happen? (CodeGen 2011 Cambridge)

This presentation looks at some of the requirements that model-driven technologies must address and proposes some technology features for meeting those requirements. It reviews XMF and XModeler that were designed to address some of the requirements.

Cg 2011
View more presentations from ClarkTony.

XMF and XModeler (King's College London SE Group Presentation)

This presentation provides some history and an overview of the XMF and XModeler tools. XMF provides daemons that are used to implement the MVC pattern required for building a variety of types of modelling tool. The presentation uses a case study that implements a meta-tool for managing snapshots using an MVC where the view is presented using HTML and a browser embedded in XModeler. The source code is available elsewhere on this website.
Kings 120711
View more presentations from ClarkTony.

XMF: A Language for Language Oriented Programming (ICOOOLS Workshop Invited Presentation ECOOP 2011)

This presentation provides an overview of the features of XMF for language engineering. It uses a case study that is defining a pattern matching language that matches over structures and sequences. The sequence patterns try all alternatives in order to pick out a match. The declarative pattern matching language uses continuations behind the scenes to implement the matching options and to backtrack when a match subsequently fails. 
Patterns 200711
View more presentations from ClarkTony.

A General Model-Based Slicing Framework (King's College Workshop on Composition and Evolution of Model Transformations)

Slicing is used to reduce the size of programs by removing those statements that do not contribute to the values of specified variables at a given program location. Slicing aids program understanding, debugging and verification. Slicing could be a useful technique to address problems arising from the size and complexity of industrial scale models; however there is no precise  definition that can be used to specify a model slice. Model slices are achieved  using model transformations, and since models are usually instances of multiple heterogeneous meta-models, model slicing must involve the composition  of multiple transformations. This paper proposes a framework that can be  used to define both program and model slicing. The framework is used to  construct slices of a simple model written in a UML-like language.
Model Slicing
View more presentations from ClarkTony.
Model Driven Context Aware Reactive Applications (School of Engineering and Information Sciences Seminar)

This presentation provides an overview of a model driven approach to the development of applications that involve both context awareness and event driven computation. Examples of CARA applications include smart-phone apps, tablet apps and web-apps. The approach involves extending UML class and state-machine models with stereotype tags that support characteristic CARA features. The detailed behaviour of the application is defined using the widget-calculus that is an extension of lambda with features for event-driven hierarchically composed systems. The presentation includes a simple case study called the Buddy system where phones are context-aware through events generated when they become co-located with members of their address book.
Context Aware Reactive Applications
View more presentations from ClarkTony.