404 research outputs found

    Refactoring use case models on episodes

    Get PDF
    Use case models are used to capture functionality requirements of a system. Use cases can be described in term of the episodes, or subtasks, that are performed. An episode model captures the organization and relationships of the episodes in a use case. Refactoring is an approach to reorganize the internal structure of models in order to improve them or extend them in some way. Refactorings are behavior-preserving transformations of the models. This thesis looks at refactoring of use case models based on the information captured in episode models. We present a metamodel for the use case and the episode model in order to make precise the syntax of the models and explain the informal semantics of the models. We detail several refactoring rules for use case refactoring, including their verification of the behavior-preserving property. We also present a case study based on the Video Store System

    Refactoring use case models

    Get PDF
    Use cases are promising vehicles for specifying requirements. However, obtaining well-organized use case models is difficult during software evolution. The thesis proposes to address the issue by refactoring use case models. Refactoring is a program transformation approach for iterative software development. Its concept is introduced to use case models in Cascaded Refactoring. The thesis introduces major research involved in refactoring use case models. It defines a use case metamodel to formalize use cases. The three-level metamodel covers the environment or context of a use case model, the structure of use cases in terms of episodes, and the event or message passing details of a scenario. The thesis presents a process algebra semantics for the use case model. The episode semantics is provided from the literature. The semantics of a single use case is defined in terms of the episode model. The semantics of the use case model is defined in terms of the individual use cases and their relationships. The thesis identifies a list of properties that need to be preserved during refactoring. It defines fifty-three use case refactorings, which are described using a template covering the refactoring description, arguments, preconditions, postconditions and verification of behavior preservation. The thesis also introduces a tool for use case modeling and refactoring. The tool helps validate the use case metamodel and refactorings on two case studies, which demonstrate that refactoring use case models is feasible and practical. Based on these case studies, the thesis discusses the nature of use case evolution and provides some guidelines for the refactoring process

    An Approach for Automating Use Case Refactoring

    Get PDF
    Carrying out requirements capture and modeling activities successfully is not easy, often requiring a thoughtful analysis of clients needs and demanding an adequate expertise from analysts. To ensure a fluid communication among stakeholders, analysts must take advantage of modeling techniques while describing requirements and exploit reuse and abstraction practices so as to avoid redundancy (for instance, using relations between use cases). Unfortunately, these practices are seldom applied because inspecting requirements such as textual use cases by hand, looking out for faulty or duplicate functionalities, is a challenging and error-prone activity. In this context, we introduce an assistive approach called ReUse that searches redundancy eficiencies in use case specifications and allows to fix them with relation-based refactorings. Our approach makes use of text processing and sequence alignment techniques to discover deficiencies (e.g., duplicate functionality). We have evaluated ReUse in five case studies, achieving promising results.Fil: Rago, Alejandro Miguel. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Tandil. Instituto Superior de Ingenieria del Software; ArgentinaFil: Frade, Paula. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Tandil. Instituto Superior de Ingenieria del Software; ArgentinaFil: Ruival, Miguel. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Tandil. Instituto Superior de Ingenieria del Software; ArgentinaFil: Marcos, Claudia. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Tandil. Instituto Superior de Ingenieria del Software; Argentin

    Hybridizing and applying computational intelligence techniques

    Get PDF
    As computers are increasingly relied upon to perform tasks of increasing complexity affecting many aspects of society, it is imperative that the underlying computational methods performing the tasks have high performance in terms of effectiveness and scalability. A common solution employed to perform such complex tasks are computational intelligence (CI) techniques. CI techniques use approaches influenced by nature to solve problems in which traditional modeling approaches fail due to impracticality, intractability, or mathematical ill-posedness. While CI techniques can perform considerably better than traditional modeling approaches when solving complex problems, the scalability performance of a given CI technique alone is not always optimal. Hybridization is a popular process by which a better performing CI technique is created from the combination of multiple existing techniques in a logical manner. In the first paper in this thesis, a novel hybridization of two CI techniques, accuracy-based learning classifier systems (XCS) and cluster analysis, is presented that improves upon the efficiency and, in some cases, the effectiveness of XCS. A number of tasks in software engineering are performed manually, such as defining expected output in model transformation testing. Especially since the number and size of projects that rely on tasks that must be performed manually, it is critical that automated approaches are employed to reduce or eliminate manual effort from these tasks in order to scale efficiently. The second paper in this thesis details a novel application of a CI technique, multi-objective simulated annealing, to the task of test case model generation to reduce the resulting effort required to manually update expected transformation output --Abstract, page iv

    Crawling in Rogue's dungeons with (partitioned) A3C

    Full text link
    Rogue is a famous dungeon-crawling video-game of the 80ies, the ancestor of its gender. Rogue-like games are known for the necessity to explore partially observable and always different randomly-generated labyrinths, preventing any form of level replay. As such, they serve as a very natural and challenging task for reinforcement learning, requiring the acquisition of complex, non-reactive behaviors involving memory and planning. In this article we show how, exploiting a version of A3C partitioned on different situations, the agent is able to reach the stairs and descend to the next level in 98% of cases.Comment: Accepted at the Fourth International Conference on Machine Learning, Optimization, and Data Science (LOD 2018

    Neuromorphic Systems for Pattern Recognition and Uav Trajectory Planning

    Get PDF
    Detection and control are two essential components in an intelligent system. This thesis investigates novel techniques in both areas with a focus on the applications of handwritten text recognition and UAV flight control. Recognizing handwritten texts is a challenging task due to many different writing styles and lack of clear boundary between adjacent characters. The difficulty is greatly increased if the detection algorithms is solely based on pattern matching without information of dynamics of handwriting trajectories. Motivated by the aforementioned challenges, this thesis first investigates the pattern recognition problem. We use offline handwritten texts recognition as a case study to explore the performance of a recurrent belief propagation model. We first develop a probabilistic inference network to post process the recognition results of deep Convolutional Neural Network (CNN) (e.g. LeNet) and collect individual characters to form words. The output of the inference network is a set of words and their probability. A series of post processing and improvement techniques are then introduced to further increase the recognition accuracy. We study the performance of proposed model through various comparisons. The results show that it significantly improves the accuracy by correcting deletion, insertion and replacement errors, which are the main sources of invalid candidate words. Deep Reinforcement Learning (DRL) has widely been applied to control the autonomous systems because it provides solutions for various complex decision-making tasks that previously could not be solved solely with deep learning. To enable autonomous Unmanned Aerial Vehicles (UAV), this thesis presents a two-level trajectory planning framework for UAVs in an indoor environment. A sequence of waypoints is selected at the higher-level, which leads the UAV from its current position to the destination. At the lower-level, an optimal trajectory is generated analytically between each pair of adjacent waypoints. The goal of trajectory generation is to maintain the stability of the UAV, and the goal of the waypoints planning is to select waypoints with the lowest control thrust throughout the entire trip while avoiding collisions with obstacles. The entire framework is implemented using DRL, which learns the highly complicated and nonlinear interaction between those two levels, and the impact from the environment. Given the pre-planned trajectory, this thesis further presents an actor-critic reinforcement learning framework that realizes continuous trajectory control of the UAV through a set of desired waypoints. We construct a deep neural network and develop reinforcement learning for better trajectory tracking. In addition, Field Programmable Gate Arrays (FPGA) based hardware acceleration is designed for energy efficient real-time control. If we are to integrate the trajectory planning model onto a UAV system for real-time on-board planning, a key challenge is how to deliver required performance under strict memory and computational constraints. Techniques that compress Deep Neural Network (DNN) models attract our attention because they allow optimized neural network models to be efficiently deployed on platforms with limited energy and storage capacity. However, conventional model compression techniques prune the DNN after it is fully trained, which is very time-consuming especially when the model is trained using DRL. To overcome the limitation, we present an early phase integrated neural network weight compression system for DRL based waypoints planning. By applying pruning at an early phase, the compression of the DRL model can be realized without significant overhead in training. By tightly integrating pruning and retraining at the early phase, we achieve a higher model compression rate, reduce more memory and computing complexity, and improve the success rate compared to the original work

    All Together Now: A Framework for Research on Mob Programming

    Get PDF
    Mob programming (MP) is a relatively new phenomenon in software development. So far, the academic literature has not published in this domain. The goal of this paper is to develop a framework for researching the MP phenomenon. We first outline current practitioner descriptions of and justifications for MP. We then examine concepts from team theory and practices from agile development to identify the team processes and taskwork involved in MP. Based on these, we present a research framework for the academic study of MP. We conclude by considering how the framework can be used by IS researchers

    Logarithmic growth dynamics in software networks

    Full text link
    In a recent paper, Krapivsky and Redner (Phys. Rev. E, 71 (2005) 036118) proposed a new growing network model with new nodes being attached to a randomly selected node, as well to all ancestors of the target node. The model leads to a sparse graph with an average degree growing logarithmically with the system size. Here we present compeling evidence for software networks being the result of a similar class of growing dynamics. The predicted pattern of network growth, as well as the stationary in- and out-degree distributions are consistent with the model. Our results confirm the view of large-scale software topology being generated through duplication-rewiring mechanisms. Implications of these findings are outlined.Comment: 7 pages, 3 figures, published in Europhysics Letters (2005
    corecore