96 research outputs found

    Agile methods in biomedical software development: a multi-site experience report

    Get PDF
    BACKGROUND: Agile is an iterative approach to software development that relies on strong collaboration and automation to keep pace with dynamic environments. We have successfully used agile development approaches to create and maintain biomedical software, including software for bioinformatics. This paper reports on a qualitative study of our experiences using these methods. RESULTS: We have found that agile methods are well suited to the exploratory and iterative nature of scientific inquiry. They provide a robust framework for reproducing scientific results and for developing clinical support systems. The agile development approach also provides a model for collaboration between software engineers and researchers. We present our experience using agile methodologies in projects at six different biomedical software development organizations. The organizations include academic, commercial and government development teams, and included both bioinformatics and clinical support applications. We found that agile practices were a match for the needs of our biomedical projects and contributed to the success of our organizations. CONCLUSION: We found that the agile development approach was a good fit for our organizations, and that these practices should be applicable and valuable to other biomedical software development efforts. Although we found differences in how agile methods were used, we were also able to identify a set of core practices that were common to all of the groups, and that could be a focus for others seeking to adopt these methods

    Development of a Wireless Environmental Data Acquisition Prototype Adopting Agile Practices: An Experience Report

    Full text link
    The traditional software development model commonly named “waterfall” is unable to cope with the increasing functionality and complexity of modern embedded systems. In addition, it is unable to support the ability for businesses to quickly respond to new market opportunities due to changing requirements. As a response, the software development community developed the Agile Methodologies (e.g., extreme Programming, Scrum) which were also adopted by the Embedded System community. However, failures and bad experiences in applying Agile Methodologies to the development of embedded systems have not been reported in the literature. Therefore, this paper contributes a detailed account of our first-time experiences adopting an agile approach in the prototype development of a wireless environment data acquisition system in an academic environment. We successfully applied a subset of the extreme Programming (XP) methodology to our software development using the Python programming language, an experience that demonstrated its benefits in shaping the design of the software and also increasing productivity. We used an incremental development approach for the hardware components and adopted a “cumulative testing” approach. For the overall development process management, however, we concluded that the Promise/Commitment-Based Project Management (PBPM/ CBPM) was better suited. We discovered that software and hardware components of embedded systems are best developed in parallel or near-parallel. We learned that software components that pass automated tests may not survive in the tests against the hardware. Throughout this rapid prototyping effort, factors like team size and our availability as graduate students were major obstacles to fully apply the XP methodology

    Doctor of Philosophy

    Get PDF
    dissertationWireless communication has become an essential part of everyday life. The hunger for more data, more phone calls, more video, and more access in more places, including vehicles, is growing massively. Communication in vehicles is particularly challenging because of their extremely high multipath environment. In addition, there is significant interest in reducing the number of wires in vehicles to reduce weight, complexity, maintenance, etc. and replace them with wireless systems. Preliminary research shows that MIMO systems take advantage of the extreme multipath environment found in aircraft and other vehicles and also provides more consistent channel capacity than SISO systems. The purpose of this research was to quantify complex channels (including the aircraft/vehicle environment) and their relation to other environments, evaluate MIMO in aircraft, provide design constraints for accurately modeling complex channels, and provide information to predict optimum antenna type and location to enable communication in aircraft/cars/buses/ships/trains/etc. and other extreme channels. The ability to evaluate and design MIMO technologies from the guidelines in this paper is potentially transformative for aircraft safety - enabling a new generation of location specific monitoring and maintenance. Average measured capacity was found to be between 18 and 21 bits/s/Hz using a 4x4 array of antennas, and had no direct relation to the size of the channel. Site-specific capacity showed a multipath rich channel, varying between 15 to 23 bits/s/Hz. The capacity decreased for increasing measurement distance, with exceptions near reflective objects that increase multipath. Due to these special circumstances for site-specific locations within complex channels, it is recommended that 3D ray tracing be used for modeling as it is more accurate than commonly used statistical models, within 1.1 bits/s/Hz. This showed that our 3D ray tracing is adaptable to various environments and gives a more accurate depiction than statistical models that average channel variations. This comes at the cost of greater model complexity. If increased complexity is not desirable, Nakagami 1.4 could be used as the next most accurate model. Design requirements for modeling different complex channels involve a detailed depiction of channel geometry, including height, width, length, shape (square, cylindrical, slanted walls, etc.), large windows, and reflective objects inside the channel space, especially those near the transmitter. Overall, the multipath rich channel found in vehicles is an excellent environment for MIMO systems. These complex channels can be simulated accurately without measurement and before they are even built using our sitespecific 3D ray tracing software combined with a detailed signal model to incorporate antenna effects

    Wireless Sensing System for Load Testing and Rating of Highway Bridges

    Get PDF
    Structural capacity evaluation of bridges is an increasingly important topic in the effort to deal with the deteriorating infrastructure. Most bridges are evaluated through subjective visual inspection and conservative theoretical rating. Diagnostic load test has been recognized as an effective method to accurately assess the carrying capacity of bridges. Traditional wired sensors and data acquisition (DAQ) systems suffer drawbacks of being labor intensive, high cost, and time consumption in installation and maintenance. For those reasons, very few load tests have been conducted on bridges.;This study aims at developing a low-cost wireless bridge load testing & rating system that can be rapidly deployed on bridges for structural evaluation and load rating. Commercially available wireless hardware is integrated with traditional analogue sensors and the appropriate rating software is developed. The wireless DAQ system can work with traditional strain gages, accelerometers as well as other voltage producing sensors. A wireless truck position indicator (WVPI) is developed and used for measuring the truck position during load testing. The software is capable of calculating the theoretical rating factors based on AASHTO Load Resistance Factor Rating (LRFR) codes, and automatically produces the adjustment factor through load testing data. A simplified finite element model was used to calculate deflection & moment distribution factors in order to reduce the amount of instrumentation used in field tests. The system was used to evaluate the structural capacity of Evansville Bridge in Preston County, WV. The results show that the wireless bridge load testing & rating system can effectively be implemented to evaluate the real capacity of bridges with remarkable advantages: low-cost, fast deployment and smaller crew

    A case study of agile software development for large-scale safety-critical systems projects

    Get PDF
    This study explores the introduction of agile software development within an avionics company engaged in safety-critical system engineering. There is increasing pressure throughout the software industry for development efforts to adopt agile software development in order to respond more rapidly to changing requirements and make more frequent deliveries of systems to customers for review and integration. This pressure is also being experienced in safety-critical industries, where release cycles on typically large and complex systems may run to several years on projects spanning decades. However, safety-critical system developments are normally highly regulated, which may constrain the adoption of agile software development or require adaptation of selected methods or practices. To investigate this potential conflict, we conducted a series of interviews with practitioners in the company, exploring their experiences of adopting agile software development and the challenges encountered. The study also explores the opportunities for altering the existing software process in the company to better fit agile software development to the constraints of software development for safety-critical systems. We conclude by identifying immediate future research directions to better align the tempo of software development for safety-critical systems and agile software development

    Pushing the Boundaries of Spacecraft Autonomy and Resilience with a Custom Software Framework and Onboard Digital Twin

    Get PDF
    This research addresses the high CubeSat mission failure rates caused by inadequate software and overreliance on ground control. By applying a reliable design methodology to flight software development and developing an onboard digital twin platform with fault prediction capabilities, this study provides a solution to increase satellite resilience and autonomy, thus reducing the risk of mission failure. These findings have implications for spacecraft of all sizes, paving the way for more resilient space missions

    On the real world practice of Behaviour Driven Development

    Get PDF
    Surveys of industry practice over the last decade suggest that Behaviour Driven Development is a popular Agile practice. For example, 19% of respondents to the 14th State of Agile annual survey reported using BDD, placing it in the top 13 practices reported. As well as potential benefits, the adoption of BDD necessarily involves an additional cost of writing and maintaining Gherkin features and scenarios, and (if used for acceptance testing,) the associated step functions. Yet there is a lack of published literature exploring how BDD is used in practice and the challenges experienced by real world software development efforts. This gap is significant because without understanding current real world practice, it is hard to identify opportunities to address and mitigate challenges. In order to address this research gap concerning the challenges of using BDD, this thesis reports on a research project which explored: (a) the challenges of applying agile and undertaking requirements engineering in a real world context; (b) the challenges of applying BDD specifically and (c) the application of BDD in open-source projects to understand challenges in this different context. For this purpose, we progressively conducted two case studies, two series of interviews, four iterations of action research, and an empirical study. The first case study was conducted in an avionics company to discover the challenges of using an agile process in a large scale safety critical project environment. Since requirements management was found to be one of the biggest challenges during the case study, we decided to investigate BDD because of its reputation for requirements management. The second case study was conducted in the company with an aim to discover the challenges of using BDD in real life. The case study was complemented with an empirical study of the practice of BDD in open source projects, taking a study sample from the GitHub open source collaboration site. As a result of this Ph.D research, we were able to discover: (i) challenges of using an agile process in a large scale safety-critical organisation, (ii) current state of BDD in practice, (iii) technical limitations of Gherkin (i.e., the language for writing requirements in BDD), (iv) challenges of using BDD in a real project, (v) bad smells in the Gherkin specifications of open source projects on GitHub. We also presented a brief comparison between the theoretical description of BDD and BDD in practice. This research, therefore, presents the results of lessons learned from BDD in practice, and serves as a guide for software practitioners planning on using BDD in their projects

    Collaborative Development of Informal Processes

    Get PDF
    • …
    corecore