Publications and Reports

Books and Edited Collections

  1. Domain Engineering: Product Lines, Languages and Conceptual Models. Iris Reinhartz-Berger, Arnon Sturm, Tony Clark, Shalom Cohen, Jorn Bettin. Springer, 2013. ISBN: 978-3-642-36653-6 (Print) 978-3-642-36654-3 (Online).
    Domain
                    Engineering Book Cover
    Domain engineering is a set of activities intended to develop, maintain, and manage the creation and evolution of an area of knowledge suitable for processing by a range of software systems.  It is of considerable practical significance, as it provides methods and techniques that help reduce time-to-market, development costs, and project risks on one hand, and helps improve system quality and performance on a consistent basis on the other. In this book, the editors present a collection of invited chapters from various fields related to domain engineering. The individual chapters present state-of-the-art research and are organized in three parts. The first part focuses on results that deal with domain engineering in software product lines. The second part describes how domain-specific languages are used to support the construction and deployment of domains. Finally, the third part presents contributions dealing with domain engineering within the field of conceptual modeling.  
  1. Model Driven Engineering Languages and Systems, 14th International Conference, MODELS 2011, Wellington, New Zealand, October 16-21, 2011, Proceedings, Series: Lecture Notes in Computer Science, Vol. 6981, Whittle, Jon; Clark, Tony; Kühne, Thomas (Eds.), 1st Edition., 2011, XVIII, 726 p.

    Models 2011 Front Page
    This book constitutes the refereed proceedings of the 14th International Conference on Model Driven Engineering Languages and Systems, MODELS 2011, held in Wellington, New Zealand, in October 2011. The papers address a wide range of topics in research (foundations track) and practice (applications track). For the first time a new category of research papers, vision papers, are included presenting "outside the box" thinking. The papers are organized in topical sections on model transformation, model complexity, aspect oriented modeling, analysis and comprehension of models, domain specific modeling, models for embedded systems, model synchronization, model based resource management, analysis of class diagrams, verification and validation, refactoring models, modeling visions, logics and modeling, development methods, and model integration and collaboration.


  2. Applied Metamodelling: A Foundation for Language Driven Development. Second Edition, Feb 2008. Tony Clark, P. Sammut and J. Willans. (161 Google Scholar citations)
    Applied Metamodelling Book The motivation behind XMF was to develop a technology that would support a language driven approach to modelling and system development. Our starting point was that UML was not sufficiently flexible and in order to address this we designed an executable meta-language. This book describes the approach and provides an introduction to the key technologies: meta-models, language definition and mappings. The book concludes with a number of worked examples.


  3. Superlanguages: Developing Languages and Applications with XMF. First Edition, March 2008. Tony Clark, P. Sammut, J. Willans.
    Superlanguages Book This book provides an extensive description of the XMF technology. The Applied Metamodelling book introduces the field and provides an overview of the methodology. The Superlanguages book describes the underlying technology in detail. It defines the language used by XMF, how to use grammars for language definition and provides many complete worked examples.


  4. Object Modeling with the OCL - The Rationale behind the Object Constraint Language. Tony Clark, J. Warmer (eds). LNCS vol. 2263. 2002.
    OCL Book Jos Warmer and I produced this collection of papers by key authors in the field. The collection contains the original Amsterdam Manifesto that started the OCL movement.


  5. Proceedings of the Workshop on Expressing and Reasoning about Constraints in UML. Tony Clark, S. Kent and J. Warmer (eds). March 2000. University of Kent.

  6. Proceedings of UML 2.0 - The Future of the UML Object Constraint Language (OCL). Tony Clark, J Warmer (eds). Workshop at UML 2000 - The Unified Modeling Language. Advancing the Standard. Third International Conference, York, UK, October 2000
  7. Proceedings of the third Rigorous Object-Oriented Methods Workshop (ROOM3). Tony Clark, A. Evans, K. Lano (eds). BCS Electronic Workshops in Computing, ISBN: 1-902505-38-7, January 2000. York.

  8. Proceedings of the Third Northern Formal Methods Workshop. A. Evans, D. Duke, Tony Clark (eds). BCS Electronic Workshops in Computing, 1998.

Home.

Chapters in Books

  1. Domain Engineering for Software Tools. Tony Clark, Balbir S. Barn. In Domain Engineering: Product Lines, Languages, and Conceptual Models. Iris Reinhartz-Berger, Arnon Sturm, Tony Clark, Shalom Cohen, Jorn Bettin. pp 187 - 210.

    General purpose software engineering tools are expensive to develop and maintain, and often difficult to learn and use. Domain-specific tools tend to be small, focussed and easier to learn; however, domain-specific tooling tends to be technology specific and therefore introduces interoperability problems. This chapter provides a contribution to DSL tool development by describing a language-driven approach to domain engineering whereby a tool is modelled in terms of the syntax and semantics of the language it supports. This chapter uses UML to define a simple class modelling language and its tooling.

  2. Preface: Introduction to Domain Engineering: Product Lines, Languages, and Conceptual Models. Iris Reinhartz-Berger, Arnon Sturm, Tony Clark, Shalom Cohen, Jorn Bettin. v - xiii. Springer, 2013. ISBN: 978-3-642-36653-6 (Print) 978-3-642-36654-3 (Online).

  3. A Model-Based Approach to Aligning Business Goals with Enterprise Architecture. Tony Clark, Balbir Barn. In Progressions and Innovations in Model-Driven Software Engineering Vicente García Díaz, Juan Manuel Cueva Lovelle, B. Cristina Pelayo García-Bustelo and Oscar Sanjuán Martínez (eds.). IGI Global, 2013.
    Chapter Abstract: Modern organizations need to address increasingly complex challenges including how to represent and maintain their business goals using technologies and IT platforms that change on a regular basis. This has led to the development of modelling notations for expressing various aspects of an organization with a view to reducing complexity, increasing technology independence, and supporting analysis. Many of these Enterprise Architecture (EA) modelling notations provide a large number of concepts that support the business analysis but lack precise definitions necessary to perform computer-supported organizational analysis. This chapter reviews the current EA modelling landscape and proposes a simple language for the practical support of EA simulation including business alignment in terms of executing a collection of goals against prototype execution.

    Book Abstract: Users increasingly demand more from their software than ever before—more features, fewer errors, faster runtimes. To deliver the best quality products possible, software engineers are constantly in the process of employing novel tools in developing the latest software applications. Progressions and Innovations in Model-Driven Software Engineering investigates the most recent and relevant research on model-driven engineering. Within its pages, researchers and professionals in the field of software development, as well as academics and students of computer science, will find an up-to-date discussion of scientific literature on the topic, identifying opportunities and advantages, and complexities and challenges, inherent in the future of software engineering.

  4. Software Language Engineering with XMF and XModeler. Tony Clark and James Willans.  In  Formal and Practical Aspects of Domain-Specific Languages: Recent Developments, Marjan Mernik (ed). IGI Global, 2013. 1-677. Web. 9 Oct. 2012. doi:10.4018/978-1-4666-2092-6.
    Formal and Practial Aspects of
                      Domain-Specific Languages: Recent Developments
    Chapter Abstract: XMF and XModeler are presented as technologies that have been specifically designed for Software Language Engineering. XMF provides a meta-circular, extensible platform for DSL denition based on syntax-classes that extend object-oriented classes with composable grammars. XModeler is a development environment built on top of XMF that provides an extensible client-based architecture for developing DSL tools.

    Book Abstract: Computer languages are a programmer’s basic tool and they play an essential role in computer science in which they specify computations which need to be performed as well as intended behavior of a system. Domain-Specific Language (DSL) is a particular computer programming language used to address a particular problem domain, representation technique, and solution technique.

    Formal and Practical Aspects of Domain-Specific Languages: Recent Developments is a collection of academic works containing current research on all aspects of domain-specific language. This book is a comprehensive overview in the computer language field and aims to be essential for scholars and practitioners in the software engineering fields by providing new results and answers to open problems in DSL research.


  5. A Meta-Model Facility for a Family of UML Constraint Languages. Tony Clark, A. Evans, S. Kent. In Advances in Object Modelling with the OCL. Tony Clark, Jos Warmer (eds.), Springer Verlag, LNCS 2263. March 2002.

    With the move towards UML becoming a family of modelling languages, there is a need to view the Object Constraint Language in the same light. The aim of this paper is to identify a meta-modelling facility that encompasses the specification of the semantics of a family of object constraint languages. This facility defines a common set of model concepts, semantic domain concepts and semantic mappings that can be conveniently reused when constructing new family members.


  6. The Knowledge Based Programmer's Assistant Revisited : Representation, Reasoning and Review (Esprit project 32). Gavin Oddy, Kevin Poulter, Tony Clark. ESPRIT '86 Results and Achievements. North-Holland 1987.

    The Portable Common Tool Environment (PCTE) was one of the first ESPRIT projects and was the first project I worked on after graduating. The PCTE was a kind of operating system that supported an object-oriented style of file-system (graph rather than tree shaped). The Knowledge Based Programmer's Assistant (KBPA) was a system that used program templates to transform a high-level specification of a program into code. Since the various features of the KBPA were highly structured, this was a good case study for the PCTE. As far as I recall, this was done on SUN 1 workstations and took several minutes to generate a simple sorting procedure in Ada. This paper reviews the project.

Home.

