22,374 research outputs found
Spacelab software development and integration concepts study report, volume 1
The proposed software guidelines to be followed by the European Space Research Organization in the development of software for the Spacelab being developed for use as a payload for the space shuttle are documented. Concepts, techniques, and tools needed to assure the success of a programming project are defined as they relate to operation of the data management subsystem, support of experiments and space applications, use with ground support equipment, and for integration testing
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
A heuristic-based approach to code-smell detection
Encapsulation and data hiding are central tenets of the object oriented paradigm. Deciding what data and behaviour to form into a class and where to draw the line between its public and private details can make the difference between a class that is an understandable, flexible and reusable abstraction and one which is not. This decision is a difficult one and may easily result in poor encapsulation which can then have serious implications for a number of system qualities. It is often hard to identify such encapsulation problems within large software systems until they cause a maintenance problem (which is usually too late) and attempting to perform such analysis manually can also be tedious and error prone. Two of the common encapsulation problems that can arise as a consequence of this decomposition process are data classes and god classes. Typically, these two problems occur together – data classes are lacking in functionality that has typically been sucked into an over-complicated and domineering god class. This paper describes the architecture of a tool which automatically detects data and god classes that has been developed as a plug-in for the Eclipse IDE. The technique has been evaluated in a controlled study on two large open source systems which compare the tool results to similar work by Marinescu, who employs a metrics-based approach to detecting such features. The study provides some valuable insights into the strengths and weaknesses of the two approache
Ship product modelling
This paper is a fundamental review of ship product modeling techniques with a focus on determining the state of the art, to identify any shortcomings and propose future directions. The review addresses ship product data representations, product modeling techniques and integration issues, and life phase issues. The most significant development has been the construction of the ship Standard for the Exchange of Product Data (STEP) application protocols. However, difficulty has been observed with respect to the general uptake of the standards, in particular with the application to legacy systems, often resulting in embellishments to the standards and limiting the ability to further exchange the product data. The EXPRESS modeling language is increasingly being superseded by the extensible mark-up language (XML) as a method to map the STEP data, due to its wider support throughout the information technology industry and its more obvious structure and hierarchy. The associated XML files are, however, larger than those produced using the EXPRESS language and make further demands on the already considerable storage required for the ship product model. Seamless integration between legacy applications appears to be difficult to achieve using the current technologies, which often rely on manual interaction for the translation of files. The paper concludes with a discussion of future directions that aim to either solve or alleviate these issues
BPM, Agile, and Virtualization Combine to Create Effective Solutions
The rate of change in business and government is accelerating. A number of
techniques for addressing that change have emerged independently to provide for
automated solutions in this environment. This paper will examine three of the
most popular of these technologies-business process management, the agile
software development movement, and infrastructure virtualization-to expose the
commonalities in these approaches and how, when used together, their combined
effect results in rapidly deployed, more successful solutions
GUIsurfer : a reverse engineering framework for user interface software
GUIsurfer: A Reverse Engineering Framework for User Interface Softwar
Spud 1.0: generalising and automating the user interfaces of scientific computer models
The interfaces by which users specify the scenarios to be simulated by scientific computer models are frequently primitive, under-documented and ad-hoc text files which make using the model in question difficult and error-prone and significantly increase the development cost of the model. In this paper, we present a model-independent system, Spud, which formalises the specification of model input formats in terms of formal grammars. This is combined with an automated graphical user interface which guides users to create valid model inputs based on the grammar provided, and a generic options reading module, libspud, which minimises the development cost of adding model options. <br><br> Together, this provides a user friendly, well documented, self validating user interface which is applicable to a wide range of scientific models and which minimises the developer input required to maintain and extend the model interface
- …