37 research outputs found

    Una propuesta basada en el paradigma dirigido por modelos para la integraci贸n del ciclo de vida de la medici贸n al ciclo de vida del proceso

    Get PDF
    Context: Measurement enables organizations to gain knowledge about its processes and projects, also to reach predictable performance and high capability processes, which places organizations in better positions to make appropriate decisions. Measuring the software development process supports organizations in its endeavor to understand, evaluate, manage, and improve its development processes and projects. In the last decades, the software development process has evolved to meet the market needs and to keep abreast of modern technologies and infrastructures that have influenced the product development and its use. These changes in the development processes have increased the importance of the measurement and caused changes in the measurement process and the used measures. Objective: This thesis aims to contribute to the software process measurement domain in two main aspects; first, propose a novel solution to support the identification and the operational definition of the measurement concepts and objectives. The second is defining a measurement lifecycle and integrate it into the process lifecycle. Method: We have carried out a survey and mapping study to understand the current state of the art, and to identify existing gaps. After that, we have proposed a theoretical solution to support the software process measurement, and finally, we have developed this solution to allow its practical use in real environments, enabling its application and evaluation in a real project. Results: The proposed solution consists of three main components: (i) Measurement lifecycle; which define the measurement activities throughout the process lifecycle, (ii) Measurement metamodels; these metamodels support the measurement lifecycle and its integration into the process lifecycle, (iii) Transformation process; which allow the derivation of the necessary measurement models, artifacts, and activities throughout the process lifecycle. Conclusion: The solution presented in this dissertation allows organizations to manage and improve their processes and projects; the proposed information model supports the unification of the measurement concepts vocabulary, coherently connects them, and ensures the traceability between these concepts. The defined measurement process lifecycle provides a clear and comprehensive guide for the organizations to establish the measurement objectives and carry out the necessary activities to achieve them. The proposed measurement definition metamodel support and guide the engineers to define the measurement concepts and their relationships completely and operationally. Moreover, the proposed transformations use this metamodel to support the measurement process and to derive the necessary measurement artifacts and activities throughout the process lifecycle.Contexto: la medici贸n permite a las organizaciones obtener conocimiento sobre sus procesos y proyectos, tambi茅n alcanzar un rendimiento predecible y procesos de alta capacidad, lo que pone las organizaciones en mejores posiciones para tomar decisiones apropiadas. La medici贸n del proceso de desarrollo de software apoya a las organizaciones en su esfuerzo para comprender, evaluar, gestionar y mejorar sus procesos y proyectos de desarrollo. Objetivo: Esta disertaci贸n propone una soluci贸n novedosa para respaldar la identificaci贸n y la definici贸n de los conceptos y objetivos de medici贸n en una forma operativa. Adem谩s, busca definir un ciclo de vida de la medici贸n e integrarlo en el ciclo de vida del proceso. M茅todo: Hemos llevado a cabo una encuesta y estudios de mapeo para comprender el estado del arte e identificar brechas existentes. Posteriormente, hemos propuesto una soluci贸n te贸rica para respaldar la medici贸n del proceso del software y, finalmente, hemos desarrollado esta soluci贸n para permitir su uso pr谩ctico en entornos reales, permitiendo su aplicaci贸n y evaluaci贸n en un proyecto real. Resultados: La soluci贸n propuesta consta de tres componentes principales: (i) Ciclo de vida de la medici贸n; que define las actividades de medici贸n a lo largo del ciclo de vida del proceso, (ii) Metamodelos de medici贸n; estos metamodelos apoyan el ciclo de vida de la medici贸n y su integraci贸n en el ciclo de vida del proceso, (iii) Proceso de transformaci贸n; que permite la derivaci贸n de los modelos de medici贸n, artefactos y actividades necesarios a lo largo del ciclo de vida del proceso. Conclusi贸n: la soluci贸n presentada en este trabajo permite a las organizaciones gestionar y mejorar sus procesos y proyectos; El modelo de informaci贸n propuesto apoya la unificaci贸n del vocabulario de los conceptos de medici贸n, los conecta de forma coherente y garantiza la trazabilidad entre estos conceptos. El ciclo de vida del proceso de medici贸n proporciona una gu铆a clara y completa para que las organizaciones establezcan los objetivos de medici贸n y realicen las actividades necesarias para lograrlos. El metamodelo de definici贸n de la medici贸n apoya y gu铆a a los ingenieros para definir los conceptos de medici贸n y sus relaciones de manera completa y operativa; adem谩s, las transformaciones propuestas utilizan este metamodelo para respaldar el proceso de medici贸n y derivar los artefactos y las actividades de medici贸n necesarios durante el ciclo de vida del proceso

    From napkin sketches to reliable software

    Get PDF
    In the past few years, model-driven software engineering (MDSE) and domain-specific modeling languages (DSMLs) have received a lot of attention from both research and industry. The main goal of MDSE is generating software from models that describe systems on a high level of abstraction. DSMLs are languages specifically designed to create such models. High-level models are refined into models on lower levels of abstraction by means of model transformations. The ability to model systems on a high level of abstraction using graphical diagrams partially explains the popularity of the informal modeling language UML. However, even designing simple software systems using such graphical diagrams can lead to large models that are cumbersome to create. To deal with this problem, we investigated the integration of textual languages into large, existing modeling languages by comparing two approaches and designed a DSML with a concrete syntax consisting of both graphical and textual elements. The DSML, called the Simple Language of Communicating Objects (SLCO), is aimed at modeling the structure and behavior of concurrent, communicating objects and is used as a case study throughout this thesis. During the design of this language, we also designed and implemented a number of transformations to various other modeling languages, leading to an iterative evolution of the DSML, which was influenced by the problem domain, the target platforms, model quality, and model transformation quality. Traditionally, the state-space explosion problem in model checking is handled by applying abstractions and simplifications to the model that needs to be verified. As an alternative, we demonstrate a model-driven engineering approach that works the other way around using SLCO. Instead of making a concrete model more abstract, we refine abstract models by transformation to make them more concrete, aiming at the verification of models that are as close to the implementation as possible. The results show that it is possible to validate more concrete models when fine-grained transformations are applied instead of coarse-grained transformations. Semantics are a crucial part of the definition of a language, and to verify the correctness of model transformations, the semantics of both the input and the output language must be formalized. For these reasons, we implemented an executable prototype of the semantics of SLCO that can be used to transform SLCO models to labeled transition systems (LTSs), allowing us to apply existing tools for visualization and verification of LTSs to SLCO models. For given input models, we can use the prototype in combination with these tools to show, for each transformation that refines SLCO models, that the input and output models exhibit the same observable behavior. This, however, does not prove the correctness of these transformations in general. To prove this, we first formalized the semantics of SLCO in the form of structural operational semantics (SOS), based on the aforementioned prototype. Then, equivalence relations between LTSs were defined based on each transformation, and finally, these relations were shown to be either strong bisimulations or branching bisimulations. In addition to this approach, we studied property preservation of model transformations without restricting ourselves to a fixed set of transformations. Our technique takes a property and a transformation, and checks whether the transformation preserves the property. If a property holds for the initial model, which is often small and easy to analyze, and the property is preserved, then the refined model does not need to be analyzed too. Combining the MDSE techniques discussed in this thesis enables generating reliable and correct software by means of refining model transformations from concise, formal models specified on a high level of abstraction using DSMLs

    Model Driven Development and Maintenance of Business Logic for Information Systems

    Get PDF
    Since information systems become more and more important in today\''s society, business firms, organizations, and individuals rely on these systems to manage their daily business and social activities. The dependency of possibly critical business processes on complex IT systems requires a strategy that supports IT departments in reducing the time needed to implement changed or new domain requirements of functional departments. In this context, software models help to manage system\''s complexity and provide a tool for communication and documentation purposes. Moreover, software engineers tend to use automated software model processing such as code generation to improve development and maintenance processes. Particularly in the context of web-based information systems, a number of model driven approaches were developed. However, we believe that compared to the user interface layer and the persistency layer, there could be a better support of consistent approaches providing a suitable architecture for the consistent model driven development of business logic. To ameliorate this situation, we developed an architectural blueprint consisting of meta models, tools, and a method support for model driven development and maintenance of business logic from analysis until system maintenance. This blueprint, which we call Amabulo infrastructure, consists of five layers and provides concepts and tools to set up and apply concrete infrastructures for model driven development projects. Modeling languages can be applied as needed. In this thesis we focus on business logic layers of J2EE applications. However, concrete code generation rules can be adapted easily for different target platforms. After providing a high-level overview of our Amabulo infrastructure, we describe its layers in detail: The Visual Model Layer is responsible for all visual modeling tasks. For this purpose, we discuss requirements for visual software models for business logic, analyze several visual modeling languages concerning their usefulness, and provide an UML profile for business logic models. The Abstract Model Layer provides an abstract view on the business logic model in the form of a domain specific model, which we call Amabulo model. An Amabulo model is reduced to pure logical information concerning business logic aspects. It focuses on information that is relevant for the code generation. For this purpose, an Amabulo model integrates model elements for process modeling, state modeling, and structural modeling. It is used as a common interface between visual modeling languages and code generators. Visual models of the Visual Model Layer are automatically transformed into an Amabulo model. The Abstract System Layer provides a formal view onto the system in the form of a Coloured Petri Net (CPN). A Coloured Petri Net representation of the modeled business logic is a formal structure and independent of the actual business logic implementation. After an Amabulo model is automatically transformed into a CPN, it can be analyzed and simulated before any line of code is generated. The Code Generation Layer is responsible for code generation. To support the design and implementation of project-specific code generators, we discuss several aspects of code integration issues and provide object-oriented design approaches to tackle the issues. Then, we provide a conceptual mapping of Amabulo model elements into architectural elements of a J2EE infrastructure. This mapping explicitly considers robustness features, which support a later manual integration of generated critical code artifacts and external systems. The Application Layer is the target layer of an Amabulo infrastructure and comprises generated code artifacts. These artifacts are instances of a specific target platform specification, and they can be modified for integration purposes with development tools. Through the contributions in this thesis, we aim to provide an integrated set of solutions to support an efficient model driven development and maintenance process for the business logic of information systems. Therefore, we provide a consistent infrastructure blueprint that considers modeling tasks, model analysis tasks, and code generation tasks. As a result, we see potential for reducing the development and maintenance efforts for changed domain requirements and simultaneously guaranteeing robustness and maintainability even after several changes

    Quality of Human-Computer Interaction : Self-Explanatory User Interfaces by Model-Driven Engineering

    Get PDF
    In Human-Computer Interaction, quality is an utopia. Despite all the design efforts, there are always uses and situations for which the user interface is not perfect. This thesis investigates self-explanatory user interfaces for improving the quality perceived by end users. The approach follows the principles of model-driven engineering. It consists in keeping the design models at runtime so that to dynamically enrich the user interface with a set of possible questions and answers. The questions are related to usage (for instance, "What's the purpose of this button?", "Why is this action not possible"?) as well as to design rationale (for instance, "Why are the items not alphabetically ordered?"). This thesis proposes a software infrastructure UsiExplain based on the UsiXML metamodels. An evaluation conducted on a case study related to a car shopping webiste confirms that the approach is relevant especially for usage questions. Design rationale will be further explored in the future.STAREn Interaction Homme-Machine, la qualit茅 est une utopie : malgr茅 toutes les pr茅cautions prises en conception, il existe toujours des utilisateurs et des situations d'usage pour lesquels l'Interface Homme-Machine (IHM) est imparfaite. Cette th猫se explore l'auto-explication des IHM pour am茅liorer la qualit茅 per莽ue par les utilisateurs. L'approche s'inscrit dans une Ing茅nierie Dirig茅e par les Mod猫les. Elle consiste 脿 embarquer 脿 l'ex茅cution les mod猫les de conception pour dynamiquement augmenter l'IHM d'un ensemble de questions et de r茅ponses. Les questions peuvent 锚tre relatives 脿 l'utilisation de l'IHM (par exemple, "A quoi sert ce bouton ?", "Pourquoi telle action n'est pas possible ?) et 脿 sa justification (par exemple, "Pourquoi les items ne sont-ils pas rang茅s par ordre alphab茅tique ?"). Cette th猫se propose une infrastructure logicielle UsiExplain bas茅e sur les m茅ta-mod猫les UsiXML. L'茅valuation sur un cas d'茅tude d'achat de voitures montre que l'approche est pertinente pour les questions d'utilisation de l'IHM. Elle ouvre des perspectives en justification de conception

    On the Empty Miles of Ride-Sourcing Services: Theory, Observation and Countermeasures

    Full text link
    The proliferation of smartphones in recent years has catalyzed the rapid growth of ride-sourcing services such as Uber, Lyft, and Didi Chuxing. Such on-demand e-hailing services significantly reduce the meeting frictions between drivers and riders and provide the platform with unprecedented flexibility and challenges in system management. A big issue that arises with service expansion is the empty miles produced by ride-sourcing vehicles. To overcome the physical and temporal frictions that separate drivers from customers and effectively reposition themselves towards desired destinations, ride-sourcing vehicles generate a significant number of vacant trips. These empty miles traveled result in inefficient use of the available fleet and increase traffic demand, posing substantial impacts on system operations. To tackle the issues, my dissertation is dedicated to deepening our understanding of the formation and the externalities of empty miles, and then proposing countermeasures to bolster system performance. There are two essential and interdependent contributors to empty miles generated by ride-sourcing vehicles: cruising in search of customers and deadheading to pick them up, which are markedly dictated by forces from riders, drivers, the platform, and policies imposed by regulators. In this dissertation, we structure our study of this complex process along three primary axes, respectively centered on the strategies of a platform, the behaviors of drivers, and the concerns of government agencies. In each axis, theoretical models are established to help understand the underlying physics and identify the trade-offs and potential issues that drive behind the empty miles. Massive data from Didi Chuxing, a dominant ride-sourcing company in China, are leveraged to evidence the presence of matters discussed in reality. Countermeasures are then investigated to strengthen management upon the empty miles, balance the interests of different stakeholders, and improve the system performance. Although this dissertation scopes out ride-sourcing services, the models, analyses, and solutions can be readily adapted to address related issues in other types of shared-use mobility services.PHDCivil EngineeringUniversity of Michigan, Horace H. Rackham School of Graduate Studieshttp://deepblue.lib.umich.edu/bitstream/2027.42/163209/1/xzt_1.pd

    On Language Processors and Software Maintenance

    Get PDF
    This work investigates declarative transformation tools in the context of software maintenance. Besides maintenance of the language specification, evolution of a software language requires the adaptation of the software written in that language as well as the adaptation of the software that transforms software written in the evolving language. This co-evolution is studied to derive automatic adaptations of artefacts from adaptations of the language specification. Furthermore, AOP for Prolog is introduced to improve maintainability of language specifications and derived tools.Die Arbeit unterst眉tzt deklarative Transformationswerkzeuge im Kontext der Softwarewartung. Neben der Wartung der Sprachbeschreibung erfordert die Evolution einer Sprache sowohl die Anpassung der Software, die in dieser Sprache geschrieben ist als auch die Anpassung der Software, die diese Software transformiert. Diese Koevolution wird untersucht, um automatische Anpassungen von Artefakten von Anpassungen der Sprachbeschreibungen abzuleiten. Weiterhin wird AOP f眉r Prolog eingef眉hrt, um die Wartbarkeit von Sprachbeschreibungen und den daraus abgeleiteten Werkzeugen zu erh枚hen

    Telecommunications Networks

    Get PDF
    This book guides readers through the basics of rapidly emerging networks to more advanced concepts and future expectations of Telecommunications Networks. It identifies and examines the most pressing research issues in Telecommunications and it contains chapters written by leading researchers, academics and industry professionals. Telecommunications Networks - Current Status and Future Trends covers surveys of recent publications that investigate key areas of interest such as: IMS, eTOM, 3G/4G, optimization problems, modeling, simulation, quality of service, etc. This book, that is suitable for both PhD and master students, is organized into six sections: New Generation Networks, Quality of Services, Sensor Networks, Telecommunications, Traffic Engineering and Routing

    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
    corecore