66 research outputs found

    Model interoperability via model driven development

    Get PDF
    It is widely recognised that software development is a complex process. Among the factors that contribute to its inherent complexity is the gap between the design and the formal analysis domains. Software design is often considered a human oriented task while the analysis phase draws on formal representation and mathematical foundations. An example of this dichotomy is the use of UML for the software design phase and Petri Nets for the analysis; a separation of concerns that leads to the creation of heterogeneous models. Although UML is widely accepted as a language that can be used to model the structural and behavioural aspects of a system, its lack of mathematical foundations is seen as a serious impediment to rigorous analysis. Petri Nets on the other hand have a strong mathematical basis that is well suited for formal analysis; they lack however the appeal and the easeof-use of UML. A pressing concern for software developers is how to bridge the gap between these domains and allow for model interoperability and the integration of different toolsets across them, and thus reduce the complexity of the software development process. The aim of this paper is to present a Model Driven Development (MDD) model transformation which supports a seamless transition between UML and Petri Nets. This is achieved by model interoperability between UML Sequenc

    The Use of Metamodel-based Approach for Designing Healthcare Applications

    Get PDF
    Recently, the use of Model-Driven Engineering (MDE) via metamodeling approach is gaining more attention for software applications development. The community from the healthcare domain also attempts to employ the metamodel approach for producing quality healthcare applications. Healthcare applications have become an imperative in every attempt to improve healthcare management. Numerous studies reported that the healthcare domain is seen as a complex and unique domain, which involves dynamic characteristics. In addition, it is widely recognized that the increase of information exchange in the healthcare domain is caused by the diversity of healthcare data. This has led to the increase use of information technologies in the healthcare industry so as to enhance the healthcare delivery process via healthcare applications. However, the complexity of healthcare information leads to ineffective models and design of healthcare applications. Modeling the healthcare processes and developing healthcare applications are challenging tasks.  Hence, the advances of MDE have influenced the use of the metamodeling technique in the development of healthcare applications. Various metamodels are developed as a solution to provide a clear healthcare process model and a correct healthcare application. The aim of this paper is to analyse the use of the metamodel-based approach in designing healthcare applications. We believe that the metamodel-based approach would improve the development of healthcare applications.&nbsp

    A Model Driven Approach to the Analysis of Timeliness Properties

    Get PDF
    Abstract. The need for a design language that is rigorous but accessible and intuitive is often at odds with the formal and mathematical nature of languages used for analysis. UML and Petri Nets are a good example of this dichotomy. UML is a widely accepted modelling language capable of modelling the structural and behavioural aspects of a system. However UML lacks the mathematical foundation that is required for rigorous analysis. Petri Nets on the other hand have a strong mathematical base that is well suited for analysis of a system but lacks the appeal and ease-of-use of UML. Design in UML languages such as Sequence Diagrams and analysis in Petri Nets require on one hand some expertise in potentially two incompatible systems and their tools, and on the other a seamless transition from one system to the other. One way of addressing this impediment is to focus the software development mainly on the design language system and to facilitate the transition to the formal analysis by means of a combination of automation and tool support. The aim of this paper is to present a transformation system, which takes UML Sequence Diagrams augmented with time constraints and generates semantically equivalent Petri Nets that preserve the timing requirements. A case study on a small network is used in order to illustrate the proposed approach and in particular the design, the transformation and the analysis processes.

    The caCORE Software Development Kit: Streamlining construction of interoperable biomedical information services

    Get PDF
    BACKGROUND: Robust, programmatically accessible biomedical information services that syntactically and semantically interoperate with other resources are challenging to construct. Such systems require the adoption of common information models, data representations and terminology standards as well as documented application programming interfaces (APIs). The National Cancer Institute (NCI) developed the cancer common ontologic representation environment (caCORE) to provide the infrastructure necessary to achieve interoperability across the systems it develops or sponsors. The caCORE Software Development Kit (SDK) was designed to provide developers both within and outside the NCI with the tools needed to construct such interoperable software systems. RESULTS: The caCORE SDK requires a Unified Modeling Language (UML) tool to begin the development workflow with the construction of a domain information model in the form of a UML Class Diagram. Models are annotated with concepts and definitions from a description logic terminology source using the Semantic Connector component. The annotated model is registered in the Cancer Data Standards Repository (caDSR) using the UML Loader component. System software is automatically generated using the Codegen component, which produces middleware that runs on an application server. The caCORE SDK was initially tested and validated using a seven-class UML model, and has been used to generate the caCORE production system, which includes models with dozens of classes. The deployed system supports access through object-oriented APIs with consistent syntax for retrieval of any type of data object across all classes in the original UML model. The caCORE SDK is currently being used by several development teams, including by participants in the cancer biomedical informatics grid (caBIG) program, to create compatible data services. caBIG compatibility standards are based upon caCORE resources, and thus the caCORE SDK has emerged as a key enabling technology for caBIG. CONCLUSION: The caCORE SDK substantially lowers the barrier to implementing systems that are syntactically and semantically interoperable by providing workflow and automation tools that standardize and expedite modeling, development, and deployment. It has gained acceptance among developers in the caBIG program, and is expected to provide a common mechanism for creating data service nodes on the data grid that is under development

    Developing a domain-specific plug-in for a modelling platform: The good, the bad, the ugly

    Full text link

    A model driven approach to analysis and synthesis of sequence diagrams

    Get PDF
    Software design is a vital phase in a software development life cycle as it creates a blueprint for the implementation of the software. It is crucial that software designs are error-free since any unresolved design-errors could lead to costly implementation errors. To minimize these errors, the software community adopted the concept of modelling from various other engineering disciplines. Modelling provides a platform to create and share abstract or conceptual representations of the software system – leading to various modelling languages, among them Unified Modelling Language (UML) and Petri Nets. While Petri Nets strong mathematical capability allows various formal analyses to be performed on the models, UMLs user-friendly nature presented a more appealing platform for system designers. Using Multi Paradigm Modelling, this thesis presents an approach where system designers may have the best of both worlds; SD2PN, a model transformation that maps UML Sequence Diagrams into Petri Nets allows system designers to perform modelling in UML while still using Petri Nets to perform the analysis. Multi Paradigm Modelling also provided a platform for a well-established theory in Petri Nets – synthesis to be adopted into Sequence Diagram as a method of putting-together different Sequence Diagrams based on a set of techniques and algorithms

    Handling High-Level Model Changes Using Search Based Software Engineering

    Full text link
    Model-Driven Engineering (MDE) considers models as first-class artifacts during the software lifecycle. The number of available tools, techniques, and approaches for MDE is increasing as its use gains traction in driving quality, and controlling cost in evolution of large software systems. Software models, defined as code abstractions, are iteratively refined, restructured, and evolved. This is due to many reasons such as fixing defects in design, reflecting changes in requirements, and modifying a design to enhance existing features. In this work, we focus on four main problems related to the evolution of software models: 1) the detection of applied model changes, 2) merging parallel evolved models, 3) detection of design defects in merged model, and 4) the recommendation of new changes to fix defects in software models. Regarding the first contribution, a-posteriori multi-objective change detection approach has been proposed for evolved models. The changes are expressed in terms of atomic and composite refactoring operations. The majority of existing approaches detects atomic changes but do not adequately address composite changes which mask atomic operations in intermediate models. For the second contribution, several approaches exist to construct a merged model by incorporating all non-conflicting operations of evolved models. Conflicts arise when the application of one operation disables the applicability of another one. The essence of the problem is to identify and prioritize conflicting operations based on importance and context – a gap in existing approaches. This work proposes a multi-objective formulation of model merging that aims to maximize the number of successfully applied merged operations. For the third and fourth contributions, the majority of existing works focuses on refactoring at source code level, and does not exploit the benefits of software design optimization at model level. However, refactoring at model level is inherently more challenging due to difficulty in assessing the potential impact on structural and behavioral features of the software system. This requires analysis of class and activity diagrams to appraise the overall system quality, feasibility, and inter-diagram consistency. This work focuses on designing, implementing, and evaluating a multi-objective refactoring framework for detection and fixing of design defects in software models.Ph.D.Information Systems Engineering, College of Engineering and Computer ScienceUniversity of Michigan-Dearbornhttp://deepblue.lib.umich.edu/bitstream/2027.42/136077/1/Usman Mansoor Final.pdfDescription of Usman Mansoor Final.pdf : Dissertatio

    Model Driven Software Engineering for Web Applications

    Get PDF
    Model driven software engineering (MDSE) is becoming a widely accepted approach for developing complex applications and it is on its way to be one of the most promising paradigms in software engineering. MDSE advocates the use of models as the key artifacts in all phases of the development process, from analysis to design, implementation and testing. The most promising approach to model driven engineering is the Model Driven Architecture (MDA) defined by the Object Management Group (OMG). Applications are modeled at a platform independent level and are transformed to (possibly several) platform specific implementations. Model driven Web engineering (MDWE) is the application of model driven engineering to the domain of Web application development where it might be particularly helpful because of the continuous evolution of Web technologies and platforms. However, most current approaches for MDWE provide only a partial application of the MDA pattern. Further, metamodels and transformations are not always made explicit and metamodels are often too general or do not contain sufficient information for the automatic code generation. Thus, the main goal of this work is the complete application of the MDA pattern to the Web application domain from analysis to the generated implementation, with transformations playing an important role at every stage of the development process. Explicit metamodels are defined for the platform independent analysis and design and for the platform specific implementation of dynamic Web applications. Explicit transformations allow the automatic generation of executable code for a broad range of technologies. For pursuing this goal, the following approach was chosen. A metamodel is defined for the platform independent analysis and for the design of the content, navigation, process and presentation concerns of Web applications as a conservative extension of the UML (Unified Modeling Language) metamodel, together with a cor-responding UML profile as notation. OCL constraints ensure the well-formedness of models and are checked by transformations. Transformations implement the systematic evolution of analysis and design models. A generic platform for Web applications built on an open-source Web platform and a generic runtime environment is proposed that represents a family of platforms supporting the combination of a broad range of technologies. The transformation to the platform specific models for this generic platform is decomposed along the concerns of Web applications to cope in a fine-grained way with technology changes. For each of the concerns a metamodel for the corresponding technology is defined together with the corresponding transformations from the platform independent design models. The resulting models are serialized to code by means of serialization transformations

    A method for the unified definition and treatment of conceptual schema quality issues

    Get PDF
    The modern world is software-intensive. National infrastructures, smartphones and computers, health-care systems, e-commerce... everything is run by software. Therefore, developing high-quality software solutions is essential for our society. Conceptual modeling is an early activity of the software development process whose aim is to define the conceptual schema of a domain. As the role played by conceptual schemas in software development becomes more relevant---because of, for example, the emergence of model-driven approaches---, their quality becomes crucial too. The quality of a conceptual schema can be analyzed in terms of ``quality properties''. All conceptual schemas should have the fundamental properties of syntactic and semantic correctness, relevance and completeness, as well as any other quality property that has been proposed in the literature and that may be required or recommended in particular projects. It is a fact that only a few quality properties have been integrated into the development environments used by professionals and students, and thus enforced in the conceptual schemas developed by them. A possible explanation of this unfortunate fact may be that the proposals have been defined in the literature in disparate ways, which makes it difficult to integrate them into those environments. The goal of this thesis is to ease the integration of those quality properties that can be evaluated using the conceptual schema itself. We propose a method that permits the unified definition and treatment of conceptual schema quality issues, which we understand as ``important quality topics or problems for debate or discussion''. Our work includes, on the one hand, a characterization and formalization of conceptual schema quality issues, and, on the other hand, the creation of a catalog of quality issues obtained from the literature and defined using the aforementioned formalization. We also provide a prototype implementation of our method, which integrates the catalog of quality issues on top of a real modeling tool. This implementation provides assistance to conceptual modelers during the development of a conceptual schema in a non-disruptive manner. Moreover, our thesis discusses incremental methods for the efficient evaluation of OCL expressions in the context of quality issues and integrates one of them into our prototype tool.El món actual funciona a través del programari. Les infraestructures nacionals, els ordinador i telèfons inte¿ligents, els sistemes de salut, de comerç electrònic... tot depèn del programari. És, doncs, per aquest motiu que cal dissenyar solucions de programari d'alta qualitat. La modelització conceptual és una de les etapes inicials en el procés de desenvolupament de programari. El seu objectiu és definir l'esquema conceptual d'un domini. A mesura que el rol que juguen els esquemes conceptuals esdevé més i més rellevants dins d'aquest context (degut a, per exemple, l'aparició de metodologies de disseny de programari dirigides per models), la seva qualitat també esdevé un requisit elemental. La qualitat d'un esquema conceptual es pot analitzar a través de diferents "propietats de qualitat". Així, tenim que tots els esquemes conceptuals haurien de satisfer les propietats fonamentals de correctesa sintàctica i semàntica, rellevància i completesa, així com altres propietats que s'han proposat a la literatura i que el projecte on s'estigui desenvolupant l'esquema requereixi o recomani. Malauradament, ens trobem que només algunes propietats de qualitat s'han integrat als entorns de desenvolupament que utilitzen els professionals i els estudiants i, per tant, les propietats que podem assegurar se satisfaran són poques. Una possible explicació d'aquest fet és que les propostes existents es defineixen de maneres força diferents, cosa que en dificulta la integració a aquests entorns. L'objectiu de la tesi és pa¿liar aquesta situació i simplificar la integració d'aquelles propietats de qualitat que avaluen un esquema conceptual utilitzant la informació disponible al propi esquema. El mètode que proposem permet la definició i el tractament unificat de "quality issues" per a la modelització conceptual, els quals entenem com "tot allò que pot ser rellevant considerar per assegurar la qualitat d'un esquema". La feina inclou, per una banda, la caraterització i formalizació dels "quality issues" i, per l'altra, la creació d'un catàleg d'issues disponibles a la literatura i expressats mitjançant la nostra formalizació. A més a més, la tesi també inclou la implementació d'un prototipus que demostra com funciona el mètode. El prototipus integra el catàleg de "quality issues" dins una eina de modelització conceptual real i permet assistir als modeladors durant el desenvolupament d'esquemes. Finalment, la nostra feina també ofereix una breu discussió sobre la importància que tenen els mètodes incrementals d'avaluació d'expressions OCL, com es poden adaptar a la nostra definició de "quality issues" i descriu la seva integració a l'eina prototipus que hem desenvolupa
    corecore