16499745
The Self-4.0 user interface: manifesting a system-wide vision of concreteness, uniformity, and flexibility
Manipulating programs is hard, while manipulating objects in the physical world is often easy. Several attributes of the physical world help make it comprehensible and manipulable: concreteness, uniformity, and flexibility. The Self programming system attempts to apply these attributes to the world within the computer. The semantics of the language, the efficiency and fidelity of its implementation, and the architecture of its user interface conspire to make the experience of constructing programs in Self immediate and tangible. We describe the mechanisms used to achieve this goal, and illustrate those mechanisms within the context of an extended programming task.
41296063
Prototype-based languages: object lessons from class-free programming
52856801
Subjectivity in object-oriented systems
61043025
Auditory icons in large-scale collaborative environments
209398246
From Kansas to Oz.
18347435
Supporting flexible roles in a shared space
People in a group play various roles. Manager, intern, department chair, guest speaker, the woman who knows how the fax machine works, the guy who got the pizza, the person speaking now, the person capturing this on the whiteboard; roles can be formal or informal, long-lived or ephemeral. They can be bestowed by ceremony, or assumed with the invisibility of the taken-for-granted. But it is the interaction of minds that creates and sustains a role: a role is a human construct. Even roles like “mother” or “father”, which would seem to demand certain biological characteristics, cannot be defined at any depth without appeal to social convention. The largely hands-off approach taken by nature seems to work fairly well for groups of humans: when there is confusion or concern about who is playing what role, it is generally good for a group to work it out as a social issue. If roles were encoded solely in human biology or in physical law, life might be simpler but certainly more stulfiying.
2984394
Augmented Reality Chinese Checkers
This paper presents an application, Augmented Reality Chinese Checkers that we created to investigate user interface issues for table top projected augmented reality entertainment applications. A new tangible interaction device, the wireless button enhanced fiducial, is introduced to support selection tasks in mixed reality environments. The Augmented Reality Chinese Checkers game is built on a framework which can be used to create other computer supported collaborative games. The system is built using the Passive Detection Framework to track the 6 degrees of freedom position in real time of marked objects in the environment. The game supports up to six players at a time.
3217704
Conceptual-Model-Based Data Extraction from Multiple-Record Web Pages
Abstract Electronically available data on the Web is exploding at an ever increasing pace. Much of this data is unstructured, which makes searching hard and traditional database querying impossible. Many Web documents, however, contain an abundance of recognizable constants that together describe the essence of a document's content. For these kinds of data-rich, multiple-record documents (e.g., advertisements, movie reviews, weather reports, travel information, sports summaries, financial statements, obituaries, and many others) we can apply a conceptual-modeling approach to extract and structure data automatically. The approach is based on an ontology – a conceptual model instance – that describes the data of interest, including relationships, lexical appearance, and context keywords. By parsing the ontology, we can automatically produce a database scheme and recognizers for constants and keywords, and then invoke routines to recognize and extract data from unstructured documents and structure it according to the generated database scheme. Experiments show that it is possible to achieve good recall and precision ratios for documents that are rich in recognizable constants and narrow in ontological breadth. Our approach is less labor-intensive than other approaches that manually or semiautomatically generate wrappers, and it is generally insensitive to changes in Web-page format.
31744347
Undergraduate Software Engineering - An Innovative Degree at Swinburne
In this paper we outline the context for the development of an undergraduate degree in Software Engineering in Australia, reflect on curriculum development ideas relevant to such a degree, and describe aspects of the Computer Science degree at Swinburne which, despite its title, may be viewed as a Software Engineering degree. We emphasise the role of project-based units within the degree.
17086760
Cost profile of a highly assured, secure operating system
The Logical Coprocessing Kernel (LOCK) began as a research project to stretch the state of the art in secure computing by trying to meet or even exceed the “A1” requirements of the Trusted Computer System Evaluation Criteria (TCSEC). Over the span os seven years, the project was transformed into an effort to develop and deploy a product: the Standard Mail Guard (SMG). Since the project took place under a US government contract, the development team needed to maintain detailed records of the time spent on the project. The records from 1987 to 1992 have been combined with information about software code size and error detection. This information has been used to examine the practical impacts of high assurance techniques on a large-scale software development program. Tasks are associated with the A1 formal assurance requirements added approximately 58% to the development cost of security-critical software. In exchange for these costs, the formal assurance tasks (formal specifications, proofs, and specification code correspondence) uncovered 68% of the security flaws detected in LOCK's critical security mechanisms. However, a study of flaw detection during the SMG program found that only 14% of all flaws detected were of the type that could be detected using formal assurance, and that the work of the formal assusrance team only accounted for 19% of all flaws detected. While formal assurance is clearly effective at detecting flaws, its practicality hinges on the degree to which the formally modeled system properties represent all of a system's esential properties.
2351489
An Empirical Study Using Task Assignment Patterns to Improve the Accuracy of Software Effort Estimation
In most software development organizations, there is seldom a one-to-one mapping between software developers and development tasks. It is frequently necessary to concurrently assign individuals to multiple tasks and to assign more than one individual to work cooperatively on a single task. A principal goal in making such assignments should be to minimize the effort required to complete each task. But what impact does the manner in which developers are assigned to tasks have on the effort requirements? This paper identifies four task assignment factors: team size, concurrency, intensity, and fragmentation. These four factors are shown to improve the predictive ability of the well-known intermediate COCOMO cost estimation model. A parsimonious effort estimation model is also derived that utilizes a subset of the task assignment factors and unadjusted function points. For the data examined, this parsimonious model is shown to have goodness of fit and quality of estimation superior to that of the COCOMO model, while utilizing fewer cost factors.