7 research outputs found

    Site Controller: A System for Computer-Aided Civil Engineering and Construction

    Get PDF
    A revolution\0\0\0 in earthmoving, a $100 billion industry, can be achieved with three components: the GPS location system, sensors and computers in bulldozers, and SITE CONTROLLER, a central computer system that maintains design data and directs operations. The first two components are widely available; I built SITE CONTROLLER to complete the triangle and describe it here. SITE CONTROLLER assists civil engineers in the design, estimation, and construction of earthworks, including hazardous waste site remediation. The core of SITE CONTROLLER is a site modelling system that represents existing and prospective terrain shapes, roads, hydrology, etc. Around this core are analysis, simulation, and vehicle control tools. Integrating these modules into one program enables civil engineers and contractors to use a single interface and database throughout the life of a project

    Generating Multiple User Interfaces for Multiple Application Domains

    Get PDF
    This Ph.D. dissertation presents a classification scheme for User Interface Development Environments (UIDEs) based on the multiplicity of user interfaces and application domains that can be supported. The SISD, SIMD and MISD [S= Single, I= user Interface(s), M= Multiple, D= application Domain(s)] generator classes encompass most of the UIDEs described in the literature. A major goal of this research is to allow any user to develop a personalized interface for any interactive application, that is, the development of an MIMD UIDE. Fundamental to the development of such a UIDE is the complete separation of the user interface component from the application component. This separation necessitates devising less tightly coupled models of the application and user interface than have been reported to date. The main features of the MIMD UIDE model are as follows. [1] Interactive applications are modeled as editors providing a set of functions that manipulate 2-dimensional graphical objects. [2] Interactive data structures are introduced for maintaining and manipulating both the internal and external representation(s) of application information as a single unit. These external representations form the basis for presenting internal information to the user. [3] Since interaction with the user must be the sole responsibility of the user interface component, function interaction is modeled as follows. Application functions are modeled as a set of services. Each service processes a (set of) parameter(s) independently. For each service in the application, a corresponding service Interface object is defined in the user interface component. The service interface object interacts with the user to specify the required (set of) parameter(s), calls the associated service within the application, and displays the result of the service to the user. Using the above model, the user interface component is modeled to allow personalized specifications at all levels; including the internal entities of the interactive system, the characteristics of the display of information, and the interaction tasks, techniques and devices used for parameter specification

    Critical Programming: Toward a Philosophy of Computing

    Get PDF
    Beliefs about the relationship between human beings and computing machines and their destinies have alternated from heroic counterparts to conspirators of automated genocide, from apocalyptic extinction events to evolutionary cyborg convergences. Many fear that people are losing key intellectual and social abilities as tasks are offloaded to the everywhere of the built environment, which is developing a mind of its own. If digital technologies have contributed to forming a dumbest generation and ushering in a robotic moment, we all have a stake in addressing this collective intelligence problem. While digital humanities continue to flourish and introduce new uses for computer technologies, the basic modes of philosophical inquiry remain in the grip of print media, and default philosophies of computing prevail, or experimental ones propagate false hopes. I cast this as-is situation as the post-postmodern network dividual cyborg, recognizing that the rational enlightenment of modernism and regressive subjectivity of postmodernism now operate in an empire of extended mind cybernetics combined with techno-capitalist networks forming societies of control. Recent critical theorists identify a justificatory scheme foregrounding participation in projects, valorizing social network linkages over heroic individualism, and commending flexibility and adaptability through life long learning over stable career paths. It seems to reify one possible, contingent configuration of global capitalism as if it was the reflection of a deterministic evolution of commingled technogenesis and synaptogenesis. To counter this trend I offer a theoretical framework to focus on the phenomenology of software and code, joining social critiques with textuality and media studies, the former proposing that theory be done through practice, and the latter seeking to understand their schematism of perceptibility by taking into account engineering techniques like time axis manipulation. The social construction of technology makes additional theoretical contributions dispelling closed world, deterministic historical narratives and requiring voices be given to the engineers and technologists that best know their subject area. This theoretical slate has been recently deployed to produce rich histories of computing, networking, and software, inform the nascent disciplines of software studies and code studies, as well as guide ethnographers of software development communities. I call my syncretism of these approaches the procedural rhetoric of diachrony in synchrony, recognizing that multiple explanatory layers operating in their individual temporal and physical orders of magnitude simultaneously undergird post-postmodern network phenomena. Its touchstone is that the human-machine situation is best contemplated by doing, which as a methodology for digital humanities research I call critical programming. Philosophers of computing explore working code places by designing, coding, and executing complex software projects as an integral part of their intellectual activity, reflecting on how developing theoretical understanding necessitates iterative development of code as it does other texts, and how resolving coding dilemmas may clarify or modify provisional theories as our minds struggle to intuit the alien temporalities of machine processes

    Painless panes for Smalltalk windows

    No full text
    corecore