22 research outputs found

    Industrialising Software Development in Systems Integration

    No full text
    Compared to other disciplines, software engineering as of today is still dependent on craftsmanship of highly-skilled workers. However, with constantly increasing complexity and efforts, existing software engineering approaches appear more and more inefficient. A paradigm shift towards industrial production methods seems inevitable. Recent advances in academia and practice have lead to the availability of industrial key principles in software development as well. Specialization is represented in software product lines, standardization and systematic reuse are available with component-based development, and automation has become accessible through model-driven engineering. While each of the above is well researched in theory, only few cases of successful implementation in the industry are known. This becomes even more evident in specialized areas of software engineering such as systems integration. Today’s IT systems need to quickly adapt to new business requirements due to mergers and acquisitions and cooperations between enterprises. This certainly leads to integration efforts, i.e. joining different subsystems into a cohesive whole in order to provide new functionality. In such an environment. the application of industrial methods for software development seems even more important. Unfortunately, software development in this field is a highly complex and heterogeneous undertaking, as IT environments differ from customer to customer. In such settings, existing industrialization concepts would never break even due to one-time projects and thus insufficient economies of scale and scope. This present thesis, therefore, describes a novel approach for a more efficient implementation of prior key principles while considering the characteristics of software development for systems integration. After identifying the characteristics of the field and their affects on currently-known industrialization concepts, an organizational model for industrialized systems integration has thus been developed. It takes software product lines and adapts them in a way feasible for a systems integrator active in several business domains. The result is a three-tiered model consolidating recurring activities and reducing the efforts for individual product lines. For the implementation of component-based development, the present thesis assesses current component approaches and applies an integration metamodel to the most suitable one. This ensures a common understanding of systems integration across different product lines and thus alleviates component reuse, even across product line boundaries. The approach is furthermore aligned with the organizational model to depict in which way component-based development may be applied in industrialized systems integration. Automating software development in systems integration with model-driven engineering was found to be insufficient in its current state. The reason herefore lies in insufficient tool chains and a lack of modelling standards. As an alternative, an XML-based configuration of products within a software product line has been developed. It models a product line and its products with the help of a domain-specific language and utilizes stylesheet transformations to generate compliable artefacts. The approach has been tested for its feasibility within an exemplarily implementation following a real-world scenario. As not all aspects of industrialized systems integration could be simulated in a laboratory environment, the concept was furthermore validated during several expert interviews with industry representatives. Here, it was also possible to assess cultural and economic aspects. The thesis concludes with a detailed summary of the contributions to the field and suggests further areas of research in the context of industrialized systems integration

    Desarrollo integral de aplicaciones domóticas: una perspectiva metodológica

    Get PDF
    [SPA] Los rápidos avances en electrónica, informática y tecnologías de la comunicación (Solé, 2003.) (Que conduce a la miniaturización y mejora del rendimiento de los ordenadores, sensores y redes) han dado lugar al desarrollo de nuevas tecnologías en el campo de la domótica (Espinoza, 2011). Las aplicaciones domóticas integran funciones de confort, ahorro energético, seguridad y comunicaciones. El objetivo principal de estos sistemas es dotar a las viviendas de un cierto grado de inteligencia que permita mejorar la calidad de vida de sus habitantes. Tareas tales como el encendido y regulación de luces de forma automática, control de la temperatura, corte de agua y gas cuando se detectan fugas o el control de los dispositivos del hogar de forma remota desde el móvil u ordenador con conexión a internet son algunas de las aplicaciones típicas del dominio domótico. Uno de los principales problemas en el desarrollo de sistemas domóticos es el hecho de que no hay un estándar de facto para implementar estas aplicaciones. Existen varios estándares y protocolos adoptados por las empresas que lideran el mercado. Por ejemplo KNX (ISO/IEC14543-3-X), Lonworks (ISO/IEC 14908) y X10. Como se indica en (Aenor, 2009), es improbable que se establezca una única tecnología dominante en el campo de la domótica a corto plaza. Además, cada uno de estos estándares proporciona su propio software con el que crear las aplicaciones domóticas y programar los dispositivos. Por lo tanto se debe seleccionar una tecnología en particular (plataforma) en la etapa de diseño inicial, puesto que las herramientas y dispositivos a usar dependen de esta elección. Estos hechos hacen que el desarrollo de aplicaciones domóticas sea totalmente dependiente de la plataforma, siendo muy complicado incrementar el nivel de abstracción y trabajar con conceptos del dominio domótico en lugar de trabajar con elementos de la tecnología. Por ello, y continuando con la línea de investigación iniciada del Dr. D. Manuel Jiménez en el campo de la domótica (Jiménez, 2009), donde se definió un marco general y los elementos iníciales de un DSL para domótica, se propone aplicar nuevas técnicas de la Ingeniería del Software que permitan la gestión integral del desarrollo del software en todas sus etapas. En concreto para este trabajo de Tesis se propone una metodología que sigue un enfoque de desarrollo dirigido por modelos (MDE) (Bézivin, 2005) (Favre, 2004) junto con un framework de soporte que proporciona los metamodelos y herramientas necesarias en cada nivel. A continuación, en el capítulo 2 se describen los objetivos estimados para el trabajo de Tesis. En el capítulo 3 se presenta el estado del arte, sobre el que se asienta el desarrollo de la nueva metodología propuesta, que se describe en el capítulo 4, haciendo especial hincapié en la gestión de requisitos y el soporte a la trazabilidad. A continuación, en el capítulo 5 se presentan los resúmenes del compendio de artículos incluidos en esta Tesis. Por último, el capítulo 6 resume las aportaciones realizadas por esta Tesis Doctoral y los resultados obtenidos.[ENG] (Solé, 2003) (Leading to miniaturization and improvement of performance of computers, sensor and networking) have given rise to de development of several Home Automation (HA) technologies (Espinoza, 2011). HA applications integrate comfort, energy saving, security and communications functions. The aim of an HA system is to provide homes with a certain degree of intelligence and to improve the quality of life of its inhabitants. Task like automatically switching lights and heating, cutting off the supply when gas or water leaks are detected or controlling the home devices remotely from a mobile or a computer through an Internet connection are typical applications of HA domain. One of the main problems of HA development lies in the fact that there is no agreement in the standard to implement the applications. HA applications and devices currently belonging to different manufactures are isolated from each other thereby creating the main obstacle to HA market growth. Leading companies in this market have adopted several standards and protocols [8]. Some worth mentioning examples are the KNX (ISO/IEC14543-3-X), Lonworks (ISO/IEC 14908) and X10 technologies. Furthermore, as stated in (Aenor, 2009) it is improbable that there will be a single dominant technology for HA in the short term. Each of these technologies provides its own software suite to create HA applications and program the devices. Hence the particular technology (specific platform) must be selected at the initial design stages, inasmuch as the tools and devices to be used depend on this choice. These facts make the development of HA applications strongly platform dependent, making it very difficult to raise the abstraction level and work with HA domain concepts rather than technology elements. Therefore, and continuing the research initiated by Dr. D. Manuel Jimenez in the domain of home automation (Jimenez, 2009), which defined a general framework and initial elements of a DSL for home automation, intends to apply new techniques of software engineering to enable the integrated management of software development in all its stages. Specifically, for this thesis, proposes the use of the approach of modeldriven development (MDE) (Bézivin, 2005) (Fabre,2004) together with a set of management tools models ranging from requirements management, traceability, validation and verification , all integrated in a same methodology. This thesis is structured as follows: Section 2 deals with introducing the objectives. Section 3 presents the state of the art on which rests the development of the proposed new methodology which is described in Section 4, whit particular emphasis on requirements management and traceability support. Later, Section 5 presents the abstracts of the articles included in the compendium. Finally Section 6 summarizes the results and contributions of this thesis.Universidad Politécnica de CartagenaPrograma de doctorado en Técnicas Avanzadas en Investigación y Desarrollo Agrario y Alimentari

    Interoperability of Enterprise Software and Applications

    Get PDF

    Combining SOA and BPM Technologies for Cross-System Process Automation

    Get PDF
    This paper summarizes the results of an industry case study that introduced a cross-system business process automation solution based on a combination of SOA and BPM standard technologies (i.e., BPMN, BPEL, WSDL). Besides discussing major weaknesses of the existing, custom-built, solution and comparing them against experiences with the developed prototype, the paper presents a course of action for transforming the current solution into the proposed solution. This includes a general approach, consisting of four distinct steps, as well as specific action items that are to be performed for every step. The discussion also covers language and tool support and challenges arising from the transformation

    Towards the Formal Verification of Model Transformations: An Application to Kermeta

    Get PDF
    Model-Driven Engineering (MDE) is becoming a popular engineering methodology for developing large-scale software applications, using models and transformations as primary principles. MDE is now being successfully applied to domain-specific languages (DSLs), which target a narrow subject domain like process management, telecommunication, product lines, smartphone applications among others, providing experts high-level and intuitive notations very close to their problem domain. More recently, MDE has been applied to safety-critical applications, where failure may have dramatic consequences, either in terms of economic, ecologic or human losses. These recent application domains call for more robust and more practical approaches for ensuring the correctness of models and model transformations. Testing is the most common technique used in MDE for ensuring the correctness of model transformations, a recurrent, yet unsolved problem in MDE. But testing suffers from the so-called coverage problem, which is unacceptable when safety is at stake. Rather, exhaustive coverage is required in this application domain, which means that transformation designers need to use formal analysis methods and tools to meet this requirement. Unfortunately, two factors seem to limit the use of such methods in an engineer’s daily life. First, a methodological factor, because MDE engineers rarely possess the effective knowledge for deploying formal analysis techniques in their daily life developments. Second, a practical factor, because DSLs do not necessarily have a formal explicit semantics, which is a necessary enabler for exhaustive analysis. In this thesis, we contribute to the problem of formal analysis of model transformations regarding each perspective. On the conceptual side, we propose a methodological framework for engineering verified model transformations based on current best practices. For that purpose, we identify three important dimensions: (i) the transformation being built; (ii) the properties of interest ensuring the transformation’s correctness; and finally, (iii) the verification technique that allows proving these properties with minimal effort. Finding which techniques are better suited for which kind of properties is the concern of the Computer-Aided Verification community. Consequently in this thesis, we focus on studying the relationship between transformations and properties. Our methodological framework introduces two novel notions. A transformation intent gathers all transformations sharing the same purpose, abstracting from the way the transformation is expressed. A property class captures under the same denomination all properties sharing the same form, abstracting away from their underlying property languages. The framework consists of mapping each intent with its characteristic set of property classes, meaning that for proving the correctness of a particular transformation obeying this intent, one has to prove properties of these specific classes. We illustrate the use and utility of our framework through the detailed description of five common intents in MDE, and their application to a case study drawn from the automative software domain, consisting of a chain of more than thirty transformations. On a more practical side, we study the problem of verifying DSLs whose behaviour is expressed with Kermeta. Kermeta is an object-oriented transformation framework aligned with Object Management Group standard specification MOF (Meta-Object Facility). It can be used for defining metamodels and models, as well as their behaviour. Kermeta lacks a formal semantics: we first specify such a semantics, and then choose an appropriate verification domain for handling the analysis one is interested in. Since the semantics is defined at the level of Kermeta’s transformation language itself, our work presents two interesting features: first, any DSL whose behaviour is defined using Kermeta (more precisely, any transformation defined with Kermeta) enjoys a de facto formal underground for free; second, it is easier to define appropriate abstractions for targeting specific analysis for this full-fledged semantics than defining specific semantics for each possible kind of analysis. To illustrate this point, we have selected Maude, a powerful rewriting system based on algebraic specifications equipped with model-checking and theorem-proving capabilities. Maude was chosen because its underlying formalism is close to the mathematical tools we use for specifying the formal semantics, reducing the implementation gap and consequently limiting the possible implementation mistakes. We validate our approach by illustrating behavioural properties of small, yet representative DSLs from the literature

    Building Transformation Networks for Consistent Evolution of Interrelated Models

    Get PDF
    Complex software systems are described with multiple artifacts, such as code, design diagrams and others. Ensuring their consistency is crucial and can be automated with transformations for pairs of artifacts. We investigate how developers can combine independently developed and reusable transformations to networks that preserve consistency between more than two artifacts. We identify synchronization, compatibility and orchestration as central challenges, and we develop approaches to solve them
    corecore