5,971 research outputs found
KARL: A Knowledge-Assisted Retrieval Language
Data classification and storage are tasks typically performed by application specialists. In contrast, information users are primarily non-computer specialists who use information in their decision-making and other activities. Interaction efficiency between such users and the computer is often reduced by machine requirements and resulting user reluctance to use the system. This thesis examines the problems associated with information retrieval for non-computer specialist users, and proposes a method for communicating in restricted English that uses knowledge of the entities involved, relationships between entities, and basic English language syntax and semantics to translate the user requests into formal queries. The proposed method includes an intelligent dictionary, syntax and semantic verifiers, and a formal query generator. In addition, the proposed system has a learning capability that can improve portability and performance. With the increasing demand for efficient human-machine communication, the significance of this thesis becomes apparent. As human resources become more valuable, software systems that will assist in improving the human-machine interface will be needed and research addressing new solutions will be of utmost importance. This thesis presents an initial design and implementation as a foundation for further research and development into the emerging field of natural language database query systems
A common distributed language approach to software integration
An important objective in software integration is the development of techniques to allow programs written in different languages to function together. Several approaches are discussed toward achieving this objective and the Common Distributed Language Approach is presented as the approach of choice
Recommended from our members
Steps to an advanced Ada programming environment
Conceptual simplicity, tight coupling of tools, and effective support of host-target software development will characterize advanced Ada programming support environments. Several important principles have been demonstrated in the Arcturus system, including template-assisted Ada editing, command completion using Ada as a command language, and combining the advantages of interpretation and compliation. Other principles, relating to analysis, testing, and debugging of concurrent Ada programs, have appeared in other contexts. This paper discusses several of these topics, considers how they can be integrated, and argues for their inclusion in an environment appropriate for software development in the late 1980's
Robot graphic simulation testbed
The objective of this research was twofold. First, the basic capabilities of ROBOSIM (graphical simulation system) were improved and extended by taking advantage of advanced graphic workstation technology and artificial intelligence programming techniques. Second, the scope of the graphic simulation testbed was extended to include general problems of Space Station automation. Hardware support for 3-D graphics and high processing performance make high resolution solid modeling, collision detection, and simulation of structural dynamics computationally feasible. The Space Station is a complex system with many interacting subsystems. Design and testing of automation concepts demand modeling of the affected processes, their interactions, and that of the proposed control systems. The automation testbed was designed to facilitate studies in Space Station automation concepts
SAGA: A DSL for Story Management
Video game development is currently a very labour-intensive endeavour.
Furthermore it involves multi-disciplinary teams of artistic content creators
and programmers, whose typical working patterns are not easily meshed. SAGA is
our first effort at augmenting the productivity of such teams.
Already convinced of the benefits of DSLs, we set out to analyze the domains
present in games in order to find out which would be most amenable to the DSL
approach. Based on previous work, we thus sought those sub-parts that already
had a partially established vocabulary and at the same time could be well
modeled using classical computer science structures. We settled on the 'story'
aspect of video games as the best candidate domain, which can be modeled using
state transition systems.
As we are working with a specific company as the ultimate customer for this
work, an additional requirement was that our DSL should produce code that can
be used within a pre-existing framework. We developed a full system (SAGA)
comprised of a parser for a human-friendly language for 'story events', an
internal representation of design patterns for implementing object-oriented
state-transitions systems, an instantiator for these patterns for a specific
'story', and three renderers (for C++, C# and Java) for the instantiated
abstract code.Comment: In Proceedings DSL 2011, arXiv:1109.032
Naming issues in the design of transparently distributed operating systems
PhD ThesisNaming is of fundamental importance in the design of transparently
distributed operating systems. A transparently distributed operating system
should be functionally equivalent to the systems of which it is composed. In
particular, the names of remote objects should be indistinguishable from the
names oflocal objects.
In this thesis we explore the implication that this recursive notion of
transparency has for the naming mechanisms provided by an operating system.
In particular, we show that a recursive naming system is more readily extensible
than a flat naming system by demonstrating that it is in precisely those areas in
which a system is not recursive that transparency is hardest to achieve. However,
this is not so much a problem of distribution so much as a problem of scale. A
system which does not scale well internally will not extend well to a distributed
system.
Building a distributed system out of existing systems involves joining the
name spaces of the individual systems together. When combining name spaces it
is important to preserve the identity of individual objects. Although unique
identifiers may be used to distinguish objects within a single name space, we
argue that it is difficult if not impossible in practice to guarantee the uniqueness
of such identifiers between name spaces. Instead, we explore the possibility of
Using hierarchical identifiers, unique only within a localised context. However,
We show that such identifiers cannot be used in an arbitrary naming graph
without compromising the notion of identity and hence violating the semantics of
the underlying system. The only alternative is to sacrifice a deterministic notion
of identity by using random identifiers to approximate global uniqueness with a
know probability of failure (which can be made arbitrarily small if the overall size
of the system is known in advance).UK Science and Engineering Research Council
An Introduction to Programming for Bioscientists: A Python-based Primer
Computing has revolutionized the biological sciences over the past several
decades, such that virtually all contemporary research in the biosciences
utilizes computer programs. The computational advances have come on many
fronts, spurred by fundamental developments in hardware, software, and
algorithms. These advances have influenced, and even engendered, a phenomenal
array of bioscience fields, including molecular evolution and bioinformatics;
genome-, proteome-, transcriptome- and metabolome-wide experimental studies;
structural genomics; and atomistic simulations of cellular-scale molecular
assemblies as large as ribosomes and intact viruses. In short, much of
post-genomic biology is increasingly becoming a form of computational biology.
The ability to design and write computer programs is among the most
indispensable skills that a modern researcher can cultivate. Python has become
a popular programming language in the biosciences, largely because (i) its
straightforward semantics and clean syntax make it a readily accessible first
language; (ii) it is expressive and well-suited to object-oriented programming,
as well as other modern paradigms; and (iii) the many available libraries and
third-party toolkits extend the functionality of the core language into
virtually every biological domain (sequence and structure analyses,
phylogenomics, workflow management systems, etc.). This primer offers a basic
introduction to coding, via Python, and it includes concrete examples and
exercises to illustrate the language's usage and capabilities; the main text
culminates with a final project in structural bioinformatics. A suite of
Supplemental Chapters is also provided. Starting with basic concepts, such as
that of a 'variable', the Chapters methodically advance the reader to the point
of writing a graphical user interface to compute the Hamming distance between
two DNA sequences.Comment: 65 pages total, including 45 pages text, 3 figures, 4 tables,
numerous exercises, and 19 pages of Supporting Information; currently in
press at PLOS Computational Biolog
Helping UNIX users : an assessment of the effectiveness of various forms of online help
The aim of online help is to make complex computer systems more usable and allow users to exploit more of the system’s power. To achieve this aim it is necessary to provide users with information needed to accomplish their currant task while also encouraging further skill development to facilitate the transition from novice to expert. This thesis investigates the relationship of individual differences to the use of computers and online help. An observational study of real users of UNIX showed that very few commands were used by users and there was great variability in the use of UNIX. “Field Dependency” was identified as a potential source of the variation between users. Two experiments were carried out to assess the effect of Field Dependency. The subjects were required to carry out a number of tasks with help provided via a human expert or an online help system. The help system developed could be configured to behave actively or passively. Two different user communities, computer science students and women trainees, were studied.
Both experiments found Field Dependency to be correlated with the number of commands known by users: the more field -independent a user, the more commands are known. In the first experiment it was found that field-dependents were exposed to more help from the human expert than the field-independents. With the help system, the field-independents were exposed to more help. Field-independents were also found to benefit from increased flexibility of the system where both active and passive help was available whereas field-dependents did not.Conclusions are drawn about the effects of Field Dependency on user interaction with help systems and the effectiveness of two alternative access initiatives
- …