98 research outputs found

    An Algorithmic Approach to Creating Effective Study Groups Using a Smart Phone App

    Get PDF
    For many students entering college, meeting new people and studying are a common struggle. Study groups are generally recommended, especially if the groups are comprised of members with complementary personality traits. But the challenge still remains, how do freshmen or transfer students find and form these heterogeneous study groups. In order to help alleviate this issue, an Android application was developed to automatically create study groups for students. Using basic information provided by students upon registration, the algorithm is able to automatically find matching group members. The application was designed using an agile life cycle model over the course of a year. Once development was completed, a study was conducted using the application which analyzed the resulting data and found it to be effective

    Establish a generic railway electronic interlocking solution using software engineering methods

    Get PDF
    A research investigation has been undertaken to establish a generic software interlocking solution for electronic railway systems. The system is intended to be independent of the physical station layout and easily adaptable in any country of application. Railway signalling principles and regulated safety standards are incorporated into the system design. A literature review has been performed to investigate existing interlocking methods and to identify common aspects amongst these methods. Existing methods for the development of electronic interlocking systems are evaluated. The application of software engineering techniques to interlocking systems is also considered. Thereafter a model of the generic solution is provided. The solution is designed following an agile life cycle development process. The structure of the interlocking is based on an MVC (Model-View-Controller) architecture which provides a modular foundation upon which the system is developed. The interlocking system is modelled using Boolean interlocking functions and UML (Unified Modelling Language) statecharts. Statecharts are used to graphically represent the procedures of interlocking operations. The Boolean interlocking functions and statechart models collectively represent a proof of concept for a generic interlocking software solution. The theoretical system models are used to simulate the interlocking software in TIA (Totally Integrated Automation) Portal. The behaviour of the interlocking during element faults and safety–critical events is validated through graphical software simulations. Test cases are derived based on software engineering test techniques to validate the behaviour and completeness of the software. The software simulations indicate that the general algorithms defined for the system model can easily be determined for a specific station layout. The model is not dependent on the physical signalling elements. The generic algorithms defined for determining the availability of the signalling element types and the standard interlocking functions are easily adaptable to a physical layout. The generic solution encompasses interlocking principles and rail safety standards which enables the interlocking to respond in a fail-safe manner during hazardous events. The incorporation of formal software engineering methods assists in guaranteeing the safety of the system as safety components are built into the system at various stages. The use of development life cycle models and design patterns supports the development of a modular and flexible system architecture. This allows new additions or amendments to easily be incorporated into the system. The application of software engineering techniques assists in developing a generic maintainable interlocking solution for railways

    NASA Data Acquisition System Software Development for Rocket Propulsion Test Facilities

    Get PDF
    Current NASA propulsion test facilities include Stennis Space Center in Mississippi, Marshall Space Flight Center in Alabama, Plum Brook Station in Ohio, and White Sands Test Facility in New Mexico. Within and across these centers, a diverse set of data acquisition systems exist with different hardware and software platforms. The NASA Data Acquisition System (NDAS) is a software suite designed to operate and control many critical aspects of rocket engine testing. The software suite combines real-time data visualization, data recording to a variety formats, short-term and long-term acquisition system calibration capabilities, test stand configuration control, and a variety of data post-processing capabilities. Additionally, data stream conversion functions exist to translate test facility data streams to and from downstream systems, including engine customer systems. The primary design goals for NDAS are flexibility, extensibility, and modularity. Providing a common user interface for a variety of hardware platforms helps drive consistency and error reduction during testing. In addition, with an understanding that test facilities have different requirements and setups, the software is designed to be modular. One engine program may require real-time displays and data recording; others may require more complex data stream conversion, measurement filtering, or test stand configuration management. The NDAS suite allows test facilities to choose which components to use based on their specific needs. The NDAS code is primarily written in LabVIEW, a graphical, data-flow driven language. Although LabVIEW is a general-purpose programming language; large-scale software development in the language is relatively rare compared to more commonly used languages. The NDAS software suite also makes extensive use of a new, advanced development framework called the Actor Framework. The Actor Framework provides a level of code reuse and extensibility that has previously been difficult to achieve using LabVIEW. Th

    Change-Impact driven Agile Architecting.

    Full text link
    Software architecture is a key factor to scale up Agile Software Development ASD in large softwareintensive systems. Currently, software architectures are more often approached through mechanisms that enable to incrementally design and evolve software architectures aka. agile architecting. Agile architecting should be a light-weight decision-making process, which could be achieved by providing knowledge to assist agile architects in reasoning about changes. This paper presents the novel solution of using change-impact knowledge as the main driver for agile architecting. The solution consists of a Change Impact Analysis technique and a set of models to assist agile architects in the change -decision-making- process by retrieving the change-impact architectural knowledge resulting from adding or changing features iteration after iteration. To validate our approach, we have put our solution into practice by running a project of a metering management system in electric power networks in an i-smart software factory

    Sustainment Measures for Fighter Jet Engines

    Get PDF
    The US Air Force (USAF) has evolved a policy for the acquisition of fighter jet engines (FJE). In the 1970s and 1980s that policy placed a premium on FJE performance primarily measured by the metric: thrust/engine weight. In the 1990s, the USAF policy changed from an emphasis on performance to reduced life-cycle cost with a premium on sustainment. This paper reports the results of a study of how the USAF and Corporation Alpha (Alpha) have adapted their processes, practices, and policies to design, develop, manufacture, test, and sustain a family of FJEs. Each member of the family of FJEs is sequentially linked relative to insertion of technology designed to reduce sustainment costs. In addition to the technology linkages, the development of the family of FJEs selected for this case study is also tracked relative to US Department of Defense and USAF policy and industry design, build, and maintain processes, methods, and tools. This paper discerns the complex, highly integrated manner that characterizes the interaction between (1) technology, (2) policy, and (3) manufacturing and sustainment tools to produce a family of FJEs with improving sustainment qualities and non-degrading performance. The metric Unscheduled Engine Removals (UER) per 1000 Effective Flight Hours (UER/1000EFH) is used to compare the sustainability of each member of the selected family of FJEs. Our results are based on data obtained through a series of field interviews of USAF and civilian government personnel and Alpha personnel. The US government extensive database containing UER information is the primary source of MRO trends for the FJEs of this study. Our analysis shows that the family of FJEs sustainability, as measured by the UER metric, has not improved beyond 6 10 EFH for each succeeding generation in the selected FJE family. We conjecture that upstream policy, technology insertion, and manufacturing and sustainment tools are not the primary determinants of sustainability; the manner in which the FJE is used has the greatest influence on sustainability of FJEs.Society of Automotive Engineers Lean Sustainment Initiativ

    Overview and Guidance on Agile Development in Large Organizations

    Get PDF
    A continual debate surrounds the effectiveness of agile software development practices. Some organizations adopt agile practices to become more competitive, improve processes, and reduce costs. Other organizations are skeptical about whether agile development is beneficial. Large organizations face an additional challenge in integrating agile practices with existing standards and business processes. To examine the effects of agile development practices in large organizations, we review and integrate scientific literature and theory on agile software development. We further organize our theory and observations into a framework with guidelines for large organizations considering agile methodologies. Based on this framework, we present recommendations that suggest ways large organizations with established processes can successfully implement agile practices. Our analysis of the literature and theory provides new insight for researchers of agile software development and assists practitioners in determining how to adopt agile development in their organizations

    Overview and Guidance on Agile Development in Large Organizations

    Get PDF
    A continual debate surrounds the effectiveness of agile software development practices. Some organizations adopt agile practices to become more competitive, improve processes, and reduce costs. Other organizations are skeptical about whether agile development is beneficial. Large organizations face an additional challenge in integrating agile practices with existing standards and business processes. To examine the effects of agile development practices in large organizations, we review and integrate scientific literature and theory on agile software development. We further organize our theory and observations into a framework with guidelines for large organizations considering agile methodologies. Based on this framework, we present recommendations that suggest ways large organizations with established processes can successfully implement agile practices. Our analysis of the literature and theory provides new insight for researchers of agile software development and assists practitioners in determining how to adopt agile development in their organizations
    • …
    corecore