7 research outputs found

    Leveraging the power of formal methods in the realm of enterprise modeling:On the example of extending the (meta) model verification possibilities of ADOxx with Alloy

    Get PDF
    peer reviewedVerification in the realm of enterprise modeling (EM) ensures both the consistency of EM language specifications (i.e., meta models and additional well-formedness constraints), as well as of enterprise models. The consistency of enterprise models, which integrate different perspectives on an enterprise, ensures that they contain the necessary, in line with domain-specific rules, information for carrying out a variety of model-driven enterprise analyses. Meta modeling platforms are instrumental in carrying out such verification, especially when multiple languages are applied in tandem, as is inherent to enterprise modeling. This paper reports on our practical experiences of using formal methods for verification in the context of EM. Motivated by the required verification capabilities, we show for one example platform, ADOxx, how it can be chained together with Alloy, an example of lightweight formal method, to capitalize on complementary platform strengths. Namely, ADOxx for language specification and use, and Alloy for verification capabilities. We show the verification, both, on the meta model level, in terms of checking the consistency of language specifications, and on the model level, in terms of checking models against well-formedness constraints. We illustrate the chaining of ADOxx and Alloy on the basis of consistency checks of two languages applied in tandem, namely the value modeling language e3value and the IT infrastructure modeling language, ITML. We also carry out experiments with three further languages to reflect upon the performance of Alloy, and its capability to uncover inconsistencies

    Model based development of speech recognition grammar for VoiceXML

    Get PDF
    Speech interaction is a natural form of interaction between human and devices. This interaction technology is currently in high demand but often has limitations. A limited form of interaction is thus in use to achieve best possible efficiency. The limited form of speech interaction uses direct commands instead of complete natural language. The VoiceXML is a W3C (World wide consortium) recommended web based speech interaction application development language that performs the dialogue management. It has been used as a base language in this thesis for the case study. The VoiceXML uses a grammatical base to recognise the user utterance for the commands. This thesis applies the model based development approach to create a hierarchical data model for the speech grammar. Further, the grammar has been separated from the interaction code. MetaEdit+ tool has been used for developing the grammar model and for generating the grammar file. The approach is further compared with other grammar models. In conclusion, the applied approach is found suitable for the grammar modelling in VoiceXML application development. Descriptors: Data Model, Grammar Model, MetaEdit+ , VoiceXML, Grammar generation, Hierarchical Model, Speech interactio

    Applied novel software development methodology for process engineering application

    Get PDF
    Chemical processes are nonlinear continuous/discrete dynamic systems that are subject to considerable uncertainties and variations during their design and operation. These systems are designed to operate at an economically optimal steady-state. However, minor changes in process parameters’ values might cause deviations and elicit dynamic responses from processes. Controllability—defined as the ability of holding a process within a specified operating regime and the controllability assessment of each given process system—should be taken into account during the system design phase. This emphasises the necessity of effective software tools that could assist process engineers in their controllability evaluation. Although there are few multipurpose tools available for this task, developing software tools for controllability analysis is a tedious and sophisticated undertaking. It involves elaboration from multiple disciplines, and the requirements of controllability assessments are so vast that it is almost impossible to create general software that covers all controllability measures and cases. This thesis aims to systematically tackle the challenge of developing practical and high-quality software tools for controllability problems while reducing the required time and effort, regardless of the size and scale of the controllability problem. Domain-specific language (DSL) methodology is proposed for this purpose. DSLs are programming languages designed to address the programming problems of a specific domain. Therefore, well-designed DSLs are simple, easy to use and capable of solving any problem defined in their domains. Based on DSL methodology, this study proposes a four-element framework to partition the software system into decoupled elements, and discusses the design and implementation steps of each element as well as communication between elements. The superiority of the developed methodology based on DSL is compared with traditional programming techniques for controllability assessment of various case studies. Essentially, the major advantage of the proposed methodology is the performance of the software product. Performance measures used in this study are total time to develop (TD) the software tool and its modifiability. Total time and effort to implement and use the result products presents up to five times improvement. Moreover, the result product’s modifiability is assessed by applying modifications, which also demonstrates up to five times improvement. All measures are tested on continuous stirred-tank reaction (CSTR) and forced-circulation evaporator (FCE) case studies. In conclusion, this study significantly contributes to two fields. The first is DSL, since this thesis studies different types of DSLs and evaluates their applications in the controllability analysis. The second is the controllability evaluation, since this study examines a new methodology for software development in controllability assessment

    Engineering scalable modelling Languages

    Full text link
    Tesis doctoral inédita leída en la Universidad Autónoma de Madrid, Escuela Politécnica Superior, Departamento de Ingeniería Informática. Fecha de lectura: 08-11-2019Esta tesis tiene embargado el acceso al texto completo hasta el 08-05-2021Model-Driven Engineering (MDE) aims at reducing the cost of system development by raising the level of abstraction at which developers work. MDE-based solutions frequently involve the creation of Domain-Specific Modelling Languages (DSMLs). WhilethedefinitionofDSMLsandtheir(sometimesgraphical)supportingenvironments are recurring activities in MDE, they are mostly developed ad-hoc from scratch. The construction of these environments requires high expertise by developers, which currently need to spend large efforts for their construction. This thesis focusses on the development of scalable modelling environments for DSMLs based on patterns. For this purpose, we propose a catalogue of modularity patterns that can be used to extend a modelling language with services related to modularization and scalability. More specifically, these patterns allows defining model fragmentation strategies, scoping and visibility rules, model indexing services, and scoped constraints. Once the patterns have been applied to the meta-model of a modelling language, we synthesize a customized modelling environment enriched with the defined services, which become applicable to both existing monolithic legacy models and new models. A second contribution of this thesis is a set of concepts and technologies to facilitate the creation of graphical editors. For this purpose, we define heuristics which identify structures in the DSML abstract syntax, and automatically assign their diagram representation. Using this approach, developers can create a graphical representation by default from a meta-model, which later can be customised. These contributions have been implemented in two Eclipse plug-ins called EMFSplitter and EMF-Stencil. On one hand, EMF-Splitter implements the catalogue of modularity patterns and, on the other hand, EMF-Stencil supports the heuristics and the generation of a graphical modelling environment. Both tools were evaluated in different case studies to prove their versatility, efficiency, and capabilitieEl Desarrollo de Software Dirigido por Modelos (MDE, por sus siglas en inglés) tiene como objetivo reducir los costes en el desarrollo de aplicaciones, elevando el nivel de abstracciónconelqueactualmentetrabajanlosdesarrolladores. Lassolucionesbasadas en MDE frecuentemente involucran la creación de Lenguajes de Modelado de Dominio Específico (DSML, por sus siglas en inglés). Aunque la definición de los DSMLs y sus entornos gráficos de modelado son actividades recurrentes en MDE, actualmente en la mayoría de los casos se desarrollan ad-hoc desde cero. La construcción de estos entornos requiere una alta experiencia por parte de los desarrolladores, que deben realizar un gran esfuerzo para construirlos. Esta tesis se centra en el desarrollo de entornos de modelado escalables para DSML basados en patrones. Para ello, se propone un catálogo de patrones de modularidad que se pueden utilizar para extender un lenguaje de modelado con servicios relacionados con la modularización y la escalabilidad. Específicamente, los patrones permiten definir estrategias de fragmentación de modelos, reglas de alcance y visibilidad, servicios de indexación de modelos y restricciones de alcance. Una vez que los patrones se han aplicado al meta-modelo de un lenguaje de modelado, se puede generar automáticamente un entorno de modelado personalizado enriquecido con los servicios definidos, que se vuelven aplicables tanto a los modelos monolíticos existentes, como a los nuevos modelos. Una segunda contribución de esta tesis es la propuesta de conceptos y tecnologías para facilitar la creación de editores gráficos. Para ello, definimos heurísticas que identifican estructuras en la sintaxis abstracta de los DSMLs y asignan automáticamente su representación en el diagrama. Usando este enfoque, los desarrolladores pueden crear una representación gráfica por defecto a partir de un meta-modelo. Estas contribuciones se implementaron en dos plug-ins de Eclipse llamados EMFSplitter y EMF-Stencil. Por un lado, EMF-Splitter implementa el catálogo de patrones y, por otro lado, EMF-Stencil implementa las heurísticas y la generación de un entorno de modelado gráfico. Ambas herramientas se han evaluado con diferentes casos de estudio para demostrar su versatilidad, eficiencia y capacidade

    A Scalable Design Framework for Variability Management in Large-Scale Software Product Lines

    Get PDF
    Variability management is one of the major challenges in software product line adoption, since it needs to be efficiently managed at various levels of the software product line development process (e.g., requirement analysis, design, implementation, etc.). One of the main challenges within variability management is the handling and effective visualization of large-scale (industry-size) models, which in many projects, can reach the order of thousands, along with the dependency relationships that exist among them. These have raised many concerns regarding the scalability of current variability management tools and techniques and their lack of industrial adoption. To address the scalability issues, this work employed a combination of quantitative and qualitative research methods to identify the reasons behind the limited scalability of existing variability management tools and techniques. In addition to producing a comprehensive catalogue of existing tools, the outcome form this stage helped understand the major limitations of existing tools. Based on the findings, a novel approach was created for managing variability that employed two main principles for supporting scalability. First, the separation-of-concerns principle was employed by creating multiple views of variability models to alleviate information overload. Second, hyperbolic trees were used to visualise models (compared to Euclidian space trees traditionally used). The result was an approach that can represent models encompassing hundreds of variability points and complex relationships. These concepts were demonstrated by implementing them in an existing variability management tool and using it to model a real-life product line with over a thousand variability points. Finally, in order to assess the work, an evaluation framework was designed based on various established usability assessment best practices and standards. The framework was then used with several case studies to benchmark the performance of this work against other existing tools
    corecore