95,356 research outputs found
Ada education in a software life-cycle context
Some of the experience gained from a comprehensive educational program undertaken at The Charles Stark Draper Lab. to introduce the Ada language and to transition modern software engineering technology into the development of Ada and non-Ada applications is described. Initially, a core group, which included manager, engineers and programmers, received training in Ada. An Ada Office was established to assume the major responsibility for training, evaluation, acquisition and benchmarking of tools, and consultation on Ada projects. As a first step in this process, and in-house educational program was undertaken to introduce Ada to the Laboratory. Later, a software engineering course was added to the educational program as the need to address issues spanning the entire software life cycle became evident. Educational efforts to date are summarized, with an emphasis on the educational approach adopted. Finally, lessons learned in administering this program are addressed
A reverse engineering process for mechanical engineering systems
This thesis presents a literature review of current reverse engineering technologies and processes, with an emphasis on tools commonly used in Software Reverse Engineering (SRE). Using the foundation of the literature review, the thesis will then propose a standard process, referred to as A Reverse Engineering Process for Mechanical Engineering Systems (REPMES). The REPMES tool is intended to enable engineers to understand how current products work. Additionally, REPMES may allow engineering design teams to more effectively revise their product designs through competitive benchmarking. The REPMES is illustrated through application to case studies of a consumer flashlight and an automotive torque converter. Unlike the field of Software Reverse Engineering (SRE), there is not currently a published standardized procedure to successfully implement reverse engineering of mechanical engineering systems. The REPMES process introduced here differs from SRE in that the target for SRE is to understand the inner workings of a computer program or system. However, REPMES has to account for the materials used, the limitations of the same materials, the physical conditions under which the system must operate, the mean time between failure, manufacturing processes and tolerances, and a variety of other factors not typically encountered in software systems. Following the introduction and illustration of REPMES using the flashlight case study, the REPMES tool will be applied to the analysis of a traditional mechanical device, a torque converter, to evaluate the robustness of the REPMES in the context of a typical application. Use of the REPMES will be demonstrated to provide a thorough understanding of torque converter operation, design, and manufacturing. The REPMES structure will be employed to provide a list of recommended improvements to the baseline torque converter, following benchmarking against competitive technologies
Business process quality measurement using advances in static code analysis
Business process models play an important role in the life of a company. Resemblances between software programs and business processes inspired several researchers to adapt software metrics from the field of static code analysis to help designers to build more effective and understandable processes. This paper aims to add recent advances in software quality measurement such as benchmarking and ISO/IEC 25010 standard based quality models to business process quality measurement. These techniques were proved to be very useful in software engineering both for managers and developers; moreover, they can be easily adopted to business process workflows. We focused on a specific type of flowchart called event-driven process chain (EPC), because in an EPC the activities are very often managed by software systems and our assumption is that the quality of these software systems affects the quality of the EPC itself. The presented business process quality model also uses the quality and test coverage metrics of these software systems besides business process metrics
Benchmarking of project planning and success in selected industries
Purpose - To identify the industry in which projects are best planned and executed and use it as a benchmark for improving project planning in other industries. Design/methodology/approach - Based on data collected from 280 project managers, project success and quality of project planning were evaluated and analyzed for four industries - construction and engineering, software and communications, services, and production and maintenance. Findings - Quality of project planning was found to be the highest in construction and engineering organizations and the lowest in manufacturing organizations. This is a result of a few factors, among them the intensive organizational support which is offered to project managers working in construction and engineering organizations. The other three industries limit their support mostly to tactical aspects, such as the purchasing of project management software. The high quality of project planning in the construction and engineering organizations resulted in their ability to complete projects by almost half the cost and schedule overruns, as compared to organizations belonging to the other industries. Finally, results of the industries in Israel and Japan are compared and analyzed. Research limitations/implications - Findings are limited to the four industries included in the study. Practical implications - If organizations, not belonging to the construction industry, wish to improve the probability of success in project planning and execution, they should follow methodologies commonly used in the construction industry. Originality/value - This paper introduces a valid field study, exploring project management practices in four industries and identifies the one which may be used as a benchmark for the others. It also identifies specific strengths and weaknesses in project management within the explored industries
Recommended from our members
Assessing Asymmetric Fault-Tolerant Software
The most popular forms of fault tolerance against design faults use "asymmetric" architectures in which a "primary" part performs the computation and a "secondary" part is in charge of detecting errors and performing some kind of error processing and recovery. In contrast, the most studied forms of software fault tolerance are "symmetric" ones, e.g. N-version programming. The latter are often controversial, the former are not. We discuss how to assess the dependability gains achieved by these methods. Substantial difficulties have been shown to exist for symmetric schemes, but we show that the same difficulties affect asymmetric schemes. Indeed, the latter present somewhat subtler problems. In both cases, to predict the dependability of the fault-tolerant system it is not enough to know the dependability of the individual components. We extend to asymmetric architectures the style of probabilistic modeling that has been useful for describing the dependability of "symmetric" architectures, to highlight factors that complicate the assessment. In the light of these models, we finally discuss fault injection approaches to estimating coverage factors. We highlight the limits of what can be predicted and some useful research directions towards clarifying and extending the range of situations in which estimates of coverage of fault tolerance mechanisms can be trusted
Reducing the Barrier to Entry of Complex Robotic Software: a MoveIt! Case Study
Developing robot agnostic software frameworks involves synthesizing the
disparate fields of robotic theory and software engineering while
simultaneously accounting for a large variability in hardware designs and
control paradigms. As the capabilities of robotic software frameworks increase,
the setup difficulty and learning curve for new users also increase. If the
entry barriers for configuring and using the software on robots is too high,
even the most powerful of frameworks are useless. A growing need exists in
robotic software engineering to aid users in getting started with, and
customizing, the software framework as necessary for particular robotic
applications. In this paper a case study is presented for the best practices
found for lowering the barrier of entry in the MoveIt! framework, an
open-source tool for mobile manipulation in ROS, that allows users to 1)
quickly get basic motion planning functionality with minimal initial setup, 2)
automate its configuration and optimization, and 3) easily customize its
components. A graphical interface that assists the user in configuring MoveIt!
is the cornerstone of our approach, coupled with the use of an existing
standardized robot model for input, automatically generated robot-specific
configuration files, and a plugin-based architecture for extensibility. These
best practices are summarized into a set of barrier to entry design principles
applicable to other robotic software. The approaches for lowering the entry
barrier are evaluated by usage statistics, a user survey, and compared against
our design objectives for their effectiveness to users
- …