Journal Special Issues

  1. Model-Driven Development Stephen Mellor, Tony Clark, T. Futagami (eds). IEEE Software, vol 20, issue 5, Sep - Oct 2003. (326 Google Scholar Citations)


  2. Rigorous Object-Oriented Methods. Tony Clark, A. Evans, K. Lano (eds). Special Issue of L'Objet. Vol 9 No 4. 2003.

    Rigorous Object Oriented Methods


  3. Multiparadigm Programming. Dean Wampler, Tony Clark (eds). IEEE Software, September/October 2010 (Vol. 27, No. 5).
    IEE Software Cover
    Programming languages, frameworks, and platforms require the developer to use a collection of provided programming features—abstractions—to express data, implement desired calculations, interact with other technologies, create user interfaces, and so on. A collection of coherent, often ideologically or theoretically based abstractions constitutes a programming paradigm. Often, a given programming technology is based on one particular paradigm. Well-known examples include object-oriented, relational, functional, constraint-based, theorem-proving, concurrent, imperative, and declarative. Less well-known (or perhaps less well-defined) examples include graphical, reflective, context-aware, rule-based, and agent-oriented. A particular paradigm leads to a specific type of implementation style and is best suited to certain types of applications. Relational programming benefits information-rich applications, whereas imperative programming is commonly used to control hardware. But today's applications are seldom homogeneous. They are frequently complex systems, made up of many subcomponents that require a mixture of technologies. Thus, using just one language technology and paradigm is becoming much less common, replaced by multiparadigm programming in which the heterogeneous application consists of several subcomponents, each implemented with an appropriate paradigm and able to communicate with other subcomponents implemented with a different paradigm. When more than one language is used, we call this polyglot ("many tongues") programming.


  4. Software and Systems Modeling: Theme Issue on Model-Based Interoperability. Volume 11, Number 1, Feb 2012, Guest Editors, Tony Clark and Jorn Bettin.
Home.

Journal Papers

  1. Dynamic Reconfiguration of Event Driven Architecture Using Reflection and Higher-Order Functions. Tony Clark,Balbir S. Barn. Dynamic Reconfiguration of Event Driven Architecture Using Reflection and Higher-Order Functions. International Journal of Software and Informatics, 2013,7(2):137~168.

    Component-based modelling is used as the basis of a number of approaches including Enterprise Architecture and System Architecture Design. Service Oriented Architecture (SOA) is a popular component-based approach but it has been criticised as not being suficiently flexible. A more flexible alternative is Event Driven Architecture (EDA) that can support Complex Event Processing. Dynamic reconfiguration of component behaviour is attractive because it allows an architecture to be extended and modified in situ without being taken off-line, updated and redeployed. This article shows how higher-order functions and reflection can support dynamic reconfiguration and how this approach is integrated with EDA. The approach is defined as patterns expressed in a component modelling language called LEAP and validated through a case study.

  2. UND: Unite-and-Divide Method in Fourier and Radon Domains for Line Segment Detection. Junbin Gao ; Rahmdel, P.S. ; Antolovich, M. ; Clark, T.

    In this paper, we extend our previously proposed line detection method to line segmentation using a so-called unite-and-divide (UND) approach. The methodology includes two phases, namely the union of spectra in the frequency domain, and the division of the sinogram in Radon space. In the union phase, given an image, its sinogram is obtained by parallel 2D multilayer Fourier transforms, Cartesian-to-polar mapping and 1D inverse Fourier transform. In the division phase, the edges of butterfly wings in the neighborhood of every sinogram peak are firstly specified, with each neighborhood area corresponding to a window in image space. By applying the separated sinogram of each such windowed image, we can extract the line segments. The division Phase identifies the edges of butterfly wings in the neighborhood of every sinogram peak such that each neighborhood area corresponds to a window in image space. Line segments are extracted by applying the separated sinogram of each windowed image. Our experiments are conducted on benchmark images and the results reveal that the UND method yields higher accuracy, has lower computational cost and is more robust to noise, compared to existing state-of-the-art methods.

  3. Aiming for Model Re-use: Observations from the Innovation Base - A Domain Specific Repository. Balbir Barn, Tony Clark, Hilary Dexter and Tom Franklin. Setlabs Briefings: Infosys Journal of Research Model-Based Software Engineering: Some Perspectives. 11(2), 36-47, 2013.

  4. Goal Driven Architecture using LEAP. Tony Clark and Balbir Barn. Enterprise Modelling and Information Systems Architectures - An International Journal. 8(1), 2013.

    Methods for goal driven system engineering exist and propose a number of categories of goals including behavioural, formal, informal and non-functional. This article goes further than existing goal driven approaches by linking goals directly to the semantics of an architectural modelling language called LEAP with an operational semantics. The behavioural goals are expressed using a Linear Temporal Logic and the non-functional goals are expressed as functions over meta-properties of the model. The meta-properties are supported using an encoding represented using Java reflection. The article describes the LEAP approach using a simple case study written in the LEAP language supported by the LEAP toolset.

  5. A newly introduced Industry Voice Column. Tony Clark, Gabor Karsai Roel Wieringa, Robert France, Bernhard Rumpe. Software and Systems Modeling. 12(3), 441-442, 2013.

    The SoSyM Industry Voice aims to provide a regular update on the application and challenges of model-based approaches to system development in industry. It provides researchers with a valuable resource of information about modeling success stories, standardization updates, and specific technology requirements that can be used to scope the research agenda. It is a regular SoSyM column (approx. 2–5 pages). The column solicits contributions in the following areas: case studies, news, strategies for model-based approaches, commercial aspects, vision statements, historical perspectives.

  6. Guest editorial to the special issue on MODELS 2011. Jon Whittle, Tony Clark. Software and Systems Modeling, online DOI 10.1007/s10270-013-0331-y.

    This special issue contains the revised best papers of the MODELS 2011 Conference In Wellington New Zealand.

  7. Simulating Enterprise Architecture Models. Balbir S. Barn, Tony Clark, Samia Oussena. Infosys Journal of Research, SETLabs Briefings, pp 3 - 20, Vol 10, No 3, Model-Based Software Engineering: Some Approaches, 2012.

    Business and ICT strategic alignment remains an ongoing challenge facing organizations as they react to changing requirements by adapting or introducing new technologies to existing infrastructure. Enterprise Architecture (EA) has increasingly become relevant to these demands and as a consequence numerous methods and frameworks for pursuing EA have emerged. However these approaches remain bloated, time-consuming and lacking in precision. This paper proposes a lightweight method for EA (LEAP) and introduces a language for representing EA components that lends itself to modelling as-is and to-be EA with a concrete aim to providing a simulation environment that delivers an unambiguous description of the required changes. The LEAP method and the language are illustrated with a detailed case study of business change currently being addressed by UK higher education institutions.

  8. Exploiting Model Driven Technology: A Tale of Two Startups. Tony Clark and Pierre-Alain Muller. Software and Systems Modeling, online DOI 10.1007/s10270-012-0260-1 August 2012.

    This article describes the experiences of two independent start-up companies that were created in the white-heat of the early days of model-based engineering. Each company aimed to revolutionize software development by raising the level of abstraction through modelling. The article describes the context, technical innovations, business experiences, demise and lessons learned by each company.

  9. Editorial for the Theme Issue on Model-Based Interoperability. Tony Clark and Jorn Bettin. Software and Systems Modeling, Vol 11, No 1, Feb 2012.

    The commercial benefits claimed for software based on visual and graphical modeling languages are well documented. Many domain specific modeling tools exist and are being used as point solutions. Tailoring of notations to the specific application domain and combined use of several languages define the nature of the approach, and constitute the source of the achievable benefits. Unfortunately, data representations and the mechanisms used to integrate modeling languages tend to be highly tool specific. This compromises the use of modeling languages in building tool chains that may contain components from several suppliers. This Theme Issue of SoSyM addresses issues related to the problems of tool interoperability.

  10. Modeling as Theory Building: Addressing Knowledge Management Problems in System Engineering. Tony Clark and Balbir Barn. InfoSys Journal of Research, SETLabs Briefings, Vol 9, No 4, Model-based Software Engineering. 2011.

    This article analyzes Peter Naur's thesis that program development should be viewed in terms of domain specific theories. The authors develop the thesis further by arguing that both programming and modeling should be based on theory building thereby providing a unifying framework to address current day knowledge management programs.

  11. Platform Independent, Higher-Order, Statically Checked Mobile Applications. Dean Kramer, Tony Clark, Samia Oussena.  International Journal of Design, Analysis and Tool for Circuits and Systems ( IJDATICS), vol. 2, no. 1, pp. 14-29, 2011.

    There is increasing interest in establishing a presence in the mobile application market, with platforms including Apple iPhone, Google Android and Microsoft Windows Mobile. Because of the differences in platform languages, frameworks, and device hardware development of an application for more than one platform can be a difficult task. In this paper we address this problem by the creation of a mobile Domain Specific Language (DSL). Domain analysis is carried out using two case studies, leading to the identification of basic requirements for the language. The language is defined as an extension of a lambda-calculus in terms of an operation semantics and a type system. The language is a contribution to the understanding of mobile applications since it precisely defines the essential properties offered by a range of mobile application technologies, and can form the basis for a single language that can target multiple platforms.

  12. Multiparadigm Programming in Industry: A Discussion with Neal Ford and Brian Goetz. Dean Wampler, Tony Clark, Neal Ford and Brian Goetz. IEEE Software, September/October 2010 (Vol. 27, No. 5).

  13. Multiparadigm Programming: Guest Editors' Introduction. Dean Wampler, Tony Clark. IEEE Software, September/October 2010 (Vol. 27, No. 5).

    See the IEEE Software Journal Special Issue entry above for a selection from the text of this introduction.

  14. Stories about calculations: remembering Peter Landin. Tony Clark. Higher-Order and Symbolic Computation. 2010.

    Sadly, Peter Landin passed away in 2009. I believe that I was Peter's final PhD student between 1989 and 1996. He had a huge influence on everyone that he met and worked with. This article provides some brief recollections of Peter and serves to introduce some unfinished notes that he was working on when I knew him. The notes have been typed up in full here.

  15. Language Driven Development and MDA. Tony Clark A. Evans, P. Sammut, J. Willans. MDA Journal (10). 2004.

    This article was published in the MDA Journal edited by Dave Frankel. It describes an approach to modelling that embraces, language definition, execution and meta-modelling. It was written as an companion piece to a previous article by Steve Cook: Domain Specific Modeling and Model Driven Architecture.

  16. Aspect-Oriented Meta-Modelling. Tony Clark, A. Evans, S. Kent. BCS Computer Journal, Special Section on AOP and Separation of Cross Cutting Concerns. 2003 46(5):566-577 (cited by 14).

    This paper describes in some detail how the package extension and package template mechanisms that we developed as part of our efforts to take a structured approach to defining modelling languages like UML 2.0. Templates are parametric packages and allow patterns to be defined that can later be stamped out. Package extension is similar to class inheritance and allows models to be constructed from components.

  17. Editorial: Rigorous Object-Oriented Methods. Tony Clark, A. Evans, K. Lano. Special Issue of L'Objet. Vol 9 No 4, pp 7 - 11. 2003.

    The special issue included some of the best papers from the ROOM 4 workshop held at King's College in 2003.

  18. Model-Driven Development - Guest Editor's Introduction. S. Mellor, Tony Clark, T. Futagami (eds). IEEE Software, vol 20, issue 5, Sep - Oct 2003, pp 14 - 18.

  19. Modelling Language Transformations. Tony Clark, A. Evans, G Maskeri, P. Sammut, J. Willans. In Rigorous Object-Oriented Methods, Special Issue of L'Objet. Vol 9 No 4 pp 31 - 51. 2003.

    The advent of model driven software engineering necessitates that there are frameworks and techniques that enable the translation of software expressed in one language to another language. Although the ability to do this is not new, compilers have long been addressing this need for programming languages; existing techniques are bespoke for the source and target language. The diverse nature of software applications demands that software engineers use (and adapt) a wide range of different languages to express software. In this paper we present a framework and approach for rapidly describing transformations between languages using transformation patterns.

  20. The Specification of a Reference Implementation for the Unified Modelling Language. Tony Clark, A. Evans, S. Kent. In B. Henderson-Sellers and F. Barbier (eds) Object Modelling with UML. Special Issue of L'Objet. Vol 7, no 3/2001, pp363-385, 2001.

    As part of our contribution to the UML 2.0 standard we tried to persuade members of the OMG that there should be a reference implementation for UML which was freely available so that vendors could test out their implementations. The proposal fell on deaf ears, but this paper outlines aspects of how it might have worked.

  21. Quality Issues in the Formal Refinement of KBS. Tony Clark. Reviewed and accepted to appear in the International Journal of Expert Systems: Research and Applications. 1998.

    This paper is an extended version of A Formal Basis for the Refinement of Rule Based Transition Systems adding more underlying theory and examples. A semantics is developed for a small language that can be used to represent rule-based systems along with semantics preserving refinement transformations that increase rule efficiency. A quality control process for developing KBS with the language is proposed. The paper was accepted and went through the normal update process, however the Journal subsequently folded without publication.

  22.  A Formal Basis for the Refinement of Rule Based Transition Systems. Tony Clark. The Journal of Functional Programming 6(2). 1996.

    This paper makes a contribution to the refinement of systems which involve search by proposing a simple non-deterministic model for rule-based transition systems and using this to define a meaning for rule based refinement which allows each stage of the software development path to be verified with respect to the previous stage.

  23.  Pattern Recognition of Noisy Sequences of Behavioural Events Using Functional Combinators. Tony Clark. The Computer Journal. 37(5) 1994.

    This work was undertaken as part of the ESPRIT VIEWS project which aimed to develop and deploy computer vision technology. The project used two case studies: understanding vehicle behaviour at a roundabout; understanding surveillance data from cameras at an airport. This paper addresses the problem of detecting pre-defined behaviours from visual cues. In particular, the visual input data is noisy and incomplete. The described approach uses a novel parsing algorithm to match sequences of cues to behaviours expressed as grammars.

  24.  A Layered Object-Oriented Programming Language. Tony Clark. GEC Journal of Research. 11(3) 1994.

    This paper describes a collection of standard object-oriented programming language properties. It analyzes them by extending a simple lambda-calculus with simple OO primitives and then building up a language that exhibits all of the properties as a sequence of layers on top of the extended calculus. The paper arise out of PhD work and describes some results that did not make it into the final thesis.
