582,419 research outputs found
A situational approach and intelligent tool for collaborative requirements elicitation
University of Technology, Sydney. Faculty of Information Technology.Requirements elicitation is a fundamental part of the software development process, and widely regarded as one of its more challenging activities. Many of the current techniques, approaches, and tools are either unknown or too complex for novices, resulting in a significant gap between requirements elicitation theory and practice. Just as important, is the current gap between expert and novice analysts, which can be attributed to the extensive skill set and range of experiences that is often required to successfully conduct this difficult yet vital activity. Consequently, in this research we investigated both the state of the art and the state of practice, in order to develop and evaluate an approach and a tool to support novice analysts elicit requirements for software systems in a workshop environment.
The first stage of the research was a literature review, which involved a thorough review and critical analysis of existing theory on and around the area of requirements elicitation. This was followed by a survey of practice, which consisted of in-depth interviews with experts, and an online questionnaire for novices, used to elicit approach guidelines and tool features. The OUTSET approach was then designed, and the supporting tool MUSTER constructed. The final stage of the research involved the evaluation of the approach and tool through a case study, case study experiment, and formal experiment.
The empirical evaluations conducted showed that using the MUSTER tool improved the overall effectiveness of the requirements elicitation process, while the underlying OUTSET approach improved the overall efficiency. It was also shown that the combination of the approach and tool provided a collective system that was both useful and useable. In the experiment conducted, the MUSTER tool received more than three times the score of the manual tool for effectiveness, and more than double for usability. In addition, the combination of research methods used, and the successful application of Situational Method Engineering (SME) and Group Support System (GSS) principles for the approach and tool respectively, was both novel and unique from any other previous work on requirements elicitation
A Multiview Visualisation Architecture for Open Distributed Systems
Program visualisation is an attractive way for understanding collaboration structures of complex distributed systems. By using the concepts of the open distributed processing-reference model (ODP-RM) as entities for visualisation, a multiview visualisation architecture is presented, which provides a large degree of flexibility in visualising the actions of an ODP system. The architecture has been implemented for visualising the CORBA system resulting in a visualisation tool called OBVlouS
PaPaS: A Portable, Lightweight, and Generic Framework for Parallel Parameter Studies
The current landscape of scientific research is widely based on modeling and
simulation, typically with complexity in the simulation's flow of execution and
parameterization properties. Execution flows are not necessarily
straightforward since they may need multiple processing tasks and iterations.
Furthermore, parameter and performance studies are common approaches used to
characterize a simulation, often requiring traversal of a large parameter
space. High-performance computers offer practical resources at the expense of
users handling the setup, submission, and management of jobs. This work
presents the design of PaPaS, a portable, lightweight, and generic workflow
framework for conducting parallel parameter and performance studies. Workflows
are defined using parameter files based on keyword-value pairs syntax, thus
removing from the user the overhead of creating complex scripts to manage the
workflow. A parameter set consists of any combination of environment variables,
files, partial file contents, and command line arguments. PaPaS is being
developed in Python 3 with support for distributed parallelization using SSH,
batch systems, and C++ MPI. The PaPaS framework will run as user processes, and
can be used in single/multi-node and multi-tenant computing systems. An example
simulation using the BehaviorSpace tool from NetLogo and a matrix multiply
using OpenMP are presented as parameter and performance studies, respectively.
The results demonstrate that the PaPaS framework offers a simple method for
defining and managing parameter studies, while increasing resource utilization.Comment: 8 pages, 6 figures, PEARC '18: Practice and Experience in Advanced
Research Computing, July 22--26, 2018, Pittsburgh, PA, US
Analysis of Feature Models Using Alloy: A Survey
Feature Models (FMs) are a mechanism to model variability among a family of
closely related software products, i.e. a software product line (SPL). Analysis
of FMs using formal methods can reveal defects in the specification such as
inconsistencies that cause the product line to have no valid products. A
popular framework used in research for FM analysis is Alloy, a light-weight
formal modeling notation equipped with an efficient model finder. Several works
in the literature have proposed different strategies to encode and analyze FMs
using Alloy. However, there is little discussion on the relative merits of each
proposal, making it difficult to select the most suitable encoding for a
specific analysis need. In this paper, we describe and compare those strategies
according to various criteria such as the expressivity of the FM notation or
the efficiency of the analysis. This survey is the first comparative study of
research targeted towards using Alloy for FM analysis. This review aims to
identify all the best practices on the use of Alloy, as a part of a framework
for the automated extraction and analysis of rich FMs from natural language
requirement specifications.Comment: In Proceedings FMSPLE 2016, arXiv:1603.0857
SmartUnit: Empirical Evaluations for Automated Unit Testing of Embedded Software in Industry
In this paper, we aim at the automated unit coverage-based testing for
embedded software. To achieve the goal, by analyzing the industrial
requirements and our previous work on automated unit testing tool CAUT, we
rebuild a new tool, SmartUnit, to solve the engineering requirements that take
place in our partner companies. SmartUnit is a dynamic symbolic execution
implementation, which supports statement, branch, boundary value and MC/DC
coverage. SmartUnit has been used to test more than one million lines of code
in real projects. For confidentiality motives, we select three in-house real
projects for the empirical evaluations. We also carry out our evaluations on
two open source database projects, SQLite and PostgreSQL, to test the
scalability of our tool since the scale of the embedded software project is
mostly not large, 5K-50K lines of code on average. From our experimental
results, in general, more than 90% of functions in commercial embedded software
achieve 100% statement, branch, MC/DC coverage, more than 80% of functions in
SQLite achieve 100% MC/DC coverage, and more than 60% of functions in
PostgreSQL achieve 100% MC/DC coverage. Moreover, SmartUnit is able to find the
runtime exceptions at the unit testing level. We also have reported exceptions
like array index out of bounds and divided-by-zero in SQLite. Furthermore, we
analyze the reasons of low coverage in automated unit testing in our setting
and give a survey on the situation of manual unit testing with respect to
automated unit testing in industry.Comment: In Proceedings of 40th International Conference on Software
Engineering: Software Engineering in Practice Track, Gothenburg, Sweden, May
27-June 3, 2018 (ICSE-SEIP '18), 10 page
The VEX-93 environment as a hybrid tool for developing knowledge systems with different problem solving techniques
The paper describes VEX-93 as a hybrid environment for developing
knowledge-based and problem solver systems. It integrates methods and
techniques from artificial intelligence, image and signal processing and
data analysis, which can be mixed. Two hierarchical levels of reasoning
contains an intelligent toolbox with one upper strategic inference engine
and four lower ones containing specific reasoning models: truth-functional
(rule-based), probabilistic (causal networks), fuzzy (rule-based) and
case-based (frames). There are image/signal processing-analysis capabilities
in the form of programming languages with more than one hundred primitive
functions.
User-made programs are embeddable within knowledge basis, allowing the
combination of perception and reasoning. The data analyzer toolbox contains
a collection of numerical classification, pattern recognition and ordination
methods, with neural network tools and a data base query language at
inference engines's disposal.
VEX-93 is an open system able to communicate with external computer programs
relevant to a particular application. Metaknowledge can be used for
elaborate conclusions, and man-machine interaction includes, besides windows
and graphical interfaces, acceptance of voice commands and production of
speech output.
The system was conceived for real-world applications in general domains, but
an example of a concrete medical diagnostic support system at present under
completion as a cuban-spanish project is mentioned.
Present version of VEX-93 is a huge system composed by about one and half
millions of lines of C code and runs in microcomputers under Windows 3.1.Postprint (published version
A Review of State-of-the-Art Large Sized Foam Cutting Rapid Prototyping and Manufacturing Technologies.
Purpose – Current additive rapid prototyping (RP) technologies fail to efficiently produce objects greater than 0.5?m3 due to restrictions in build size, build time and cost. A need exists to develop RP and manufacturing technologies capable of producing large objects in a rapid manner directly from computer-aided design data. Foam cutting RP is a relatively new technology capable of producing large complex objects using inexpensive materials. The purpose of this paper is to describe nine such technologies that have been developed or are currently being developed at institutions around the world. The relative merits of each system are discussed. Recommendations are given with the aim of enhancing the performance of existing and future foam cutting RP systems.
Design/methodology/approach – The review is based on an extensive literature review covering academic publications, company documents and web site information.
Findings – The paper provides insights into the different machine configurations and cutting strategies. The most successful machines and cutting strategies are identified.
Research limitations/implications – Most of the foam cutting RP systems described have not been developed to the commercial level, thus a benchmark study directly comparing the nine systems was not possible.
Originality/value – This paper provides the first overview of foam cutting RP technology, a field which is over a decade old. The information contained in this paper will help improve future developments in foam cutting RP systems
Implementing Rapid Prototyping Using CNC Machining (CNC-RP) Through a CAD/CAM Interface
This paper presents the methodology and implementation of a rapid machining system using a
CAD/CAM interface. Rapid Prototyping using CNC Machining (CNC-RP) is a method that has
been developed which enables automatic generation of process plans for a machined component.
The challenge with CNC-RP is not the technical problems of material removal, but with all of
the required setup, fixture and toolpath planning, which has previously required a skilled
machinist. Through the use of advanced geometric algorithms, we have implemented an
interface with a CAD/CAM system that allows true automatic NC code generation directly from
a CAD model with no human interaction; a capability necessary for a practical rapid prototyping
system.Mechanical Engineerin
- …