43,585 research outputs found

    A framework for the simulation of structural software evolution

    Get PDF
    This is the author's accepted manuscript. The final published article is available from the link below. Copyright @ 2008 ACM.As functionality is added to an aging piece of software, its original design and structure will tend to erode. This can lead to high coupling, low cohesion and other undesirable effects associated with spaghetti architectures. The underlying forces that cause such degradation have been the subject of much research. However, progress in this field is slow, as its complexity makes it difficult to isolate the causal flows leading to these effects. This is further complicated by the difficulty of generating enough empirical data, in sufficient quantity, and attributing such data to specific points in the causal chain. This article describes a framework for simulating the structural evolution of software. A complete simulation model is built by incrementally adding modules to the framework, each of which contributes an individual evolutionary effect. These effects are then combined to form a multifaceted simulation that evolves a fictitious code base in a manner approximating real-world behavior. We describe the underlying principles and structures of our framework from a theoretical and user perspective; a validation of a simple set of evolutionary parameters is then provided and three empirical software studies generated from open-source software (OSS) are used to support claims and generated results. The research illustrates how simulation can be used to investigate a complex and under-researched area of the development cycle. It also shows the value of incorporating certain human traits into a simulation—factors that, in real-world system development, can significantly influence evolutionary structures

    A design recording framework to facilitate knowledge sharing in collaborative software engineering

    Get PDF
    This paper describes an environment that allows a development team to share knowledge about software artefacts by recording decisions and rationales as well as supporting the team in formulating and maintaining design constraints. It explores the use of multi-dimensional design spaces for capturing various issues arising during development and presenting this meta-information using a network of views. It describes a framework to underlie the collaborative environment and shows the supporting architecture and its implementation. It addresses how the artefacts and their meta-information are captured in a non-invasive way and shows how an artefact repository is embedded to store and manage the artefacts

    Distributed Bio-inspired Humanoid Posture Control

    Full text link
    This paper presents an innovative distributed bio-inspired posture control strategy for a humanoid, employing a balance control system DEC (Disturbance Estimation and Compensation). Its inherently modular structure could potentially lead to conflicts among modules, as already shown in literature. A distributed control strategy is presented here, whose underlying idea is to let only one module at a time perform balancing, whilst the other joints are controlled to be at a fixed position. Modules agree, in a distributed fashion, on which module to enable, by iterating a max-consensus protocol. Simulations performed with a triple inverted pendulum model show that this approach limits the conflicts among modules while achieving the desired posture and allows for saving energy while performing the task. This comes at the cost of a higher rise time.Comment: 2019 41st Annual International Conference of the IEEE Engineering in Medicine & Biology Society (EMBC

    A Personalized Framework for Trust Assessment

    No full text
    The number of computational trust models has been increasing quickly in recent years yet their applications for automating trust evaluation are still limited. The main obstacle is the difficulties in selecting a suitable trust model and adapting it for particular trust modeling requirements, which varies greatly due to the subjectivity of human trust. The Personalized Trust Framework (PTF) presented in this paper aims to address this problem by providing a mechanism for human users to capture their trust evaluation process in order for it to be replicated by computers. In more details, a user can specify how he selects a trust model based on information about the subject whose trustworthiness he needs to evaluate and how that trust model is configured. This trust evaluation process is then automated by the PTF making use of the trust models flexibly plugged into the PTF by the user. By so doing, the PTF enable users reuse and personalize existing trust models to suit their requirements without having to reprogram those models
    • 

    corecore