598 research outputs found

    Superlanguages: developing languages and applications with XMF.

    Get PDF
    Superlanguages offer a wide range of technologies that support application development. In particular Superlanguages support Language Oriented Programming and Domain Specific Languages through syntax extensions and meta-programming. XMF has been designed as a Superlanguage and can be downloaded from this web site. This book describes Superlanguage features and shows how XMF can be used to develop new languages and applications

    Beyond annotations: a proposal for extensible java (XJ).

    Get PDF
    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

    An action semantics for MML.

    Get PDF
    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 deĀÆned as computational procedures with side-eĀ®ects. The action semantics are described in the MML style, with model, instance and semantic packages. DiĀ®erent 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

    Defining OCL expressions using templates.

    Get PDF
    OCL expressions are an essential part of UML. The current versions of OCL fail to have a meta-model which means that the integration of OCL with the UML meta-model cannot be formally defined [1]. This can result in ambiguous descriptions of systems which may compromise designs. The need to redesign the OCL has been addressed by a number of proposals submitted to the OMG. In this paper we demonstrate how a definition for OCL can be stamped out from a small number of templates. Such an approach enables a high level of reuse and an increased confidence that the definition is correct. This work forms part of the 2U consortiumā€™s efforts for the definition of UML 2.0

    Revised submission for MOF 2.0 query / views / transformations RFP.

    Get PDF
    This submission presents the QVT-Partners proposal for the MOF 2.0 QVT standard. The proposal consists of a number of key ingredients which we briefly discuss in this section. -Specification and implementation: A common scenario in the development of any artifact is to first create a specification of the form and behaviour of the the artifact, and then realise an implementation which satisfies the specification. The specification is characterised by a lack of implementation details, but having a close correspondence to the requirements; conversely an implementation may lack close correspondence to the requirements. This submission maintains this important distinction. Relations provide a specification oriented view of the relationship between models and are specified in a language that can be easily understood. They say what it means to translate between several models but without saying precisely how the translation is achieved. Those details are realised by mappings which characterise the means by which models are translated. It should be noted though, that while the mappings language is rich enough to provide an implementation of relations it also manages to maintain a requirements oriented focus. This may give rise to a scenario where developers prefer to omit relations and directly define mappings. -Scalability and reuse: Decomposition is a key approach to managing complexity. This submission provides a number of composition mechanisms whereby relations and mappings can be composed to form more complex specifications. These mechanisms also aid reuse since mappings and relations can be treated as reusable components which are composed for specific contexts. -Usability: Diagrammatic notations have been important to the success of many OMG standards. This proposal presents a diagrammatic notation which is an extension of collaboration object diagrams and is therefore familiar to many end users. A criticism often levelled at diagrammatic notations is their scalability. This submission also presents a textual syntax, constructs of the diagrammatic notations are closely aligned with its textual counterpart. Considering the domains of relations and mappings at the generic type level is often too limiting. Instead it often is specific-types of things that are of interest. This submission uses patterns to describe the domains of both relations and mappings. Patterns are a means of succinctly describing specific-types of model elements and enable domains of interest to be rapidly stated with ease. -Semantic soundness: By definition a standard should give rise to consistency across differing implementations. It is important that an end user can get the same results on two different implementations. For this reason, this submission goes to some effort to ensure that all the constructs have a well-defined semantic basis. This is achieved by treating the submission in two parts. The infrastructure part has a small number of constructs which can be easily and consistently understood from informal descriptions (although a mathematical semantics is given in Appendix B for the sake of completeness and rigour). The superstructure part uses the infrastructure as its semantic basis and defines the syntax that the end user deals with. The relationship between the superstructure and the infrastructure is expressed as a translation

    MDA-driven development of standard-compliant OSS components: the OSS/J inventory case-study.

    Get PDF
    The telecommunications-oriented Operational Support Systems (OSS) industry have recognised the value of technology independent modelling of OSS solutions as a way to reduce cost, add agility, validate and verify solution designs against architectural guidelines of an enterprise and most importantly provide traceability in the design methodology process. The challenges faced by the OSS community is how MDA tools can deliver the promise of advanced meta-modelling, model definition and validation and model transformation for both OSS software components and integration logic in the larger OSS landscape. This paper describes how an advanced extensible meta-modelling tool is used to build an OSS component following best practice industry guidelines. Extended MOF, extended executable OCL and a powerful transformation language are used to capture the constraints in the meta-models as well as models followed by complete, 100% code generation from models. Furthermore, meta-models are also developed to capture graphical user interface elements in conjunction with the inventory data models, which are then automatically translated into code. This work is the precursor for defining extensive meta-models for a component-based OSS infrastructure based on industry best practice, for adding high degree of formality to model specifications and for enabling the verification of domain requirements by executing the models through model snapshot creation, way before system implementation takes place

    A pattern based approach to defining translations between languages.

    Get PDF
    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

    A pattern based approach to defining the dynamic infrastructure of UML 2.0.

    Get PDF
    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

    Unambiguous UML submission to UML 2 infrastructure RFP (ad/00-09-01).

    Get PDF
    This is a response to the UML 2.0 Request for Proposals on Infrastructure (ad/00-09-01). We propose an architecture for the definition of UML 2.0 which supports the layered and extensible definition of UML as a family of languages, and depends on the use of package extension (composition) and package template mechanisms in the metamodelling language. This submission defines that architecture and populates it with the definition of a core foundation for the definition of structural and behavioural modelling constructs for UML. Chapter 3 (ā€œLanguage Architectureā€) identifies all those parts of the architecture defined in any given version of this document
    • ā€¦
    corecore