About
34
Publications
6,439
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
853
Citations
Publications
Publications (34)
There have been widespread expressions of dissatisfaction among autistic people and communities regarding the recommendations of the Lancet Commission on the future of care and clinical research in autism.1 The authors of this article discussed the Commission’s report and some wider issues related to autism research in general as a committee of aut...
Through the lenses of evolutionary biology and cultural evolution, small groups of 20 to 100 people are the primary organisms within human society – in contrast to individuals, corporations, and nation states. The implications for our civilisation are profound. Humanity is experiencing a phase transition that is catalysed by a combination of new co...
Model oriented domain analysis and engineering (MODA & MODE) is a methodology for value chain analysis and domain engineering that can be used to uncover and formalize the knowledge that is inherent in any software intensive business or any scientific discipline. The target audience consists of domain experts in any line of business or field of sci...
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 on...
Domain specific Engineering addresses the tools, methods and technologies that are used to tackle issues of complexity, scalability, quality and maintainability of modern software systems. Domain specific Engineering seeks to use techniques that raise abstraction levels away from general purpose software engineering technologies towards representat...
Gmodel is a metalanguage that has been designed from the ground up to enable specification and instantiation of mod-elling 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 ex-ten...
Domain Engineering is relevant to various fields in software and systems development, such as conceptual modeling, software
product line engineering, domain-specific languages engineering, and so on. It deals with identifying, modeling, constructing,
cataloging, and disseminating artifacts that represent the commonalities and differences within a d...
Domain Specific Languages are raising the level of abstraction of software specifications and of knowledge represen-tation 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 concer...
This chapter addresses the question of how to successfully create durable and scalable software architectures that enable the underlying design intent of a system to survive over a period of many years, such that no accidental dependencies are introduced as part of further software development and maintenance. The answer involves looking beyond obj...
This chapter addresses the question of how to successfully create durable and scalable software architectures that enable the underlying design intent of a system to survive over a period of many years, such that no accidental dependencies are introduced as part of further software development and maintenance. The answer involves looking beyond obj...
In most business software systems the time dimension of business objects plays a significant role. Time is a crosscutting concern that is hard to separate from other business logic. We have developed a toolkit that allows existing business application systems to be extended with "time-conscious" behavior in a non-intrusive way by factoring out all...
A small-scale example application is used to highlight the potential of Model-Driven Architecture. This paper compares traditional software development (no abstract modelling), standard Unified Modelling Language (UML)-based software development, and MDA-based software development. To allow a comparison, Lines of Code (LOC) serve as a measure of de...
The Generative Model Transformer (GMT) project is an Open Source initiative to build a Model Driven ArchitecureTM tool that allows fully customisable Platform Independent Models, Platform Description Models, Texture Mappings, and Refinement Transformations. The project should result in (a) a tool that fulfils the MDA promise for faster/more accurat...
In most business software systems the time dimension of business objects plays a significant role. Time is a crosscutting concern that is hard to separate from other business logic. We have developed a toolkit that allows existing business application systems to be extended with "time-conscious" behavior in a non-intrusive way by factoring out all...
The Generative Model Transformer (GMT) project is an Open Source initiative to build a Model Driven Architecure™ tool that allows fully customisable Platform Independent Models, Platform Description Models, Texture Mappings, and Refinement Transformations. The project should result in (a) a tool that fulfils the MDA promise for faster/more accurate...
The recent OMG work on Queries, Views and Transformations (QVT) has led to five proposals that contain suggestions for notations for model-to-model transformations. This work is a valuable foundation, but the success of the MDA initiative and of QVT in particular will depend on the availability of a concrete syntax for model-to-model transformation...
The forces pulling on real-life software projects can easily corrode the best attempts at introducing generative techniques. No matter how desirable generative techniques are to improve the technical quality of a software solution, unless the new techniques are introduced with proper diligence, they are not likely to become state-of-the-practice. T...
A model-driven software development approach has been used in a project to build a complex commercial application within the New Zealand electricity industry. As part of the project a compact visual notation for the mapping between a highly abstract UML design model and implementation has been developed. The overall approach makes use of modelling...
Although component-based development provides the concepts and mechanisms to manage complexity in large software development efforts, most teams in practice still have to come to grips with the basics. Inexperienced teams perceive the introduction of additional interfaces and rigorously enforced subsystem boundaries as avoidable overhead. Especiall...
Although component-based development provides the concepts and mechanisms to manage complexity in large software development efforts, most teams in practice still have to come to grips with the basics. Inexperienced teams perceive the introduction of additional interfaces and rigorously enforced subsystem boundaries as avoidable overhead. Especiall...
The commercial benefits claimed for software based on Domain Specific Languages are well documented. Many DSL 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. Unfo...
A small-scale example application is used to introduce a domain-specific notation for object- oriented user interfaces. This paper compares traditional software development (no abstract modelling), standard Unified Modelling Language (UML)-based software development, and software development based on domain-specific modelling. To allow a comparison...
It is increasingly recognised that domain specific modelling languages hold the key for improving productivity and quality in software design, development, configuration, inter-operability, an operation. Although there are a number of languages that can be used for specifying the abstract syntax of a modelling language, none of these languages prov...