78 research outputs found

    Refining Transformation Rules For Converting UML Operations To Z Schema

    Get PDF
    The UML (Unified Modeling Language) has its origin in mainstream software engineering and is often used informally by software designers. One of the limitations of UML is the lack of precision in its semantics, which makes its application to safety critical systems unsuitable. A safety critical system is one in which any loss or misinterpretation of data could lead to injury, loss of human lives and/or property. Safety Critical systems are usually specified by very precisely and frequently required formal verification. With the continuous use of UML in the software industry, there is a need to augment the informality of software models produced to remove ambiguity and inconsistency in models for verification and validation. To overcome this well-known limitation of UML, formal specification techniques (FSTs), which are mathematically tractable, are often used to represent these models. Formal methods are mathematical techniques that allow software developers to produce softwares that address issues of ambiguity and error in complex and safety critical systems. By building a mathematically rigorous model of a complex system, it is possible to verify the system\u27s properties in a more thorough fashion than empirical testing. In this research, the author refines transformation rules for aspects of an informally defined design in UML to one that is verifiable, i.e. a formal specification notation. The specification language that is used is the Z Notation. The rules are applied to UML class diagram operation signatures iteratively, to derive Z schema representation of the operation signatures. Z representation may then be analyzed to detect flaws and determine where there is need to be more precise in defining the operation signatures. This work is an extension of previous research that lack sufficient detail for it to be taken to the next phase, towards the implementation of a tool for semi-automated transformation

    Correctly defined concrete syntax

    Get PDF
    Due to their complexity, the syntax of modern modeling languages is preferably defined in two steps. The abstract syntax identifies all modeling concepts whereas the concrete syntax should clarify how these concepts are rendered by graphical and/or textual elements. While the abstract syntax is often defined in form of a metamodel, there does not exist such standard format yet for concrete syntax definitions. The diversity of definition formats-ranging from EBNF grammars to informal text-is becoming a major obstacle for advances in modeling language engineering, including the automatic generation of editors. In this paper, we propose a uniform format for concrete syntax definitions. Our approach captures both textual and graphical model representations and even allows to assign more than one rendering to the same modeling concept. Consequently, following our approach, a model can have multiple, fully equivalent representations, but-in order to avoid ambiguities when reading a model representation-two different models should always have distinguishable representations. We call a syntax definition correct, if all well-formed models are represented in a non-ambiguous way. As the main contribution of this paper, we present a rigorous analysis technique to check the correctness of concrete syntax definitions

    Framework for Interoperable and Distributed Extraction-Transformation-Loading (ETL) Based on Service Oriented Architecture

    Get PDF
    Extraction. Transformation and Loading (ETL) are the major functionalities in data warehouse (DW) solutions. Lack of component distribution and interoperability is a gap that leads to many problems in the ETL domain, which is due to tightly-coupled components in the current ETL framework. This research discusses how to distribute the Extraction, Transformation and Loading components so as to achieve distribution and interoperability of these ETL components. In addition, it shows how the ETL framework can be extended. To achieve that, Service Oriented Architecture (SOA) is adopted to address the mentioned missing features of distribution and interoperability by restructuring the current ETL framework. This research contributes towards the field of ETL by adding the distribution and inter- operability concepts to the ETL framework. This Ieads to contributions towards the area of data warehousing and business intelligence, because ETL is a core concept in this area. The Design Science Approach (DSA) and Scrum methodologies were adopted for achieving the research goals. The integration of DSA and Scrum provides the suitable methods for achieving the research objectives. The new ETL framework is realized by developing and testing a prototype that is based on the new ETL framework. This prototype is successfully evaluated using three case studies that are conducted using the data and tools of three different organizations. These organizations use data warehouse solutions for the purpose of generating statistical reports that help their top management to take decisions. Results of the case studies show that distribution and interoperability can be achieved by using the new ETL framework

    Correctly Defined Concrete Syntax for Visual Modeling Languages

    Get PDF
    The syntax of modeling languages is usually defined in two steps. The abstract syntax identifies modeling concepts whereas the concrete syntax clarifies how these modeling concepts are rendered by visual and/or textual elements. While the abstract syntax is often defined in form of a metamodel there is no such standard format yet for concrete syntax definitions; at least as long as the concrete syntax is not purely text-based and classical grammar-based approaches are not applicable. In a previous paper, we proposed to extend the metamodeling approach also to concrete syntax definitions. In this paper, we present an analysis technique for our concrete syntax definitions that detects inconsistencies between the abstract and the concrete syntax of a modeling language. We have implemented our approach on top of the automatic decision procedure SIMPLIFY

    ProMeTA: A taxonomy for program metamodels in program reverse engineering

    Get PDF
    ABSTRACT: To support program comprehension, maintenance, and evolution, metamodels are frequently used during program reverse engineering activities to describe and analyze constituents of a program and their relations. Reverse engineering tools often define their own metamodels according to the intended purposes and features. Although each metamodel has its own advantages, its limitations may be addressed by other metamodels. Existing works have evaluated and compared metamodels and tools, but none have considered all the possible characteristics and limitations to provide a comprehensive guideline for classifying, comparing, reusing, and extending program metamodels. To aid practitioners and researchers in classifying, comparing, reusing, and extending program metamodels and their corresponding reverse engineering tools according to the intended goals, we establish a conceptual framework with definitions of program metamodels and related concepts. We confirmed that any reverse engineering activity can be clearly described as a pattern based on the framework from the viewpoint of program metamodels. Then the framework is used to provide a comprehensive taxonomy, named Program Metamodel TAxonomy (ProMeTA), which incorporates newly identified characteristics into those stated in previous works, which were identified via a systematic literature review (SLR) on program metamodels, while keeping the orthogonality of the entire taxonomy. Additionally, we validate the taxonomy in terms of its orthogonality and usefulness through the classification of popular metamodels

    Model Based Testing - From requirements to tests

    Get PDF
    A automação de testes de software reduz significativamente o esforço, o tempo e o custo total do processo de testes ao longo do ciclo de desenvolvimento do produto. Model-Based Testing (MBT) é uma técnica de teste de software em que casos de teste são gerados a partir de um modelo, um formato intermediário de requisitos, que fornece vários detalhes técnicos de um determinado sistema de software. Desta forma, é possível obter casos de teste a partir de modelos de requisitos para conseguir uma automação e sistematização do processo de teste, de acordo com os critérios de cobertura definidos.RSL, termo para "Requirement Specification Language", é uma linguagem formal para apoiar e melhorar a produção de especificação de requisitos de sistema (SRS). Desenvolvido no Instituto Superior Técnico da Universidade de Lisboa, esta abordagem organiza diferentes aspectos da Engenharia de Requisitos (RE) em vários níveis através de um conjunto de expressões lógicas. Estas expressões são definidas através de padrões linguísticos, regras gramaticais que mapeiam a produção de frases textuais compreensíveis e coerentes. Desta forma, reduz-se a lacuna entre a representação de requisitos e da linguagem natural, a principal fonte de problemas de qualidade dos requisitos (incorreção, inconsistência, incompletude e ambiguidade).Este trabalho de dissertação apresenta o TSL - "Testing Specification Language", uma abordagem MBT para especificação formal e legível de casos de teste que se baseia na nomenclatura e gramática definida pelo RSL. Pela aplicação de técnicas de design de testes por caixa preta, o TSL permite a construção de três padrões de teste de requisitos, na perspectiva de testes de aceitação, que estão expressos na abordagem RSL. Nomeadamente, Análise de Domínio (criação de classes de equivalência e análise de valores limite para a definição de valores de dados estruturais); Testes de casos de uso (derivação de testes a partir dos vários fluxos de evento explícitos pelos casos de uso); e testes de máquinas de estado (extração de sequência de estados a partir de autómatos finitos).A metodologia desenvolvida foi aplicada num estudo de caso, um sistema fictício e simples de informação empresarial , denominado de "Billing System". Este exemplo permite ilustrar como o TSL suporta o ciclo de desenvolvimento de testes como um processo automizado e a verificação da consistência interna dos modelos de especificação RSL, levando a uma maior qualidade de requisitos.Automating software testing can significantly reduce the effort, time and cost of software testing throughout the entire development life cycle. Model-Based Testing (MBT) is a software testing technique upon which test cases are generated from a model, an intermediate format requirements document, which provides multiple technical concerns of a given software system. This way it is possible to obtain test cases from requirements models to achieve an automation and systematization of the test process, according to certain coverage criteria. RSL stands for "Requirements Specification Language", which is a formal language to support and improve the production of system requirements specification (SRS). Developed at Instituto Superior Técnico, Universidade de Lisboa, this approach arranges the different aspects of Requirement Engineering (RE) into several views containing a set of logical constructs. These constructs are defined as linguistic patterns, grammatical rules that guide the production of understandable and coherent textual sentences. Closing the gap of requirements representation and natural language, which is the root of many requirements quality problems (incorrection, inconsistency, incompleteness, and ambiguousness). This research presents the TSL, acronym for "Testing Specification Language", a model-based testing approach for formal and human-readable specification of test cases that is based on the nomenclature and grammar defined by RSL. By applying Black-Box testing design techniques, TSL allows the construction of three different requirement test patterns, from the perspective of acceptance tests, that are expressed in the RSL approach. Namely, Domain Analysis (equivalence partitioning and boundary value analysis for the definition of structural data class values); Use Case Testing (derivation of tests from the various process flows expressed by the use cases); and State Machine Testing (covering the sequence of states from event-based state transitions). The methodology developed was applied in a case study, a simple fictitious business information system, named "Billing system". This illustrates how TSL supports the testing development cycle as an end-to-end process and the verification of the internal consistency of RSL specification models, leading to an increasing quality of requirements

    Supporting Information Systems Analysis Through Conceptual Model Query – The Diagramed Model Query Language (DMQL)

    Get PDF
    Analyzing conceptual models such as process models, data models, or organizational charts is useful for several purposes in information systems engineering (e.g., for business process improvement, compliance management, model driven software development, and software alignment). To analyze conceptual models structurally and semantically, so-called model query languages have been put forth. Model query languages take a model pattern and conceptual models as input and return all subsections of the models that match this pattern. Existing model query languages typically focus on a single modeling language and/or application area (such as analysis of execution semantics of process models), are restricted in their expressive power of representing model structures, and/or abstain from graphical pattern specification. Because these restrictions may hamper query languages from propagating into practice, we close this gap by proposing a modeling language-spanning structural model query language based on flexible graph search that, hence, provides high structural expressive power. To address ease-of-use, it allows one to specify model queries using a diagram. In this paper, we present the syntax and the semantics of the diagramed model query language (DMQL), a corresponding search algorithm, an implementation as a modeling tool prototype, and a performance evaluation
    corecore