582,419 research outputs found

    A situational approach and intelligent tool for collaborative requirements elicitation

    Full text link
    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

    Get PDF
    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

    Full text link
    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

    Full text link
    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

    Full text link
    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

    Get PDF
    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.

    Get PDF
    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

    Get PDF
    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
    • …
    corecore