Home.

Conference and Workshop Papers

  1. A Language Oriented Extension to Toulmin's Argumentation Model for Conceptual Modelling. Sebastian Bittmann, Balbir Barn, Tony Clark. Accepted for presentation at the 22nd International Conference on Information Systems Development (ISD), Seville, Spain, Sept, 2013.

  2. Towards a Comprehensive Meta-Model for KAOS. Joshua Nwokeji, Tony Clark, Balbir Barn. In proc. of the 3rd International Model-Driven Requirements Engineering Workshop, RE, Brazil, 2013.

  3. A proposal for a Consolidated Intentional Modelling Language. Joshua Nwokeji, Tony Clark, Balbir Barn. In proc. of the 2nd Workshop on Graphical Modeling Language Development, Montpellier, France, 2013.

  4. Domain Specific Languages for the Model Driven Organisation. Tony Clark, Ulrich Frank, Vinay Kilkarni, Balbir Barn, Dan Turk. In proc. of the first International Workshop on the Globalization of Domain Specific Languages. Montpellier, France, 2013.

  5. Graphical User Interfaces in Dynamic Software Product Lines. Dean Kramer, Samia Oussena, Peter Komisarczuk, Tony Clark. In proc. of PLEASE 2013: 4th International Workshop on Product Line Approaches in Software Engineering, ICSE 2013, San Francisco, 2013.

    Dynamic Software Product Line Engineering has gained interest through its promise of being able to unify software adaptation whereby software can be configured at compile time and runtime. While previous work has concentrated on language support and other platform support, little attention has been placed on graphical user interface variability. In this paper, we present the motivation for handling dynamic graphical user interface variability and the challenges that require tackling to enable this.

  6. On the Search for a Level-Agnostic Modelling Language. Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez. In proc. of the 25th International Conference on Advances in Information Systems Engineering, CAiSE, Valencia, Spain, 2013.

    The use of models is increasing in software engineering, especially within the MDE initiative. Models are usually communicated by visualizing them, typically using a graphical modelling language. The architecture commonly used to standardize a software engineering modelling language utilizes multiple levels despite the fact that the basic assumptions are only valid for a pair of levels. This has led several research groups to seek a means by which modelling languages can be created, and later standardized, without resorting to ‘fixes’ necessitated by the use of strict metamodelling and a multilevel hierarchy. Here, we describe a novel single-level approach based on ‘everything is an object’, which permits effective flattening of such a hierarchy, thus obviating all the paradoxical concerns in the literature over the last two decades.

  7. Modeling and Enterprises - the Past, Present and the Future. Vinay Kulkarni, Suman Roychoudhury, Sagar Sunkle, Tony Clark and Balbir Barn. in proc of the First International Conference on Model-Driven Engineering and Software Engineering, Barcelona, Spain, 2013.

  8. Enterprise Architecture Coherence and the Model Driven Enterprise: Is Simulation the Answer or are we Flying Kites? Balbir Barn, Tony Clark and Martin Loomes. In proc of the 6th India Software Engineering Conference, ISEC 2013, Delhi, India 2013.

    Aligning information communications technology (ICT) to business goals is a common issue cited by senior executives and recent research in measuring alignment provides evidence that those organizations that have aligned successfully their business and IT strategy will out perform those that have not. Enterprise Architecture (EA) aims to capture the essentials of a business, its IT and its evolution, and to support analysis of this information and is thus seen as an important tool for this alignment requirement. However, existing methods, techniques, languages and supporting technology for EA may not be sufficient for helping deliver this agenda and increasingly, simulation is perceived as one such solution. Simulation however presents other challenges, notably, the problem of validity versus credibility. This paper charts a philosophical route through a discussion on models and what they represent, the communication structures implicitly required for models to work and proposes that model based simulation of a model based enterprise can be more effective if there is a theoretical basis to a simulation model. This hypothesis is evaluated by a re-interpretation of Toulmin's Argumentation model as a candidate for the underlying theory for constructing simulations of enterprise architecture coherence. The result of which is used to define an integration strategy with our existing work on lightweight enterprise architecture modelling processes.

  9. Assessing composition in modeling approaches. Gunter Mussbacher, Omar Alam, Mohammad Alhaj, Shaukat Ali, Nuno Amálio, Balbir Barn, Rolv Bræk, Tony Clark, Benoit Combemale, Luiz Marcio Cysneiros, Urooj Fatima, Robert France, Geri Georg, Jennifer Horkoff, Jörg Kienzle, Julio Cesar Leite, Timothy C Lethbridge, Markus Luckey, Ana Moreira, Felix Mutz, A Padua A Oliveira, Dorina C Petriu, Matthias Schöttle, Lucy Troup, Vera Werneck. Proceedings of the CMA 2012 Workshop.

    Abstract Modeling approaches are based on various paradigms, eg, aspect-oriented, feature- oriented, object-oriented, and logic-based. Modeling approaches may cover requirements  models to low-level design models, are developed for various purposes, use various means  of composition, and thus are difficult to compare. However, such comparisons are critical to  help practitioners know under which conditions approaches are most applicable, and how  they might be successfully generalized and combined to achieve end-to-end methods.

  10. Comparing Verification Techniques for Model Transformations. Kevin Lano, S. Kolahdouz-Rahimi, Tony Clark. In the proc of the 9th Workshop on Model-Driven Engineering, Verification an Validation. MODELS 2012, Innsbruck. 2012.

  11. Towards improved distributed collaborative workflow management for mobile devices. Kocurova, A., Oussena, S., Komisarczuk, P., Clark, T. and Kramer, D. In Lecture Notes in Business Information Processing: Data-Driven Process Discovery and Analysis. 2012.

  12. Context-Aware Content-Centric Collaborative Workflow Management for Mobile Devices. Anna Kocurova, Samia Oussena, Peter Komisarczuk, Tony Clark. In proc of the Second International Conference on Advanced Collaborative Networks, Systems and Applications, COLLA, Venice, Italy, 2012.

    The paper examines mobile context-aware contentcentric workflows. With the proliferation of mobile devices, distributed collaborative teams can communicate, share content and remain productive while working out of the office. The collaboration process can be enhanced, more dynamic and efficient by using a workflow management technology that responds to collaborators’ requirements, supports coordination of a teamwork and is adapted for context-aware content manipulation. This paper discusses context awareness and proposes to extend the existing collaborative workflow approach by a context-aware content lifecycle in order to make workflow processes more adaptive to collaboration needs.

  13. Applied Metamodelling to Collaborative Authoring. Anna Kocurova, Samia Oussena, Tony Clark. In proc of the Federated Conference on Computer Science and Information Systems, Poland, 2012.

    This document describes a domain specific language tailored for collaborative document authoring processes. The language can support communication between content management systems and user interfaces in web collaborative applications. It allows dynamic rendering of user interfaces based on a collaboration model specified by end users. The construction of the language is supported by a metamodel. We demonstrate the use of the proposed language by implementation of a simple document authoring system.

  14. bCMS in LEAP. Tony Clark and Balbir S. Barn. In proc of the Comparing Modeling Approaches (CMA'12) workshop at MODELS 2012, Innsbruck.

    This paper contains an overview of the features of the LEAP component based executable modelling language applied to the bCMS Crisis Management System Case Study. The paper aims to show the key features of the LEAP technology in terms of various aspects of the case study.

  15. Business and ICT Alignment in Higher Education: A Case Study in Measuring Maturity. Balbir Barn, Tony Clark and Gary Hearne. In proc of the 21st International Conference on Information Systems Development (ISD2012), Prato, Italy.

    Aligning information communications technology (ICT) to business goals is a common issue cited by senior executives. More recently, the higher eduction sector in the UK led by the UK Joint Information Systems Committee (JISC), a government funded body for driving innovation in UK education and research by championing digital technologies has also focussed its attention on the need for alignment. This paper reports on the deployment of a Strategic ICT toolkit (SICT) that aims to provide a maturity measure of the extent of alignment of an institution. The results from the survey distributed to 65 senior managers in the organization indicate that EA and integration requirements between business and IS planning are central to increasing the maturity levels for universities engaged in business and IT alignment. Given the paucity of this type of research in the tertiary sector, this paper contributes further to our understanding of this important area.

  16. Goal Based Alignment of Enterprise Architectures. Balbir S. Barn, Tony Clark. In proc. of the 7th International Conference on Software Paradigm Trends, ICSOFT 2012, Rome.

    Business and IT alignment remains an ongoing concern for organizations. Enterprise Architecture has emerged as a possible tool for understanding and planning for BIA, but the current range of methods and frameworks for EA do not support precise measurement. In this paper, we propose a set of technologies and concepts - notably goals and computable functions which can be used to provide a measure of equivalence between as-is and to-be enterprise architectures. The goals enable description of business level requirements whilst the functions enable the goals to be evaluated at a technical architecture level. The technology is evaluated with a detailed and authentic case study from higher education.

  17. A Method for Enterprise Architecture Alignment. Tony Clark, Balbir Barn, Samia Oussena. In proc of PRET, CAiSE 2012.

    Business and ICT strategic alignment remains an ongoing challenge facing organizations as they react to changing requirements by adapting or introducing new technologies to existing infrastructure. Enterprise Architecture (EA) has increasingly become relevant to these demands and as a consequence numerous methods and frameworks have emerged. However these approaches remain bloated, time-consuming and lacking in precision. This paper proposes a light-weight method for EA called LEAP and introduces a language for EA simulation that is illustrated with a detailed case study of business change currently being addressed by UK higher education institutions.

  18. A model based approach to systems requirements for event driven enterprise architecture. Balbir S. Barn, Tony Clark, Samia Oussena. Presented at the Workshop on Model Based Software Engineering at ISEC, Kanpur, India, 2012.

    Business and ICT strategic alignment remains an ongoing challenge facing organizations as they react to changing requirements by adapting or introducing new technologies to existing infrastructure. Activity around Enterprise Architecture (EA) has increasingly become relevant to these demands and as a consequence numerous methods and frameworks for pursuing EA have emerged. However these approaches remain bloated, time-consuming and lacking in precision. This paper proposes a light-weight method for enterprise architecture and introduces a language for representing EA components that lends itself to modeling “As Is” and “To Be” EA with a concrete aim to providing a simulation environment that delivers an un-ambiguous description to what changes need to be made to an EA with respect to emerging requirements. The LEAP method and the language is illustrated with a detailed case study of business change currently being addressed by UK higher education institutions.

  19. A Common Basis for Modelling Service-Oriented and Event-Driven Architecture. Tony Clark, Balbir S. Barn. In proc of the 5th India Software Engineering Conference, Feb 22-25, 2012, ISEC 2012. IIT Kanpur, India.

    Component based approaches to Enterprise Architecture (EA) include Service Oriented Architecture (SOA) and Event Driven Architecture (EDA). Model-based approaches to EA support SOA in terms of components and services expressed as interfaces and messages. However, there are few model- based approaches that support EDA even though SOA and EDA are both based on components. UML has components, however there is no support for events and no support for component patterns (or templates). This paper describes a simple extension to UML that supports both SOA and EDA. Components have both operation and event interfaces. The modelling language is implemented using a higher-order simulation language where templates are de ned as functions over component definitions. The languages are described using a case study that has been implemented in Java.

  20. An Extensible, Self Contained, Layered Approach to Context Acquisition. Dean Kramer, Anna Kocurova, Samia Oussena, Tony Clark, Peter Komisarczuk. In Proc of the Third International Workshop on Middleware for Pervasive Mobile and Embedded Computing, Lisbon, Portugal, 12-16 Dec, 2011.

    Smart phones show increasing capabilities for context-aware applications. The development of such applications involves implementation of mechanisms for context acquisition and context adaptation. To facilitate ecient use of the device's resources and avoid monitoring the same context changes from multiple points, it is necessary that applications share the context acquisition mechanism. In this paper, we intend to develop a generic context acquisition engine which is capable of context capturing, composition and broadcasting. By deploying the engine on a mobile device, context changes are monitored from single point and disseminated to various context aware applications running on the same device. As a proof of concept, the context acquisition engine has been implemented on the Android platform.
  21. Event Driven Achitecture Modelling and Simulation. Tony Clark, Balbir S. Barn. In Proc of the 6th IEEE International Symposium on Service-Oriented System Engineering. December 12-14, 2100, Irvine, CA, USA.

    Enterprise Architecture (EA) Modelling aims to analyze an organization in terms of its components, IT systems and business processes. Current modelling approaches are based on Service Oriented Architecture (SOA) whereby components publish interfaces of operations that are used via message passing. It has been argued that SOA leads to tight coupling between components and does not handle complex component interactions, with resulting maintenance difficulties. Event Driven Architecture (EDA) is an alternative strategy, based on listening for events, that is designed to address SOA shortcomings. However, there are no EA modelling technologies based on EDA. This paper reviews EA, SOA and EDA, identifies EDA characteristic features and proposes modelling and simulation technologies that are introduced through a simple case study.

  22. A General Model-Based Slicing Framework. Tony Clark. To appear in Proc of the Workshop on Composition and Evolution of Model Transformations. King's College, London, September 30, 2011.

    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.

  23. Exploiting Student Intervention System Using Data Mining. Samia Oussena, Hyensook Kim, Tony Clark. In Proc of the First International Conference on Advances in Information Mining and Management, IMMM 2011, October 23-29, 2011 - Barcelona, Spain.

    With the proliferation of systems that are available for student use, data related to activities undertaken by the  student are increasing. However, these vast amounts of  student data are not integrated and  therefore are not easily queried or mined. Therefore, relatively  little data is turned into knowledge that can be used by an HE institution.  In the work presented here, different data  sources such as student record systems, virtual learning systems are integrated and analysed with the intention of linking  behaviour pattern to academic histories and other recorded  information.  These patterns build into data mining models are then used to predict individual performance with high  accuracy.  A  prototype system that integrates data mining with an  intervention system based on game metaphor has been built and piloted in the computing school. Early evaluations of the  system have shown that it has been well received at all levels of  the institution and by the students.

  24. Re-Thinking Software Engineering Approaches: A Critical Reflection On Theory Building. Balbir S. Barn and Tony Clark. In Proceedings of the 6th International Conference on Software and Data Technologies (ICSOFT), Volume 1, Seville, Spain, 18-21 July, 2011.

    This paper re-appraises Peter Naur’s influential paper on Programming as Theory Building in the context of modern software engineering practice. The central argument is that such practice is focussed primarily on methods, notations, lifecycles and the description of artifacts such as models. Instead we propose that a theory building view is more appropriate, and that the concept of a theory should underpin a software design process which then calls for new tools and a new research agenda.

  25. Revisiting Naur’s Programming as Theory Building for Enterprise Architecture Modelling. Balbir S. Barn and Tony Clark. CAiSE, London 2011.

    The recent burgeoning interest in Enterprise Architecture and its focus on artifact driven methods is taken as a motivation for the re-appraisal of Peter Naur’s notion of “programming as theory building”. Naur strongly disputes the value of the role and orientation of the IS discipline around artifacts and argues that algorithmic methods do not lead to a theory of a domain. Such a viewpoint provides an alternative lens with which to view current developments and may lead to additional insights by providing the reader with a source for questioning and reflecting critically on the re-focusing of method design on conversation rather than artifact production. It is suggested that such a conversational framework based on Toulmin and Pask may provide a means to establish and test theory building views of enterprise architecture.

  26. LEAP: A Precise Lightweight Framework for Enterprise Achitecture. Tony Clark, Balbir S. Barn, Samia Oussena. In Proc of the 4th India Software Engineering Conference, ISEC 2011, Thiruvananthapuram, Feb 23-27, 2011.

    This paper proposes LEAP: a simple framework for Enterprise Architecture (EA) that views an organization as an engine that executes in terms of hierarchically decomposed communicating components. The approach allows all aspects of the architecture to be precisely de ned using standard modelling notations. Given that the approach is simple and precisely de ned it can form the basis for a wide range of EA analysis techniques including simulation, compliance and consistency checking. The paper de nes the LEAP framework and shows that it can be used to represent the key features of ArchiMate whilst containing fewer orthogonal concepts. We also show that the precision of LEAP, achieved through the use of OCL, can be used to verify both the claims made for inter-layer relationships in EA models and for extensions to ArchiMate.

  27. MobDSL: A Domain Specific Language for multiple mobile platform deployment. Dean Kramer, Tony Clark, Samia Oussena. In proceedings of NESA'10, the first IEEE International Conference on Networked Embedded Systems for Enterprise Applications (NESEA 2010).

    There is increasing interest in establishing a presence in the mobile application market, with platforms including Apple iPhone, Google Android and Microsoft Windows Mobile. Because of the differences in platform languages, frameworks, and device hardware, development of an application for more than one platform can be a difficult task. In this paper we address this problem by the creation of a mobile Domain Specific Language (DSL). Domain analysis was carried out using two case studies, inferring basic requirements of the language. The paper further introduces a language calculus definition and provides discussion how it fits the domain analysis, and any issues found in our approach.

  28. Preface to the Third Workshop on Domain Engineering (DE@ER 2010). Iris Reinhartz-Berger, Arnon Sturm, Jorn Bettin, Tony Clark, Sholom Cohen. In Advances in Conceptual Modeling - Applications and Challenges: Proceddeings of ER 2010 Workshops, Vancouver Canada November 2010. Springer LNCS 6413.

  29. Advanced Modelling Made Simple with the Gmodel Metalanguage. Jorn Bettin, Tony Clark. In proc of the 1st Workshop on Model-Driven Interoperability (MDI2010), at MODELS 2010, Oslo.

    Gmodel is a metalanguage that has been designed from the ground up to enable specification and instantiation of modelling languages. Although a number of metalanguages can be used for this purpose, most provide no or only limited support for modular specifications of sets of complementary modelling languages. Gmodel addresses modularity and extensibility as primary concerns, and is based on a small number of language elements that have their origin in model theory and denotational semantics. This article illustrates  Gmodel's capabilities in the area of model-driven integration by showing that the Eclipse Modeling Framework Ecore language can easily be emulated. Gmodel offers support for unlimited multi-level instantiation in the simplest possible way, and any metalanguage emulated in Gmodel can optionally be equipped with Gmodel's multi-level instantiation functionality.

  30. A Domain Specific Language for Contextual Design. Balbir Barn, Tony Clark. In Proc of the 3rd Conference on Human-Centred Software Engineering (HCSE 2010), October 14-15, Reykjavik, Iceland.

    Abstract. This paper examines the role of user-centered design (UCD) approaches to design and implementation of a mobile social software application to support student social workers in their work place. The experience of using a variant of UCD is outlined. The principles and expected norms of UCD raised a number of key lessons. It is proposed that these problems and lessons are a result of the inadequacy of precision of modeling the outcomes of UCD, which prevents model driven approaches to method integration between UCD approaches. Given this, it is proposed that the Contextual Design method is a good candidate for enhancing with model driven principles. A subset of the Work model focussing on Cultural and Flow models are described using a domain specific language and supporting tool built using the MetaEdit+ platform.

  31. Using Data Mining to Improve Student Retention in HE - A Case Study. Ying Zhang, Samia Oussena, Tony Clark, Kim Hyensook. ICEIS - 12th International Conerence on Enterprise Information Systems, 2010.

    Data mining combines machine learning, statistics and visualization techniques to discover and extract knowledge. One of the biggest challenges that higher education faces is to improve student retention
 (National Audition Office, 2007).
Student retention has become an indication of academic performance and enrolment management. Our project uses data mining and natural language processing technologies to monitor student, analyze student academic behaviour and provide a basis for efficient intervention strategies. Our aim is to identify potential problems as early as possible and to follow up with intervention options to enhance student retention. In this paper we discuss how data mining can help spot students ‘at risk’, evaluate the course or module suitability, and tailor the interventions to increase student retention.

  32. Automatic Generation of Data Merging Codes. Hyensook Kim, Samia Ousenna, Ying Zheang, Tony Clark. In Proc of the 5th International Conference on Software and data Technologies (ICSOFT 2010).

    Data merging is an essential part of ETL (Extract-Transform-Load) processes to build a data warehouse system. To avoid rewheeling merging techniques, we propose a Data Merging Meta-model (DMM) and its transformation into executable program codes in the manner of model driven engineering. DMM allows defining relationships of different model entities and their merging types in conceptual level. Our formalized transformation described using ATL (ATLAS Transformation Language) enables automatic generation of PL/SQL packages to execute data merging in commercial ETL tools. With this approach data warehouse engineers can be relieved from the burden of repetitive complex script coding and the pain of maintaining consistency of design and implementation.

  33. Knowledge industry survival strategy (KISS): fundamental principles and interoperability requirements for domain specific modeling languages. Jorn Bettin, William Cook, Tony Clark, Steven Kelly. In the Proc. of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications, Orlando, 2009. ISBN:978-1-60558-768-4.

    Domain Specific Languages are raising the level of abstraction of software specifications and of knowledge represen-ation in general. When DSLs are used to formalize the results of domain analysis, the result is a clean separation of concerns in the problem space. This is a major advance over aspect oriented programming, where separation of concerns is only achieved in the solution space. However, the level of interoperability between current DSL tools is comparable to the level of interoperability between CASE tools in the 90s. To increase the popularity of DSL based approaches, this needs to change. Software development has become highly decentralized, and an assumption that all parties in a global software supply chain will use identical tooling is simply not realistic. As a result today's software supply chains are much less automated than supply chains in other, more mature industries. The KISS series of workshops is used to incrementally establish a consensus on the fundamental principles that underpin the use of DSLs, and to improve DSL tool interoperability.

  34. A MOP Based DSL for Testing Java Programs using OCL Tony Clark. In Proc. of the OCL 2009 Workshop - The Pragmatics of OCL and Other Tectual Specification Languages, MoDELS 09, Denver Colorado, USA, October 4-9, 2009.

    OCL is used to specify systems by defining pre and postconditions for class operations. Typically, the conditions refer to properties and operations that are defined in a model. When the model is implemented, various implementation decisions are made regarding properties and operations that cause the OCL conditions to be inconsistent with the implementation. This paper shows how OCL conditions can be performed against a Java implementation of a model and how a meta-object protocol can be used to control the relationship between the original model and the implementation thereby retaining OCL consistency

  35. A Case Study on Model Driven Data Integration for Data Centric Software Development. Hyeonsook Kim, Ying Zhang, Samia Oussena, Tony Clark. In the Proc. of the ACM First International Workshop on Data-intensive Software Management and Mining, Nov 06, 2009, Hong Kong, China.

    Model Driven Data Integration is a data integration approach that proactively incorporates and utilizes metadata across the data integration process. By decoupling data and metadata, MDDI drastically reduces complexity of data integration; whilst also providing an integrated standard development method, which is associated with Model Driven Architecture. This paper introduces a case study to adopt MDA technology as an MDDI framework for data centric software development; including data merging and data customization for data mining. A data merging model is also proposed to define relationships between different models at a conceptual level which is then transformed into a physical model. In this case study we collect and integrate historical data from various universities into the Data Warehouse system in order to develop student intervention services through data mining.

  36. Language Factories Tony Clark and Laurence Tratt. Presented at the Onward! 09 Conference, OOPSLA, Orlando Florida, October 25-29, 2009.

    Programming languages are the primary mechanism by which software is created, yet most of us have access to only a few, fixed, programming languages. Any problem we wish to express must be framed in terms of the concepts the programming language provides for us, be they suitable for the problem or not. Domain Specific Languages (DSLs) suggest an appealing escape route from this fate, but since there is no real technology or theory underpinning them, new DSLs are rare. In this paper we present the Language Factories vision, which aims to bring together the theory and practice necessary to realise DSLs in a systematic way. In so doing, we hope to lower the barrier for language creation significantly, ultimately allowing software creators to use the languages most suited to them and their needs.

  37. First Class Grammars for Language Oriented Programming. Tony Clark. The 13th World Multi-Conference on Systemics, Cybernetics and Informatics: WMSCI 2009. July, 2009, Orlando Florida, USA.

    Programming languages that support Language Oriented Programming (LOP) allow developers to extend the host language with new programming features. The extensions include new concrete syntax constructs that are both re- placements for and interleaved with the host language. This paper describes the general features that are required in order to support the LOP approach in a language. The paper shows how many of the features are implemented in the XMF language system, describes the shortcomings of the implementation and outlines an extension to Java that would address these shortcomings.
  38. Model Based Functional Testing using Pattern Directed Filmstrips. Tony Clark. In the proceedings of the Fourth International Workshop on the Automation of Software Test (AST 09), May 18 - 19, ICSE 09, Vancouver Canada.

    Model driven functional system testing generates test scenarios from behavioural and structural models. In order to autmatically generate tests, conditions such as invariants and pre-/post-conditions must be precisely defined. UML provides the Object Constraint Language (OCL) for this purpose; however OCL expressions can become very complex. This paper describes an approach that allows many commonly found OCL patterns to be expressed as snapshot patterns that correspond directly to the information model diagrams. Behaviour is constructed as chains of snapshots, or filmstrips. Snapshots and filmstrips are as expressive as UML behaviour models and OCL but it is argued that theyare more accessible and more modular.

  39. Formalizing Homogeneous Language Embeddings. Tony Clark and Laurence Tratt. In the proceedings of the 9th Workshop on Language Descriptions Tools and Applications (LDTA). ETAPS 2009, York, UK.

    The cost of implementing syntactically distinct Domain Specific Languages (DSLs) can be reduced by homogeneously embedding them in a host language in cooperation with its compiler. Current homogeneous embedding approaches either restrict the embedding of multiple DSLs in order to provide safety guarantees, or allow multiple DSLs to be embedded but force the user to deal with the interoperability burden. In this paper we present the \mu-calculus which allows parameterisable language embeddings to be specified and analysed. By reducing the problem to its core essentials we are able to show how multiple, expressive, language embeddings can be defined in a homogeneous embedding context. We further show how variant calculi with user-defined safety criteria can be defined. 

    This report
    shows how parsing mechanisms can be embedded in the mu-calculus and how a language translation can be proved to be property preserving. The parsing mechanism is defined using a DSL for expressing grammars that is defined in mu. HTML and SQL languages are defined independently and the semantics is shown to be preserved when the languages are translated to a target language.
  40. Beyond Annotations: A Proposal for Extensible Java (XJ). Tony Clark, P. Sammut, J. Willans. In the proc. of  the Eighth IEEE International Working Conference on Source Code Analysis and Manipulation. Beijing, China, Sept, 2008.

    The XMF system is based on a bespoke language that includes some features that are key to Language Oriented Programming: grammars; syntax classes; parsers; quasi-quotes. This paper discusses various technologies and approaches for LOP and concludes that standardization is one of the key features that will bring LOP and Domain Specific Languages to the mainstream. The paper proposes an extension to Java that incorporates the key LOP and DSL features of XMF. The essential Java extensions are discussed and the paper concludes with a couple of examples.

  41. A Domain Specific Language for Interactive Applications. Tony Clark. Model Driven Development Tool Implementers Forum. TOOLS 2007, Zurich. 2007.

    This paper was written in response to a challenge published by the forum organizers to develop a DSL for an interactive TV application. The idea was to write the communication language used to control the set-top box and to respond to commands from the hand-held controller. The paper contains a few DSLs for this purpose developed using the XMF engine.

  42. MDA-Driven Development of standard-compliant OSS components: the OSS/J Inventory Case-Study. N. Georgalas, M. Azmoodeh, Tony Clark, A. Evans. In proc of Second European Workshop on Model Driven Architecture (MDA) 2004.

    This paper reports work done with BT in developing some model-driven tooling for representing aspects of the OSS telecomms standard. XMF-Mosaic was used to create a meta-model of part of the OSS telecomms service level standard and to use the meta-package feature of XMF-Mosaic to automatically create tools to support modelling using this DSL. The mapping feature of XMF-Mosaic is used to generate J2EE code.

  43. An eXecutable Metamodelling Facility for Domain Specific Language Design. Tony Clark, A. Evans, P. Sammut, J. Willans. In proc. of 4th OOPSLA Workshop on Domain-Specific Modeling, 2004.

    We were a bit frustrated that we could not convince people to make MOF an executable language. This paper outlines the results of our efforts to generate an executable meta-modelling language that is used at the core of XMF-Mosaic.

  44. Transformation Language Design: A Metamodelling Foundation. Tony Clark, A. Evans, P. Sammut and J. Willans. In Graph Transformations. LNCS Volume 3256 pp 13 - 21 2004.

    One of the innovations developed as part of XMF-Mosaic was the coupling of executable meta-modelling and pattern-based data transformations. The meta-level of a modelling language can include executable rules for transformation. This can be used for a variety of tasks including code generation and document generation. This paper provides an outline of the approach.

  45. A Pattern based model driven approach to model transformations. B. Appukuttan, Tony Clark, S. Reddy, L. Tratt, R. V. In Proc. Metamodelling for MDA 2003, pages 110-128, November 2003.

    The 2U Consortium has recently submitted a proposal for the definition of the UML 2.0 infrastructure. This uses an innovative technique of rapidly 'stamping out' the definition using a small number of patterns commonly found in software architecture. The patterns, their instantiation, and any further language details are described using precise class diagrams and OCL, this enables the definition to be easily understood. The main focus of the 2U approach is on the static part of the definition. A further concern when modelling software, using languages such as the UML, is describing the dynamic behaviour of the system over time. The contribution of this paper is to provide a template that can be used to 'stamp out' the dynamic part of the UML 2.0 infrastructure. We argue for the suitability of the dynamic template because it makes little commitment to concrete abstractions and can, therefore, be used to support a broad spectrum of behavioural languages.

  46. A model driven approach to building implementable model transformations B. Appukuttan, Tony Clark, S. Reddy, L. Tratt, R. Venkatesh. WiSME 2003, San Francisco CA, October 2003.

    In 2002 the OMG published a call for submissions to address the issue of model transformations within MDA. We were one of the main consortiums that submitted and this paper describes the overall approach.

  47. Model transformations in Converge. L. Tratt, Tony Clark. WiSME 2003, San Francisco CA, October 2003.

    Laurie's Converge Language was an ideal technology for implementing some of the ideas from the QVT submission. This paper shows how it was done.

  48. Object-Oriented Theories for Model Driven Architecture. Tony Clark, A. Evans, R. France. In the proceedings of the OOIS MDA Workshop, Springer Verlag, LNCS 2426. Montpellier France September 2002.

    An object-oriented theory is a snapshot (or object) diagram with variables in it and some constraints in terms of the variables. The diagrams can be combined to form deduction rules and the set of ground object models that can be generated are collectively referred to as an object-oriented theory. This paper outlines an approach to MDA using object-oriented theories.

  49. Using Icon-derived technologies to drive model transformations. L. Tratt Tony Clark. In the proceedings of UML 2003 Workshop in Software Model Engineering.

    An earlier version of the ideas reported in the Converge paper above.

  50. Enhancing the Template Mechanism. L. Tratt, Tony Clark. In the proceedings of the Workshop on Software Model Engineering held at the International Conference on UML, Dresden, Germany, October 2002.

    The 2U consortium used templates as a mechanism to construct their submission for UML 2.0 to the OMG. These templates were rather under-specified and this paper addressed this issue by proposing a formal calculus as a basis for template definition.

  51. A Metamodel for Package Extension with Renaming. Tony Clark, A. Evans, S. Kent. In the proceedings of The 5th International Conference on the Unified Modeling Language (<<UML2002>>), Dresden, Germany, Springer-Verlag LNCS, October 2002. (17 citations)

    Package extension and template mechanisms were originally proposed as part of the Catalysis method.  This paper provides a rigorous metamodel
    definition of the package extension mechanism.

  52. Patterns for Renaming and Stamping out Object-Oriented Models. Tony Clark, A. Evans, S. Kent. Accepted for the International Conference on Software Engineering Research and Practice, SERP 2002, Las Vagas, USA. (not presented).

    This is an MML paper showing how templates can be used to capture model patterns and then models can be created by supplying template arguments and joining the resulting model fragments.

  53. A pattern based approach to defining the dynamic infrastructure of UML 2.0. B. Appukuttan, Tony Clark, A. Evans, G. Maskeri, P. Sammut, L. Tratt, J. Willans. In proceedings of the Fourth Workshop on Rigorous Object-Oriented Methods, ROOM 4, King’s College, March 2002.

    The 2U consortium proposed a template-based approach to defining UML 2.0. This paper provides an example of this approach showing how a dynamic language (such as the UML action language) can be defined in terms of templates.

  54. A pattern based approach to defining translations between languages. G. Maskeri, J. Willans, Tony Clark, A. Evans, S. Kent, P. Sammut, Presented at the Fourth Workshop on Rigorous Object-Oriented Methods, ROOM 4, King's College, March 2002.

    The 2U Consortium have recently submitted a proposal for the definition of the UML 2.0 infrastructure. This uses a innovative technique of rapidly 'stamping out' the definition using a small number of patterns commonly found in software architecture. The contribution of this paper is to introduce the idea of reusability of mappings between languages and defining some of the reusable mapping templates. This paper also illustrates how these templates can be used to stamp out mapping between languages by stamping out a mapping between UML and Java.

  55. Engineering Modelling Languages: A Precise Metamodelling Approach. Tony Clark, A. Evans, S.Kent. In proceedings of the 5th International Conference on Fundamental Approaches to Software Engineering. France. 2002. pp 159 - 173. (64 citations)

    An MML paper that describes the overall approach of a language MML, a tool MMT and a method MMM used to define modelling languages.

  56. An Action Semantics for MML. J-M Alvarez, Tony Clark, A. Evans. In proceedings of 4th International Conference on the Unified Modeling Language (<<UML2001>>), Toronto, LNCS 2185, Springer-Verlag, 2001. (30 citations).

    This paper describes an action semantics for UML based on the Meta-Modelling Language (MML) - a precise meta-modelling language designed for developing families of UML languages. Actions are defined as computational procedures with side-effects. The action semantics are described in the MML style, with model, instance and semantic packages. Different actions are described as specializations of the basic action in their own package. The aim is to show that by using a Catalysis like package extension mechanism, with precise mappings to a simple semantic domain, a well-structured and extensible model for an action language can be obtained.

  57. The Meta-Modeling Language Calculus: Foundation Semantics for UML. Tony Clark, A. Evans and S. Kent. In proceedings of FASE Workshop, European Conference of Theory and Practice of Software (ETAPS), Genoa, LNCS, 2001. (81 citations)

    We were trying to define a small core meta-language that would allow us to build UML-style modelling languages. The language had to be object-oriented, executable, imperative and support OCL-like features. The MMT tool (which later evolved into XMF) implemented a language whose essential semantics was boiled down into a calculus described in this paper.

  58. The MMF Approach to Engineering Object-Oriented Design Languages. Tony Clark, A. Evans, S. Kent, and P. Sammut. Presented at the workshop on Language Descriptions, Tools and Applications (LTDA 2001), Genoa, 2001. (57 citations)

    We designed a meta-language called MML in order to define UML-style languages by combining patterns in the form of templates. MML was implemented as a tool called MMT which provided a programming language for defining UML-style concepts (packages, classes, etc). MMT allowed language features to be parametric and thereby captured language patterns. The approach, language and tool was collectively referred to as MMF. This report is an extended version of the ETAPS FASE paper and describes MMF and provides some examples.

  59. Object-Oriented Refinement and Proof using Behaviour Functions. Tony Clark. In the Proceedings of the Third Workshop on Rigorous Object-Oriented Methods, Tony Clark, A. Evans, K. Lano (eds.), ROOM 3, BCS eWiCS, York, January, 2000.

    The Algebraic approach to specifying systems describes various aspects of a system as algebras, links the algebras together using morphisms and then defines the complete system as a solution to a set of equations that satisfy all the algebras and morphisms. This paper transfers the approach to a lambda-calculus setting and introduces a new calculus with equation-solving operators. The benefit of using a lambda-calculus is that the specification can be step-wise refined into an implementation.

  60. Using Profiles to Rearchitect the UML. Tony Clark, A. Evans, S. Kent. Presented at the pUML Workshop, ECOOP, Nice, France, 2000.

    An early description of how we proposed to organize the UML as a bunch of composable properties.

  61. Formal Refinement and Proof of a Small Java Program. Tony Clark. In proceedings of the ECOOP 99 workshop on Formal Methods for Java Program Development. Lisbon, June 1999.

    Part of an ongoing attempt to specify programs in terms of modular chunks of behaviour, combine the modules and then derive an implementation. Companion to Object-Oriented Refinement and Proof using Behaviour Functions.

  62. Typechecking UML Static Models. Tony Clark. In Proceedings of the International Conference on UML, Colorado USA. Springer, LNCS, 1999.

    The Object Constraint Language had been around for a while but had attracted little scientific study. This paper defines a type system for OCL and shows how it can be used to type check UML models that use OCL for constraints.

  63. A Semantics for Object-Oriented Systems. Tony Clark. In the Proceedings of the Third Northern Formal Methods Workshop. Tony Clark, A. Evans, D. Duke (eds). BCS FACS Electronic Workshops in Computing. 1999.

    This paper describes a similar system to Object-Oriented Refinement and Proof using Behaviour Functions. 

  64. Semantics of the Unified Modeling Language. Tony Clark, A. Evans. In proceedings of the first Rigorous Object-Oriented Methods Workshop (ROOM1) , Imperial College, University of London, 23 June 1997.

    A very early paper on the semantics of the Unified Modelling Language that uses a modal-logic to define the system behaviour expressed by a UML model. Modality is used to define what is meant by state machines and activity diagrams. Once the UML model has been translated to the modal-logic, the Tableau Method is used to establish system properties.

  65. Foundations of the Unified Modeling Language. Tony Clark and A. Evans. In D. Duke and A. Evans, editors, BCS FACS - 2nd Northern Formal Methods Workshop, Ilkley, electronic Workshops in Computing, Springer Verlag 1997. (41 citations)

    Compare the use of the modal-logic in Semantics of the Unified Modeling Language with the use of Z to express the semantics of UML models in this paper.

  66. A.Clark, A.Evans. Foundations of the UML with Modal Logic. Presented atWorkshop on ‘Making OO Methods More Rigorous’, Imperial College, 24th June, 1997.


  67. The Generation of Animated Sequences from State Transition Systems. Tony Clark, I. Palmer. In Proc. of the fifth Eurographics workshop on Programming Paradigms in Graphics, Maastricht, Sept. 2-3, 1995.

    This paper takes the modular compositional behaviour idea for systems and applies it to computer animation. Aspects of animations are specified as separate state machines and a collection of behaviour composition and restriction operators are defined and used to build the required animation.
  68. Towards an Expert System for the Analysis of Computer Aided Human Performance. Tony Clark, G. Greatorex, A. Hill. In the Proceedings of the International Workshop on Human Computer Teamwork, Cambridge, Sep. 1994.

    At the time this work was done, Human Factors was an area that had little computer-based support. This work was an attempt to show that the information needed by a HF expert when analyzing tasks could be represented in a way that facilitated their activities. I can only find an early draft of this paper, however it gives the general ideas.

  69. Airside Ground Movement Surveillance. D. Corrall, Tony Clark, A. Hill. In Proceedings of the International AGARD Conference #538 -- Machine Intelligence in Air Traffic Management. 1993.

    A paper giving an overview of the system whose technology is described in  Pattern Recognition of Noisy Sequences of Behavioural Events Using Functional Combinators.

  70. The Evolution of the STRATA Representation and Reasoning System (Or STRATA: The story behind the layers). K. Poulter, Tony Clark, C. Jackson. In the Proceedings of the first workshop for the special interest group on knowledge manipulation engines. Cambridge, 1987.

    The STRATA AI Toolkit was developed by myself and Kevin Poulter at Marconi Research from 1985 to 1991. At the time, there was a great deal of interest in AI and KBS. Many high-technology groups were using Prolog and Lisp to develop reasoning systems. STRATA arose out of technology we developed as part of the KBPA demonstrator application for the ESPRIT PCTE project. At the time there were US-based AI toolkits emerging (for example Intellicorp KEE), but not much in Europe and we saw an opportunity. STRATA was developed in (Kyoto) Common Lisp and subsequently on Poplog which provided a library for a graphical user interface. STRATA included a collection of technologies including: a RETE-based forward chaining rule-system; a CLOS-based object-system (implemented before CLOS was part of Common Lisp); a Prolog-based backward chaining rule-system; viewpoints or multiple-worlds; a constraint satisfaction system. When it was eventually released as a product, STRATA was renamed KERIS for copyright reasons. It was used on a number of projects including Knowledge-based signal processing for radar ESM systems.

  71. The STRATA Representation and Reasoning System. K. Poulter, Tony Clark. ESPRIT Technical Week. 1986.

    A paper giving an overview of the STRATA system (see above).

Home.

Reports

  1. The Xmoder Bluebook. Tony Clark, James Willans, Paul Sammut. 2008.

    Xmodeler is a model-driven development platform. Model-driven development (MDD) is an approach to enterprise system and software development where the key drivers of the process are models. By capturing these artefacts as models, significant advantages can be achieved over traditional programming approaches. MDD has the potential to greatly reduce the cost of development by facilitating the automation of many important development processes, including validation of models and generation of code. This is the user documentation for Xmodeler. Xmodeler is open-source and is available by contacting Tony Clark.

  2. Processing XML for Domain Specific Languages. Tony Clark. 2008.

    XMF implements a novel mechanisms for processing XML using conventional BNF-style grammars. This paper describes the mechanism in detail and defines an XML parsing machine that efficiently processes SAX events.

  3. Meta-Packages: Painless Domain Specific Languages. Tony Clark. 2008.

    This paper describes some technology that was developed as part of the XMF-Mosaic toolkit. UML provides fairly restricted access to the meta-level in order to tailor the modelling concepts and invent new languages. XMF-Mosaic provides complete access to the meta-level which can be extended and modified as required. However, complete access to the meta-level requires new tooling each time. We observed a middle ground whereby new languages defined by extending a basic collection of meta-concepts could be supported by some generic tooling. We called this approach meta-packages and this paper describes how they work.

  4. Language Driven Development and XMF-Mosaic, 2005.  Tony Clark, A. Evans, P. Sammut, J. Willans. Industry White Paper published by ZDNet.co.uk.

    This paper was written in order to raise the awareness of XMF-Mosaic. Here is the blurb that goes with it: The way that people design software and systems is about to be revolutionized. Developers will no longer be constrained by the tools they use, but will have the freedom to model the languages and tools that best fit their problem domain and development processes. By closely tailoring tools to suit their problem domain, developers will gain huge increases in productivity enabling them to bridge the gap between the way they naturally think about their problem domain and the software that implements it.

  5. Revised submission for MOF 2.0 Query / Views /Transformations RFP

    In the early 00's the OMG realised that model transformation was going to be an important technique in model driven development. As part of the MDA drive, a call was published for proposals for a standard way of transforming models. While at King's College London, myself, Laurie Tratt, colleagues fro York University and from Tata Consultancy Services defined an extension to OCL that allowed pattern-based transformations to be specified. I was keen to bring in some of the pattern features from functional languages into OCL as I thought this would be very useful for defining declarative model transformations. I think I was responsible for stting the technical agenda in the early stages of this standard but left to start up Xactium mid-way through.This was the report that eventually got submitted to the OMG.

  6. A Calculus for QVT. Tony Clark. 2004.

    The Queries View and Transformations RFP was issued by the OMG in order to address the issue of code generation from UML models. The QVT call aimed to provide a standard industry mechanism for processing models as part of the Model Driven Architecture initiative of the OMG. I was part of the initial group that started to put together a QVT language based on the Object Constraint Language. This paper describes a calculus that was part of that initial work. The work aimed to provide a simple compositional language that could be used to express UML models and QVT transformations.

  7. Issues surrounding model consistency and QVT. Laurence Tratt, Tony Clark Technical report TR-03-08, Department of Computer Science, King's College London. December 2003.

    Laurie and I worked on the initial definition of the Queries Views and Transformations (QVT) specification in the OMG. Part of the problem addressed by QVT is how to keep multiple models synchronized. This report describes an approach to model synchronization.

  8. Why modelling needs more than generalization. L. Tratt, Tony Clark, A. S. Evans. King's College Research Report. April 2002.

  9. Unambiguous UML (2U) Submission to UML 2 Infrastructure RFP. June 2002.

    After a great deal of effort we finally put together a submission to the OMG for UML 2.0 as part of a consortium called 2U (the winning consortium was called U2). This report is the submission which gained a great deal of technical support within the OMG, but unfortunately did not gain sufficient political weight. The report describes how to put UML together using a collection of language properties expressed at the meta-level using templates. It is essentially the MML approach described in papers elsewhere.

  10. Modelling generalization and other class-to-parent relationships. L. Tratt, Tony Clark, A. Evans. King's College Research Report. 2003.

    In order to reflect the different variations in meaning for the concept of generalization, modelling languages like UML need more then one semantic relationship. This paper discusses this issue and shows how the different semantics can be captured as patterns.

  11. Defining OCL Expressions Using Templates. J. Willans, P. Sammut, G. Maskeri, A. Evans, Tony Clark. King's College Research Report. 2002.

    At the time, OCL was part of UML but did not have a meta-model (this has since been rectified). This paper showed how the meta-model for OCL can be constructed using template patterns.

  12. Engineering a precise meta-model definition. Tony Clark, A. Evans, G. Maskeri, A. Moore, P. Sammut, J Willans. University of York Research Report. 2002.

  13. A Programmer's Guide to MMT. Tony Clark, A. Evans, S. Kent. King’s College Research Report. January 2002.

    MMT was an early version of XMF. This book introduces MMT and its libraries. Each aspect of MMT is described using a number of examples.

  14. Unambiguous UML. Tony Clark, D. D'Souza, A. Evans, S. Mellor, S. Kent. (2U) submission to UML2 RFP on Infrastructure and OCL. August 2001.

    In 2000 the OMG published a call for a revision of the UML standard. A consortium of companies, organizations and individuals was formed in order to address the problems of complexity and bloat that were seen to be problems with the existing UML language. This report is the initial submission from that consortium which aimed to use a number of patterns exemplifying language properties in order to define the core of UML.

  15. A Translational Semantics for UML. Tony Clark, D. D'Souza. King's College Research Report. 2001.

    This (incomplete) report was work I did with Desmond D'Souza. Desmond was the co-developer of Catalysis. The report aims to use a very simple semantic domain based on snapshots and filmstrips as the basis for UML. The high-level concepts of UML are translated down onto the semantic domain.

  16. Submission to the UML2 RFP on OCL. Boldsoft, Rational Software Corporation, IONA. In association with J. Warmer, A. Kleppe, Tony Clark, A. Ivner, J. Högström, M. Gogolla, M. Richters, H. Hussmann, S. Zschaler, S. Johnston, D. Frankel. August 2001.

    OCL is the Object Constraint Language which is part of the modelling language UML. In 2001 the Object Management Group published a request for proposals for OCL version 2.0. This report is the initial submission by a consortium of companies, organizations and individuals describing the proposed upgrades from OCL version 1.0.

  17. A Feasibility Study in Rearchitecting UML as a Family of Languages Using a Precise OO Meta-Modeling Approach. Tony Clark, A. Evans, S. Kent, S. Brodsky, and S. Cook. Technical report, pUML Group and IBM. September 2000. (41 citations)

    This report was effectively commissioned by IBM and championed by Steve Cook (now with Microsoft) as an experiment to see if the upcoming UML 2.0 standard could be handled in a scientific way in order to meet the (often conflicting) requirements of different users. The report led to the 2U consortium being formed and the 2U UML 2.0 submission to the OMG.

  18. Response to UML 2.0 Request for Information. Tony Clark, A. Evans, R. France, S. Kent and B. Rumpe. December 1999.

    An initial stake in the ground in the OMG UML 2.0 definition process (which eventually took several years).

  19. Implementation of Lazy Agents in the Functional Language EBG. Tony Clark. University of Bradford Technical Report. 1999.

    The EBG language is used to implement a representation of multiple communicating agents. The agents are threaded together using a lazily evolving stream of messages. This paper conflates two research threads: EBG that compiles onto the Java VM; and, multi-agent systems. The threads might usefully have been untangled.

  20. Specification and Implementation of a Multi-Agent Calculus based on Higher-Order Functions. Tony Clark, University of Bradford Technical Report. 1999.

    Similar report to that listed above. Different case study.

  21. EBG: A Lazy Functional Programming Language Implemented on the Java Virtual Machine. Tony Clark. University of Bradford Technical Report. 1999.

    In the early days of Java there were few languages that used the Java VM as a target. This report describes work on a system called EBG that compiled a lazy functional language onto the Java VM and thereby allowed Java and EBG programs to co-exist. The report is interesting in that it describes how a functional language can be compiled to Java VM instructions by defining all the key components of the compiler in the functional language.

  22. A Semantics for Object-Oriented Design Notations. Tony Clark. University of Bradford Technical Report. 1999.

    At the time, graphical design notations like OMT and UML were increasingly popular. However there was little analysis of their semantics. This report uses concepts from Category Theory to develop a semantic domain and then to use an extended lambda-calculus to represent the semantic features.

  23. Proving Properties and Programs which Share. Tony Clark. University of Bradford Technical Report. 1999.

    The analysis of program properties is essential to the production of high-quality systems. This paper makes a contribution to the analysis of imperative programs by proposing a model for aliasing.

  24. A Semantic framework for Object-Oriented Development. Tony Clark. University of Bradford Technical Report. 1998.

    This report applies the Algebraic approach of modular composable behaviour specification to the lambda calculus. It gave rise to a handful of papers including: Object-Oriented Refinement and Proof using Behaviour Functions and Formal Refinement and Proof of a Small Java Program.

  25. Semantic Primitives for Object-Oriented Programming Languages. Tony Clark. PhD Thesis, Queen Mary College, University of London. 1996.

    My PhD was sponsored by Marconi Research and was done part-time from 1989 to 1996. My supervisor was Peter Landin and my examiners were Bernard Sufrin and Russell Winder. The thesis is that you can reduce object-oriented languages down to a few basic primitives and then reconstruct the different types of OO language feature found in the wild. Peter Landin had a huge influence on my understanding of software during this time. As John Reynolds states in the preface to Theories of programming Languages: Peter Landin remarked long ago that the goal of his research was "to tell beautiful stories about computation". Peter's view was that to understand software you need systems that precisely, but not necessarily mathematically, describe the aspects you want to investigate. The SECD machine is one such system for describing how programming languages execute in terms of environments, closures and the like.

  26. The Formal Development of a Tableau Machine. Tony Clark. University of Bradford Technical Report. December 1996.

    This paper was an exercise in constructing a program development method in terms of refining infeasible programs into feasible programs. The idea is that we provide an algebraic representation of the calculations we want to perform. These calculations may be infeasible in the sense that they cannot be performed by a conventional machine. Since the calculations are represented as data, they can be transformed using semantic preserving rules into calculations whose properties guarantee that they are feasible. The machine associated with the feasible calculations can be 'read off' the transformations. The notion of calculations is due to Peter Landin.

  27. ROO - A Model for Object-Oriented Reuse. Tony Clark. University of Bradford Technical Report. 1996.

    This paper proposes a model for software reuse. Software components are modelled as state machines and reuse is achieved by behavioural matching.

  28. A Lazy Non-Deterministic Functional Language. Tony Clark. Euclid 6.3 project MOSES Report. 1995.

    Euclid 6.3 was a European project much like Esprit or Framework N. The aim of the project was to address quality issues in the development of Knowledge Based Systems for military applications. As part of this work I was responsible for researching how rules systems could be improved. As a basis for this, I took KBS to be characterized by search strategies and therefore could be modelled using a non-deterministic lambda-calculus. This paper develops such a calculus and uses it to represent a standard KBS-style application.

  29. Transforming Sequences using Threaded Morphisms. Tony Clark. University of Bradford Technical Report. 1995.

    Defining patterns of sequence transformations.

  30. Metaclasses and Reflection in Smalltalk. Tony Clark. Marconi Research Technical Report. 1994.

    As part of my PhD I defined and implemented countless mini-OO languages in order to study how they worked and try out variations and extensions. Most of these implementations were done in Common Lisp. This report is typical of the many that were generated (but did not make it into the final thesis). This particular report is interesting because of the meta-circularity aspect of Smalltalk. I think that Smalltalk does not quite get the meta-circularity quite right, the ObjVLisp Model of Briot and Cointe seems a much better approach and I used it as the basis of XMF.

  31. A Basic Model Of KBS Software. Tony Clark. Euclid 6.3 project MOSES Report. 1993.

    The Euclid 6.2 project MOSES addressed quality issues in the development of military KBS. My contribution to this project was to develop a computational model of KBS that could be used to define and analyze aspects of KBS quality. Since a key characteristic of KBS is search, a computational model based on non-determinism was developed and used to express terms relating to quality.

  32. A Semantics of Smalltalk. Tony Clark. Scanned Handwritten Notes (60+ MB). 1992.

    These notes develop an interesting graphical representation for how recursion occurs in object-oriented systems. The idea creates an infinite 3D structure not unlike a Klein Bottle. The paper also sets up an algebraic system that explains how the various categories of variable binding occurs in a Smalltalk system: instance; class; pool.

  33. An Introduction to Object-Oriented Programing (I). Tony Clark. Scanned Handwritten Notes (100+ MB). 1990.

    These notes show how OOP differs from standard data structures and how OOP can be represented using records and functions. It also provides an overview of the various ways in which recursion occurs in OOPLs.

Home.