articles+ search results
51 articles+ results
1 - 20
Next
Number of results to display per page
-
Bader, Brett W. and Kolda, Tamara G.
- ACM Transactions on Mathematical Software. Dec 2006, Vol. 32 Issue 4, p635, 19 p.
- Subjects
-
Algorithm, MatLab (Statistical/mathematical software) -- Usage, Algorithms -- Analysis, and Algorithms -- Usage
- Abstract
-
Tensors (also known as multidimensional arrays or N-way arrays) are used in a variety of applications ranging from chemometrics to psychometrics. We describe four MATLAB classes for tensor manipulations that can be used for fast algorithm prototyping. The tensor class extends the functionality of MATLAB's multidimensional arrays by supporting additional operations such as tensor multiplication. The tensor_as_matrix class supports the 'matricization' of a tensor, that is, the conversion of a tensor to a matrix (and vice versa), a commonly used operation in many algorithms. Two additional classes represent tensors stored in decomposed formats: cp_tensor and tucker_tensor. We describe all of these classes and then demonstrate their use by showing how to implement several tensor algorithms that have appeared in the literature. Categories and Subject Descriptors: G.4 [Mathematics of Computing]: Mathematical Software--Algorithm design and analysis; G.1.m [Mathematics of Computing]: Numerical Analysis--Miscellaneous General Terms: Algorithms Additional Key Words and Phrases: Higher-order tensors, multilinear algebra, N-way arrays, MATLAB
- Full text View on content provider's site
2. ProtoMol, an object-oriented framework for prototyping novel algorithms for molecular dynamics [2004]
-
Matthey, Thierry, Cickovski, Trevor, Hampton, Scott, Ko, Alice, Ma, Qun, Nyerges, Matthew, Raeder, Troy, Slabach, Thomas, and Izaguirre, Jesus A.
- ACM Transactions on Mathematical Software. Sept, 2004, Vol. 30 Issue 3, p237, 29 p.
- Subjects
-
Computer programming, Algorithm, and Algorithms
- Abstract
-
PROTOMOL is a high-performance framework in C++ for rapid prototyping of novel algorithms for molecular dynamics and related applications. Its flexibility is achieved primarily through the use of inheritance and design patterns (object-oriented programming). Performance is obtained by using templates that enable generation of efficient code for sections critical to performance (generic programming). The framework encapsulates important optimizations that can be used by developers, such as parallelism in the force computation. Its design is based on domain analysis of numerical integrators for molecular dynamics (MD) and of fast solvers for the force computation, particularly due to electrostatic interactions. Several new and efficient algorithms are implemented in PROTOMOL. Finally, it is shown that PROTOMOL'S sequential performance is excellent when compared to a leading MD program, and that it scales well for moderate number of processors. Binaries and source codes for Windows, Linux, Solaris, IRIX, HP-UX, and AIX platforms are available under open source license at http://protomol, sourceforge.net. Categories and Subject Descriptors: D.1.5 [Programming Techniques]: Object-oriented programming; D.2.11 [Software Engineering]: Software Architectures--Domain specific architectures; D.2.13 [Software Engineering]: Reusable Software--Reusable libraries; G.1.7 [Numerical Analysis]: Ordinary Differential Equations--Multistep and multivalue methods; G.4 [Mathematical Software]:Algorithm design and analysis, efficiency, parallel and vector implementations, user interfaces; J.2 [Physical Sciences and Engineering]: Chemistry, Physics; J.3 [Life and Medical Sciences]: Biology and Genetics General Terms: Algorithms, Design, Performance Additional Key Words and Phrases: Fast electrostatic methods, incremental parallelism, molecular dynamics, multigrid, multiple time-stepping integration, object-oriented framework.
- Full text View on content provider's site
-
Sequin, Carol H.
- Communications of the ACM. June 2005, Vol. 48 Issue 6, p66, 8 p.
- Subjects
-
Technology application, Visualization (Computers) -- Analysis, Transportation equipment industry -- Technology application, and Consumer goods -- Design and construction
- Abstract
-
The emerging affordable rapid prototyping (RP) technologies have established in the automotive industry and designers of , including household appliances, toys, and electronic. Representing geometrical shapes in the form of computer model offers several advantages to any kind of design.
- Full text
View/download PDF
-
Wright, Paul K.
- Communications of the ACM. June 2005, Vol. 48 Issue 6, p36, 5 p.
- Subjects
-
Time to market, Technology application, Product development -- Methods, Product development -- Technology application, and Consumer goods -- Design and construction
- Abstract
-
Rapid prototyping plays a critical role in the development of the economic cycle. A succession of prototypes reflecting seven and delight factors mentioned are, consumer in mind, feel of a product, physical prototypes, not through simulation alone, prototypes, development cycle, and changing design.
- Full text
View/download PDF
-
Kearfott, R. Baker
- ACM Transactions on Mathematical Software. March 1995, Vol. 21 Issue 1, p63, 16 p. program
- Subjects
-
Mathematical software -- Usage, FORTRAN -- Usage, Mathematical programming -- Research, and Algorithms -- Research
- Abstract
-
A system consisting of an interval data type and a symbolic form of automatic repeating differentiation is being developed for research algorithms, using Fortran 90, to solve numerical nonlinear equation and global optimization codes. This system also provides extensive data structures to remove the programming burden.
- Full text View on content provider's site
6. Prototyping for tiny fingers [1994]
-
Rettig, Marc
- Communications of the ACM. April 1994, Vol. 37 Issue 4, p21, 7 p. photograph
- Subjects
-
User interface, New Technique, Software Design, User Need, Testing, and User interface -- Design and construction
- Abstract
-
Low-fidelity (low-fi) prototyping for interface design and testing is a viable alternative to hard-coding methods that can be costly and time-consuming. This technique involves constructing paper models of various interface components that can be arranged in various combinations. At the same time, users are on hand to evaluate the proposed layouts, along with a video camera and a note-taker to document the proceedings. Coded prototypes are more realistic, but there are substantial drawbacks, such as the time needed to affect changes, the tendency of testers to focus on trivial attributes, developer resistance to change, and the risk that a single bug will halt the testing process entirely. A low-fi prototyping effort needs a kit comprising white paper, adhesives, sticky note pads, markers, acetate sheets and construction tools such as tape, scissors and X-acto knives.
- Full text View on content provider's site
-
Madsen, Kim Halskov and Aiken, Peter H.
- Communications of the ACM. June 1993, Vol. 36 Issue 4, p57, 8 p. chart
- Subjects
-
Participative Management, End User, Prototype, Interactive Systems, User Interface, Videocassette Recorders, System design, Video tape recorders and recording -- Design and construction, and System design -- Management
- Abstract
-
Many video cassette recorder (VCR) owners cannot even set the clock properly. As a result, it is estimated that only three percent of television viewing time involves programs recorded by users. Inadequate VCR interfaces is cited as the cause of much of the problem. The loss of potential recording tape sales is one effect of the unfriendly user interfaces. Participatory design (PD) techniques and storyboard prototyping have both been used to address the problem. Storyboards can be used in the development of a computer system in order to encourage criticism and comment from designers and users. The Cooperative Interactive Storyboarding Prototyping (CISP) approach involves users in the development of a prototype interface. Detailed is an overview of storyboard prototyping.
- Full text View on content provider's site
-
Dupuy, Alexander, Schwartz, Jed, Yemini, Yechiam, and Bacon, David
- Communications of the ACM. Oct 1990, Vol. 33 Issue 10, p63, 12 p. chart Overall architecture of NEST.
- Subjects
-
Distributed Processing, Simulation of Computer Systems, Operating Environments, Graphics Languages, Network Models, Distributed processing (Computers) -- Innovations, Computer networks -- Models, Programming languages -- Computer graphics, and Computer simulation
- Abstract
-
Agraphical language environment called Network Simulation Testbed (NEST) and its use in simulating and modeling distributed computer networks are analyzed. NEST helps distributed system designers simulate and create network operations in a UNIX environment, using an environment-based approach rather than the more typical language- or model-based methods. Various load configurations and failure responses in on-line transaction processing can be manipulated with simulated prototypes. NEST includes standard monitor tools to develop the network simulation and link it to communication and node functions written in the C programming language by the designer. The programming or the graphics tools manipulation can be used to alter the simulation to examine and test different conditions. NEST acts not only as a simulator for arbitrary network architectures but also as a prototyping tool for actual system development.
- Full text View on content provider's site
-
Wiil, Uffe K
- Communications of the ACM. August 1995, Vol. 38 Issue 8, p109, 3 p. chart
- Subjects
-
Interactive media -- Models
- Abstract
-
Hyperform is a dynamic, open and distributed multiuser hypermedia application development environment aimed at rapid prototyping of multimedia services. It is based on the concepts of extensibility, tailorability and rapid prototyping of data models, hyperbase management systems (HBMS) and system architectures. The Hyperform development environment comprises multiple instances of an HBMS, a tool integrator and editors.
- Full text View on content provider's site
-
HASSELBRING, WILHELM
- ACM Computing Surveys. March 2000, Vol. 32 Issue 1, 43
- Subjects
-
Computer network equipment industry -- Product development, Programming languages -- Analysis, Prototypes, Engineering -- Analysis, Computer science -- Research, and Concurrent engineering -- Analysis
- Abstract
-
1. INTRODUCTION During the last decades, particular attention has been focused on concurrent programming within the computer science community. A concurrent program specifies two or more processes that cooperate in [...]
Concurrent programming is conceptually harder to undertake and to understand than sequential programming, because a programmer has to manage the coexistence and coordination of multiple concurrent activities. To alleviate this task several high-level approaches to concurrent programming have been developed. For some high-level programming approaches, prototyping for facilitating early evaluation of new ideas is a central goal. Prototyping is used to explore the essential features of a proposed system through practical experimentation before its actual implementation to make the correct design choices early in the process of software development. Approaches to prototyping concurrent applications with very high-level programming systems intend to alleviate the development in different ways. Early experimentation with alternate design choices or problem decompositions for concurrent applications is suggested to make concurrent programming easier. This paper presents a survey of programming languages and systems for prototyping concurrent applications to review the state of the art in this area. The surveyed approaches are classified with respect to the prototyping process. Categories and Subject Descriptors: D.1.3 [Programming Techniques]: Concurrent Programming -- Parallel programming; Distributed programming; D.2.1 [Software Engineering]: Requirements/Specifications; D.2.2 [Software Engineering]: Design Tools and Techniques -- Computer-aided software engineering (CASE); Petri nets; Software libraries; D.2.6 [Software Engineering]: Programming Environments -- Interactive environments; D.3.2 [Programming Languages]: Language Classifications -- Concurrent, distributed, and parallel languages; Very high-level languages; D.3.3 [Programming Languages]: Language Constructs and Features -- Concurrent programming structures General Terms: Languages Additional Key Words and Phrases: Concurrency, distribution, parallelism, rapid prototyping, very high-level languages
- Full text View on content provider's site
11. User participation in prototyping [1993]
-
Harker, Susan
- Communications of the ACM. June 1993, Vol. 36 Issue 4, p77, 1 p.
- Subjects
-
Participative Management, End User, Social Issue, System design, and System design -- Management
- Abstract
-
The prototyping of both technical and social structures is unusual, even for participatory design (PD). HUSAT developed a strategic program of user-centered system design for a United Kingdom government department's interactive case handling system. A prototyping exercise provided user feedback to the designers. Detailed is an overview of the HUSAT project. Three issues revealed themselves as a result of the user-centered design strategy. User representatives are able to conduct prototyping activities, after receiving some training, even if they are not human factors specialists. Also, the prototype developed gave a clear indication of work organization issues that could be used by management. Additionally, the project shows that prototyping socio-technical systems is a valuable source of information.
- Full text View on content provider's site
-
Alavi, M.
- Communications of the ACM. June 1984, Vol. 27 Issue 6, p556
- Subjects
-
System Development, Prototype, System Design, Comparative Study, User Survey, User Studies, Information Systems, and Project Management Software
- Abstract
-
The prototyping approach is gaining popularity in the field of information system development. Field interviews with organizations which have used prototyping show that users are enthusiastic but designers find it difficult to manage. The lack of comparative data between prototyping and life-cycle approaches prompted an experiment to explore both. An information system was developed with half of the designers using prototyping and half using the life cycle approach. Results indicate that users felt more involved and enthusiastic about the system with the prototyping approach. Designers perceived more changes and less control of the design process with prototyping.
- Full text View on content provider's site
-
Wileden, Jack C., Clarke, Lori A., and Wolf, Alexander L.
- ACM Transactions on Programming Languages & Systems. Oct 1990, Vol. 12 Issue 4, p670, 30 p. table Range of techniques.
- Subjects
-
Software Engineering, Prototype, Large-Scale Systems, Data Structures, Graphs, and Reliability
- Abstract
-
Interest in applying prototyping to the development of large-scale, production software is increasing. This brings with it a corresponding increase in efforts to develop suitable languages and tools for prototyping. Rapid development and easy modification are the two fundamental requirements for prototyping software systems. Techniques for defining data objects can be specification described, implementation described, or value described. Three implementations of object definition techniques are IRIS, a graph-based scheme to represent the semantics of software-system descriptions; GRAPHITE, a system to generate packages to manipulate directed graphs; and PIC, a language framework and analysis technique to precisely describe and analyze module interfaces.
- Full text View on content provider's site
-
Kroshko, Andrew and Spiteri, Raymond J.
- ACM Transactions on Mathematical Software. Fall, 2015, Vol. 41 Issue 3, p17, 33 p.
- Subjects
-
Differential equations -- Analysis, Java (Computer program language) -- Analysis, and Problem solving -- Analysis
- Abstract
-
Problem-solving environments (PSEs) offer a powerful yet flexible and convenient means for general experimentation with computational methods, algorithm prototyping, and visualization and manipulation of data. Consequently, PSEs have become the modus operandi of many computational scientists and engineers. However, despite these positive aspects, PSEs typically do not offer the level of granularity required by the specialist or algorithm designer to conveniently modify the details. In other words, the level at which PSEs are black boxes is often still too high for someone interested in modifying an algorithm as opposed to trying an alternative. In this article, we describe odeToJava, a Java-based PSE for initial-value problems in ordinary differential equations. odeToJava implements explicit and linearly implicit implicit-explicit Runge-Kutta methods with error and stepsize control and intra-step interpolation (dense output), giving the user control and flexibility over the implementational aspects of these methods. We illustrate the usage and functionality of odeToJava by means of computational case studies of initial-value problems (IVPs). Categories and Subject Descriptors: D.2.11 [Software Engineering]: Software Architectures--Domain-specific architectures; Patterns; G.1.7 [Numerical Analysis]: Ordinary Differential Equations--Initial value problems; One-step (single step) methods; G.4 [Mathematical Software]: Algorithm design and analysis; User interfaces General Terms: Algorithms, Design, Experimentation Additional Key Words and Phrases: Adaptive integration, additive Runge-Kutta, geometric integration, object-oriented, problem solving environment, Runge-Kutta, software architecture, stepsize-control, Stormer-Verlet DOI: http://dx.doi.org/10.1145/2641563
- Full text View on content provider's site
-
Bell, Nathan and Hirani, Anil N.
- ACM Transactions on Mathematical Software. Spring, 2013, Vol. 39 Issue 1, p3, 41 p.
- Subjects
-
Statistical/mathematical software, Algorithm, Mathematical software -- Usage, Calculus -- Research, Algebraic topology -- Research, Topology -- Research, and Algorithms -- Usage
- Abstract
-
This article describes the algorithms, features, and implementation of PyDEC, a Python library for computations related to the discretization of exterior calculus. PyDEC facilitates inquiry into both physical problems on manifolds as well as purely topological problems on abstract complexes. We describe efficient algorithms for constructing the operators and objects that arise in discrete exterior calculus, lowest-order finite element exterior calculus, and in related topological problems. Our algorithms are formulated in terms of high-level matrix operations which extend to arbitrary dimension. As a result, our implementations map well to the facilities of numerical libraries such as NumPy and SciPy. The availability of such libraries makes Python suitable for prototyping numerical methods. We demonstrate how PyDEC is used to solve physical and topological problems through several concise examples. Categories and Subject Descriptors: G.4 [Mathematical Software]: ; G.1.8 [Numerical Analysis]: Partial Differential Equations--Finite element methods, finite volume methods; I.3.5 [Computer Graphics]: Computational Geometry and Object Modeling--Geometric algorithms, languages, and systems General Terms: Algorithms, Theory, Experimentation, Design Additional Key Words and Phrases: Discrete exterior calculus, finite element exterior calculus, Whitney form, simplicial complex, cubical complex, Vietoris-Rips complex, computational topology, boundary operator, coboundary operator, chain, cochain DOI = 10.1145/2382585.2382588 http://doi.acm.org/10.1145/2382585.2382588
- Full text View on content provider's site
16. Parsing and compiling using Prolog [1987]
-
Cohen, Jacques and Hickey, Timothy J.
- ACM Transactions on Programming Languages & Systems. April 1987, Vol. 9 Issue 2, p125, 39 p. table Peephole optimization.
- Subjects
-
Programming Language, PROLOG, Compiler/decompiler, and Algorithm
- Abstract
-
The use of Prolog as a language offers advantages for describing succinctly most of the algorithms needed in prototyping and implementing compilers, or producing tools that facilitate the task of compiling. One approach in implementing compilers using Prolog consists of coupling actions to recursive descent parsers to produce syntax-trees, which are utilized in guiding the generation of assembly code. Prolog is not only used in parsing and compiling, but is a labor-saving device in prototyping and implementing many non-numerical algorithms which arise in compiling. Unification and nondeterminism as means to circumvent costly unnecessary features are also discussed. Other topics include: bottom-up and top-down parsers; syntax-directed translation; grammar properties; code generation; and newly proposed features for compiler construction.
- Full text View on content provider's site
17. Personal Fabrication [2017]
-
Mueller, Stephanie and Baudisch, Patrick
- Communications of the ACM. Oct 2017, Vol. 60 Issue 10, p48, 2 p.
- Subjects
-
Technology application, Market trend/market analysis, 3D printing -- Usage, and Human-computer interaction -- Forecasts and trends
- Abstract
-
A selection of studies on advances in personalized fabrication is presented. Personal fabrication can allow nontechnical users to use 3D printers in the future to create objects that currently only trained experts can create. The selection spans new technologies for fabricating complex materials, for more easily specifying object shape and behavior, and human-in-the loop rapid prototyping.
- Full text
View/download PDF
-
Jonasson, Kristjan
- ACM Transactions on Mathematical Software. Spring, 2010, Vol. 36 Issue 1, p6, 7 p.
- Subjects
-
Algorithm, Algorithms -- Methods, Algorithms -- Usage, Matrices -- Methods, and Matrices -- Usage
- Abstract
-
A standard Fortran 95 module for printing scalars, vectors, and matrices to external files is provided. The module can display variables of default kind of all intrinsic types (integer, real, complex, logical, and character), and add-on modules are provided for data of the nondefault kind. The main module is self-contained and incorporating it only requires that it be compiled and linked with a program containing a 'use dispmodule' statement. A generic interface and optional parameters are used, so that the same subroutine name, DISP, is used to display items of different data type and rank, irrespective of display options. The subroutine is quite versatile, and hopefully can improve Fortran's competitiveness against other array programming languages. The module also contains a function TOSTRING to convert numerical scalars and vectors to strings. Categories and Subject Descriptors: D.2.2 [Software Engineering]: Design Tools and Techniques--Software libraries; D.2.5 [Software Engineering]: Testing and Debugging--Debugging aids; D.4.4 [Operating Systems]: Communications Management--Input/output; D.3 [Programming Languages]; E.1 [Data Structures]--Arrays; G.4 [Mathematical Software]--User interfaces; H.5.2 [Information Interfaces and Presentation]: User Interfaces--Prototyping, screen design (e.g., text, graphics, color), user-centered design General Terms: Algorithms, Design Additional Key Words and Phrases: Fortran 95, matrix pretty-printing, matrix printing, output utilities, array programming language ACM Reference Format: Jonasson, K. 2009. Algorithm 892: DISPMODULE, a Fortran 95 module for pretty-printing matrices. ACM Trans. Math. Softw. 36, 1, Article 6 (March 2009), 7 pages. DOI = 10.1145/1486525.1486531 http://doi.acm.org/10.1145/1486525.1486531
- Full text View on content provider's site
19. Answer set programming at a glance [2011]
-
Brewka, Gerhard, Eiter, Thomas, and Truszczynski, Miroslaw
- Communications of the ACM. Dec 2011, Vol. 54 Issue 12, p93, 11 p.
- Subjects
-
Computer programming and Computer programming -- Methods
- Abstract
-
Answer set programming provides a simple and intuitive language which comes with processing software for programs in the language. It puts together efficient solving tools, a model-based problem specification methodology and an expressive representation language. The answer set programming language supports rapid development and prototyping of software aimed at solving optimization and search problems.
- Full text View on content provider's site
20. 'Equal opportunity' PD using PICTIVE [1993]
-
Muller, Michael J., Wildman, Daniel M., and White, Ellen A.
- Communications of the ACM. June 1993, Vol. 36 Issue 4, p64, 2 p.
- Subjects
-
End User, Participative Management, System design, and System design -- Management
- Abstract
-
A low-tech participatory design (PD) technique that was created in response to rapid prototyping and the Scandinavian mock-up approaches is termed PICTIVE (Plastic Interface for Collaborative Technology Initiatives through Video Exploration). A technology environment for design activity is not involved in PICTIVE, unlike rapid prototyping, in which users have to express their views through an third-party. Like other mock-up approaches, PICTIVE uses low tech objects so users are not at a disadvantage. However, PICTIVE places more of the initiative directly in users' hands with the intention of providing an equal opportunity design environment for all those participating. Detailed is an overview of the PICTIVE approach, Areas discussed include the PICTIVE object model, the process model and the participation model.
- Full text View on content provider's site
Catalog
Books, media, physical & digital resources
Guides
Course- and topic-based guides to collections, tools, and services.
1 - 20
Next