390 research outputs found
On the theoretical foundation of meta-modelling in graphically extended BNF and first order logic
Meta-modeling plays an important role in model driven software development methodology. In our previous work, a graphic extension of BNF (GEBNF) was proposed to define the abstract syntax of graphic modeling languages. From a GEBNF syntax definition, a first order predicate logic language can be induced so that meta-modeling can be performed formally by specifying a predicate on the domain of syntactically valid models. In this paper, we investigate the theoretical foundation of this meta-modeling approach. We first formally define the semantics of GEBNF syntax definitions as algebras that contain no junk and satisfy constraints derived from GEBNF syntax rules. The semantics of the induced logic is then formally defined by regarding such algebras as models. We then formally prove that well-formed syntax definitions together with syntax morphisms form a category, where syntax morphisms represent the translations between modeling languages. The models (i.e. algebras) in a modeling language and the homomorphisms between them also form a category. Finally, we prove that the functors from GEBNF syntax definitions to the categories of models and to sentences in the induced first order logic form an institution. Therefore, GEBNF and its induced logics form a valid formal specification language for models
An institution theory of formal meta-modelling in graphically extended BNF
Meta-modelling plays an important role in model driven software development. In this paper, a graphic extension of BNF (GEBNF) is proposed to define the abstract syntax of graphic modelling languages. From a GEBNF syntax definition, a formal predicate logic language can be induced so that meta-modelling can be performed formally by specifying a predicate on the domain of syntactically valid models. In this paper, we investigate the theoretical foundation of this metamodelling approach. We formally define the semantics of GEBNF and its induced predicate logic languages, then
apply Goguen and Burstall’s institution theory to prove that they form a sound and valid formal specification language for meta-modelling
Recommended from our members
Formalizing graphical notations
The thesis describes research into graphical notations for software engineering, with a principal interest in ways of formalizing them. The research seeks to provide a theoretical basis that will help in designing both notations and the software tools that process them.
The work starts from a survey of literature on notation, followed by a review of techniques for formal description and for computational handling of notations. The survey concentrates on collecting views of the benefits and the problems attending notation use in software development; the review covers picture description languages, grammars and tools such as generic editors and visual programming environments. The main problem of notation is found to be a lack of any coherent, rigorous description methods. The current approaches to this problem are analysed as lacking in consensus on syntax specification and also lacking a clear focus on a defined concept of notated expression.
To address these deficiencies, the thesis embarks upon an exploration of serniotic, linguistic and logical theory; this culminates in a proposed formalization of serniosis in notations, using categorial model theory as a mathematical foundation. An argument about the structure of sign systems leads to an analysis of notation into a layered system of tractable theories, spanning the gap between expressive pictorial medium and subject domain. This notion of 'tectonic' theory aims to treat both diagrams and formulae together.
The research gives details of how syntactic structure can be sketched in a mathematical sense, with examples applying to software development diagrams, offering a new solution to the problem of notation specification. Based on these methods, the thesis discusses directions for resolving the harder problems of supporting notation design, processing and computer-aided generic editing. A number of future research areas are thereby opened up. For practical trial of the ideas, the work proceeds to the development and partial implementation of a system to aid the design of notations and editors. Finally the thesis is evaluated as a contribution to theory in an area which has not attracted a standard approach
MATrA: meta-modelling approach to traceability for avionics
PhD ThesisTraceability is the common term for mechanisms to record and navigate relationships between artifacts
produced by development and assessment processes. Effective management of these relationships is
critical to the success of projects involving the development of complex aerospace products.
Practitioners use a range of notations to model aerospace products (often as part of a defined technique
or methodology). Those appropriate to electrical and electronic systems (avionics) include Use Cases
for requirements, Ada for development and Fault Trees for assessment (others such as PERT networks
support product management). Most notations used within the industry have tool support, although a
lack of well-defined approaches to integration leads to inconsistencies and limits traceability between
their respective data sets (internal models).
Conceptually, the artifacts produced using such notations populate four traceability dimensions. Of
these, three record links between project artifacts (describing the same product), while the fourth relates
artifacts across different projects (and hence products), and across product families within the same
project.
The scope of this thesis is to define a meta-framework that characterises traceability dimensions for
aerospace projects, and then to propose a concrete framework capturing the syntax and semantics of
notations used in developing avionics for such projects which enables traceability across the four
dimensions. The concrete framework is achieved by exporting information from the internal models of
tools supporting these notations to an integrated environment consisting of. i) a Workspace comprising
a set of structures or meta-models (models describing models) expressed in a common modelling
language representing selected notations (including appropriate extensions reflecting the application
domain); ii) well-formedness constraints over these structures capturing properties of the notations (and
again, reflecting the domain); and iii) associations between the structures. To maintain consistency and
identify conflicts, elements of the structures are verified against a system model that defines common
building blocks underlying the various notations.
The approach is evaluated by (partial) tool implementation of the structures which are populated using
case study material derived from actual commercial specifications and industry standards
An Algebra of Design Patterns
In a pattern-oriented software design process, design decisions are made by selecting and instanti-
ating appropriate patterns, and composing them together. In our previous work, we enabled these
decisions to be formalised by dening a set of operators on patterns with which instantiations and
compositions can be represented. In this paper, we investigate the algebraic properties of these
operators. We provide and prove a complete set of algebraic laws so that equivalence between
pattern expressions can be proven. Furthermore, we dene an always-terminating normalisation
of pattern expressions to a canonical form, which is unique modulo equivalence in rst-order logic.
By a case study, the pattern-oriented design of an extensible request-handling framework,
we demonstrate two practical applications of the algebraic framework. Firstly, we can prove
the correctness of a nished design with respect to the design decisions made and the formal
specication of the patterns. Secondly, we can even derive the design from these components
Representing Variability in Software Architecture
Software Architecture is a high level description of a software intensive system that enables architects to have a better intellectual control over the complete system. It is also used as a communication vehicle among the various system stakeholders. Variability in software-intensive systems is the ability of a software artefact (e.g., a system, subsystem, or component) to be extended, customised, or configured for deployment in a specific context. Although variability in software architecture is recognised as a challenge in multiple domains, there has been no formal consensus on how variability should be captured or represented.
In this research, we addressed the problem of representing variability in software architecture through a three phase approach. First, we examined existing literature using the Systematic Literature Review (SLR) methodology, which helped us identify the gaps and challenges within the current body of knowledge. Equipped with the findings from the SLR, a set of design principles have been formulated that are used to introduce variability management capabilities to an existing Architecture Description Language (ADL). The chosen ADL was developed within our research group (ALI) and to which we have had complete access. Finally, we evaluated the new version of the ADL produced using two distinct case studies: one from the Information Systems domain, an Asset Management System (AMS); and another from the embedded systems domain, a Wheel Brake System (WBS).
This thesis presents the main findings from the three phases of the research work, including a comprehensive study of the state-of-the-art; the complete specification of an ADL that is focused on managing variability; and the lessons learnt from the evaluation work of two distinct real-life case studies
"A model-driven approach for designing multi-platform user interface dialogues": dialogues specification
Human-computer interaction becomes sophisticated, multimodal and multi device and needs to be well-designed with the aim of facilitating application correction (i.e. to correcting errors/bugs in the application) or extension (i.e. adding new functionalities or modifying existing tasks). This thesis is focused on building a methodology of designing and specifying User Interface (UI) behaviour. The Unified Modelling Language (UML) is used to describe in detail the conceptual model and to define all its objects. The methodology flux diagram is provided with the specification of the consistency and the completeness properties of the transformation model. To support the methodology, we implement a graphic Dialog Editor in which Models are organized in three levels (abstract, concrete and final) according to Cameleon Reference Framework (CFR) and, whose process respects the Model Driven Engineering (MDE) approach. Furthermore, the use of Dialog Editor is illustrated through a simple exam...Les interfaces Homme-Machine deviennent de plus en plus complexes. Leur conception nécessite des nouveaux outils et/ou méthodes. En exploitant l'aproche orienté-modèle, cette thèse repond à ce besoin en proposant une méthodologie de conception des dialogues multi-plateform
- …