17 research outputs found
A grammatical specification of human-computer dialogue
The Seeheim Model of human-computer interaction partitions an interactive application into a user-interface, a dialogue controller and the application itself. One of the formal techniques of implementing the dialogue controller is based on context-free grammars and automata. In this work, we modify an off-the-shelf compiler generator (YACC) to generate the dialogue controller. The dialogue controller is then integrated into the popular X-window system, to create an interactive-application generator. The actions of the user drive the automaton, which in turn controls the application
Recommended from our members
OSU : a high speed software development environment
Several problems with user interface design and implementation have been identified: (1) user interfaces are difficult and time-consuming to design and implement; (2) most user interface management systems (UIMS) are themselves difficult to use by a programmer; (3) UIMS's have not been integrated with other tools that support structured design, coding and maintenance, thus failing to maximize programmer productivity.
In the Oregon Speedcode Universe (O.S.U.) project, we had taken the following approaches: (1) direct manipulation programming technique is used to address the problems with user interface design and implementation; (2) integration of UIMS with CASE tools; and (3) high-level program generation from scripts, and reusable components.
This report surveys some of the existing UIMS's and describes O.S.U., a high-speed software development system. The main emphasis of this work is the design and implementation of Structure Chart Editor in O.S.U.. The Structure Chart Editor has three unique features: 1) combination of functional decomposition with object-oriented design, 2) alternate architectural views, e.g. call graph, uses graph, object graph, and graphical display of procedures, 3) merging the user interface specification with design and coding specifications.
Experimental results suggest that the techniques employed by OSU can be used to develop 50-90% of an application without explicit programming yielding 2-10 fold productivity improvements
Adaptive model-driven user interface development systems
Adaptive user interfaces (UIs) were introduced to address some of the usability problems that plague many software applications. Model-driven engineering formed the basis for most of the systems targeting the development of such UIs. An overview of these systems is presented and a set of criteria is established to evaluate the strengths and shortcomings of the state-of-the-art, which is categorized under architectures, techniques, and tools. A summary of the evaluation is presented in tables that visually illustrate the fulfillment of each criterion by each system. The evaluation identified several gaps in the existing art and highlighted the areas of promising improvement
Recommended from our members
Comprehensive support for developing graphical highly interactive user interface systems
The general problem of application development of interactive GUI applications has been addressed by toolkits, libraries, user interface management systems, and more recently domain-specific application frameworks. However, the most sophisticated solution offered by frameworks still lacks a number of features which are addressed by this research: 1) limited functionality -- the framework does little to help the developer implement the application's functionality. 2) weak model of the application -- the framework does not incorporate a strong model of the overall architecture of the application program. 3) representation of control sequences is difficult to understand, edit, and reuse -- higher-level, direct-manipulation tools are needed. We address these problems with a new framework design called Oregon Speedcode Universe version 3.0 (OSU v3.0) which is shown, by demonstration, to overcome the limitations above: 1) functionality is provided by a rich set of built-in functions organized as a class hierarchy, 2) a strong model is provided by OSU v3.0 in the form of a modified MVC paradigm, and a Petri net based sequencing language which together form the architectural structure of all applications produced by OSU v3.0. 3) representation of control sequences is easily constructed within OSU v3.0 using a Petri net editor, and other direct manipulation tools built on top of the framework. In ddition: 1) applications developed in OSU v3.0 are partially portable because the framework can be moved to another platform, and applications are dependent on the class hierarchy of OSU v3.0 rather than the operating system of a particular platform, 2) the functionality of OSU v3.0 is extendable through addition of classes, subclassing, and overriding of existing methods. The main contribution of this research is in the design of an application framework that uses Petri nets as the computational model of data processing in the synthesized application. OSU v3.0 is the first framework to formalize sequencing, and to show that complex GUI applications can indeed be quickly and reliably produced from such a framework
An Object-oriented methodology for modern user interface development.
by Lam Siu Hong.Thesis (M.Phil.)--Chinese University of Hong Kong, 1991.Includes bibliographical references.Chapter Chapter1 --- Introduction --- p.1Chapter 1.1 --- Software Development Crisis of User Interface --- p.1Chapter 1.2 --- Objectives and Scope of Interests --- p.1Chapter 1.3 --- Overview of the Thesis --- p.2Chapter Chapter2 --- Background and Problems --- p.4Chapter 2.1 --- Categories of User Interfaces --- p.4Chapter 2.2 --- Trends of User Interfaces --- p.6Chapter 2.3 --- Some other Desirable Features and Problems of UI Development --- p.7Chapter 2.3.1 --- Separating UI from Application --- p.7Chapter 2.3.1.1 --- Benefits of Separable UIs and Applications --- p.7Chapter 2.3.1.2 --- Requirements of Complete Separation --- p.10Chapter 2.3.2 --- Instant Continuous Feedback --- p.12Chapter 2.3.2.1 --- Problems of Linguistic Model on World Model Type UIs --- p.12Chapter 2.3.3 --- Undo and Recovery --- p.15Chapter 2.3.4 --- Iterative Design through Rapid Protyping --- p.16Chapter Chapter3 --- An Object-Oriented Model for Model World User Interfaces Development --- p.18Chapter 3.1 --- Features of UIs to be supported by the Model --- p.18Chapter 3.2 --- A Linkage Model for Separating UI from Application --- p.19Chapter 3.2.1 --- Communication Messages Modeled using an Object Oriented Approach --- p.20Chapter 3.2.2 --- A Sample Message --- p.22Chapter 3.2.3 --- Linkage in a Distributed Heterogenous Environment --- p.24Chapter 3.2.4 --- Comparing the Linkage Model with the Application Interface Model in Seeheim's UI Model --- p.25Chapter 3.3 --- An Object-Oriented Model for Supporting Multiple Feedbacks and Multi-thread dialogue --- p.26Chapter 3.3.1 --- An Overview of the Model --- p.27Chapter 3.3.2 --- Objects on the Lexical Layer --- p.28Chapter 3.3.3 --- Roles of Presentation Objects --- p.29Chapter 3.3.4 --- Syntactic Objects --- p.31Chapter 3.3.5 --- Interaction Objects --- p.32Chapter 3.3.6 --- Interaction between objetcs and Linkage Component --- p.33Chapter 3.3.7 --- Multiple U-tubes Ladder for Supporting Multiple Feedbacks --- p.33Chapter 3.3.8 --- Recovery through a Generic UNDO stack --- p.35Chapter 3.3.9 --- Dialogue Control in an Object --- p.37Chapter 3.3.10 --- Interactive Objects --- p.39Chapter 3.3.11 --- An Architecture for Supporting Multi-thread Dialogue --- p.40Chapter 3.4 --- Basic Object Structure --- p.42Chapter 3.4.1 --- An Event Model for Dialogue Control --- p.43Chapter 3.4.2 --- Maintain Consistency through ε-rules --- p.45Chapter 3.4.3 --- An Example of an Inner Object Specification --- p.47Chapter 3.4.4 --- Pre and Post Condition of Action --- p.49Chapter 3.4.5 --- Automatic Message Routing --- p.49Chapter 3.5 --- Systematic Approach to UI Specification --- p.50Chapter Chapter4 --- User Interface Framework Design --- p.52Chapter 4.1 --- A Framework for UI Development --- p.52Chapter 4.1.1 --- Abstract Base Class for Each Object Type --- p.54Chapter 4.1.2 --- A Kernel for Message Routing --- p.60Chapter 4.1.3 --- Interaction Knowledge Base --- p.63Chapter 4.1.4 --- A Dynamic View of UI Objects --- p.64Chapter 4.1.5 --- Switch Box Mechanism for Dialogue Switching --- p.66Chapter 4.1.6 --- Software IC Construction --- p.68Chapter 4.2 --- Summaries of Object-Object UI Model and UI Framework --- p.70Chapter 4.2.1 --- A New Approach to User Interface Development 、 --- p.70Chapter 4.2.2 --- Feautures of UI Development provided by the Object-Object UI Model and UI Framework --- p.71Chapter Chapter5 --- Implementation --- p.73Chapter 5.1 --- Implementation of Framework in Microsoft Window Environment --- p.73Chapter 5.1.1 --- Implementation of automatic message routing through dynamic binding --- p.73Chapter 5.1.2 --- A generic message structure --- p.75Chapter 5.1.3 --- A meta class for object communication --- p.76Chapter 5.1.4 --- Software component of UI framework in Microsoft Window environment --- p.76Chapter 5.2 --- A Simple Stock Market Decision Support System (SSMDSS) --- p.77Chapter 5.2.1 --- UI Specification --- p.81Chapter 5.2.2 --- UI features supported by SSMDSS --- p.87Chapter Chapter6 --- Results --- p.89Chapter 6.1 --- Facts discovered --- p.89Chapter 6.1.1 --- Asynchronous and synchronous communication among objects --- p.89Chapter 6.1.2 --- Flexibility of the C+ + language --- p.90Chapter 6.2 --- Technical Problems Encountered --- p.91Chapter 6.2.1 --- Problems from Implementation Platform --- p.91Chapter 6.2.2 --- Problems due to Object Decomposition in an Interactive Object in SSMDSS --- p.92Chapter 6.3 --- Objectives accomplished by the Object-Oriented UI Model indicated by SSMDSS --- p.93Chapter Chapter7 --- Conclusion --- p.95Chapter 7.1 --- Thesis Summary --- p.95Chapter 7.2 --- Merits and Demerit of the Object-Oriented UI Model --- p.96Chapter 7.3 --- Cost of the Object-Oriented UI Model --- p.96Chapter 7.4 --- Future work --- p.97AppendixChapter A1 --- An Alogrithm for Converting Transition Network Diagram to Event Response Language --- p.A1Chapter A2 --- An Object-Oriented Software Development --- p.A4Chapter A2.1 --- Traditional Non Object-Oriented Software Development --- p.A4Chapter A2.2 --- An Object-Oriented Software Development --- p.A6Chapter A3 --- Vienna Development Method (VDM) --- p.A8Chapter A3.1 --- An Overview of VDM --- p.A8Chapter A3.2 --- Apply VDM to Object-Oriented UI model --- p.A10Chapter A4 --- Glossaries and Terms --- p.A12Referenc
Recommended from our members
Engineering Adaptive Model-Driven User Interfaces for Enterprise Applications
Enterprise applications such as enterprise resource planning systems have numerous complex user interfaces (UIs). Usability problems plague these UIs because they are offered as a generic off-the-shelf solution to end-users with diverse needs in terms of their required features and layout preferences. Adaptive UIs can help in improving usability by tailoring the features and layout based on the context-of-use. The model-driven UI development approach offers the possibility of applying different types of adaptations on the various UI levels of abstraction. This approach forms the basis for many works researching the development of adaptive UIs. Yet, several gaps were identified in the state-of-the-art adaptive model-driven UI development systems. To fill these gaps, this thesis presents an approach that offers the following novel contributions:
- The Cedar Architecture serves as a reference for developing adaptive model-driven enterprise application user interfaces.
- Role-Based User Interface Simplification (RBUIS) is a mechanism for improving usability through adaptive behavior, by providing end-users with a minimal feature-set and an optimal layout based on the context-of-use.
- Cedar Studio is an integrated development environment, which provides tool support for building adaptive model-driven enterprise application UIs using RBUIS based on the Cedar Architecture.
The contributions were evaluated from the technical and human perspectives. Several metrics were established and applied to measure the technical characteristics of the proposed approach after integrating it into an open-source enterprise application. Additional insights about the approach were obtained through the opinions of industry experts and data from real-life projects. Usability studies showed the approach’s ability to significantly improve usability in terms of end-user efficiency, effectiveness and satisfaction
An Adaptive Integration Architecture for Software Reuse
The problem of building large, reliable software systems in a controlled, cost-effective way, the so-called software crisis problem, is one of computer science\u27s great challenges. From the very outset of computing as science, software reuse has been touted as a means to overcome the software crisis issue. Over three decades later, the software community is still grappling with the problem of building large reliable software systems in a controlled, cost effective way; the software crisis problem is alive and well. Today, many computer scientists still regard software reuse as a very powerful vehicle to improve the practice of software engineering. The advantage of amortizing software development cost through reuse continues to be a major objective in the art of building software, even though the tools, methods, languages, and overall understanding of software engineering have changed significantly over the years.
Our work is primarily focused on the development of an Adaptive Application Integration Architecture Framework. Without good integration tools and techniques, reuse is difficult and will probably not happen to any significant degree. In the development of the adaptive integration architecture framework, the primary enabling concept is object-oriented design supported by the unified modeling language. The concepts of software architecture, design patterns, and abstract data views are used in a structured and disciplined manner to established a generic framework. This framework is applied to solve the Enterprise Application Integration (EM) problem in the telecommunications operations support system (OSS) enterprise marketplace.
The proposed adaptive application integration architecture framework facilitates application reusability and flexible business process re-engineering. The architecture addresses the need for modern businesses to continuously redefine themselves to address changing market conditions in an increasingly competitive environment. We have developed a number of Enterprise Application Integration design patterns to enable the implementation of an EAI framework in a definite and repeatable manner. The design patterns allow for integration of commercial off-the-shelf applications into a unified enterprise framework facilitating true application portfolio interoperability. The notion of treating application services as infrastructure services and using business processes to combine them arbitrarily provides a natural way of thinking about adaptable and reusable software systems.
We present a mathematical formalism for the specification of design patterns. This specification constitutes an extension of the basic concepts from many-sorted algebra. In particular, the notion of signature is extended to that of a vector, consisting of a set of linearly independent signatures. The approach can be used to reason about various properties including efforts for component reuse and to facilitate complex largescale software development by providing the developer with design alternatives and support for automatic program verification