About
17
Publications
1,690
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
451
Citations
Publications
Publications (17)
A formalisation of generic, fixed size machine words in Isabelle/HOL. An earlier version of this formalisation is described in [1].
This work reports on the author's experience designing, implementing, and formally verifying a low-level piece of system software. The timing model and the adaptation of an existing information flow policy to a monadic framework are reasonably novel. Interactive compilation through equational rewriting worked well in practice. Finally, the project...
The PLT Scheme Web Server uses continuations to enable a natural, console-like program development style. We describe the implementation of the server and its use in the development of an appli- cation for managing conference paper reviews. In the process of developing this application, we encountered subtle forms of interaction not directly addres...
Programmers confront a minefield when they design interactive Web programs. Web interactions take place via Web browsers. Browsers permit consumers to whimsically navigate among the various stages of a dialog, leading to unexpected outcomes. Furthermore, the growing diversity of browsers means the number of interactive operations users can perform...
this paper, we show that Web programmers can use existing software engineering methods to develop interactive programs and that well-known, algorithmic transformations can generate standard CGI scripts from these programs. Specifically, we extend a programming language with a primitive for Web interactions and show how this extension simplifies the...
OF DISSERTATION Submitted in partial ful llment of the requirements for the degree of Doctor of Philosophy in Computer Science in the Graduate School of Computer Science Northeastern University, June 2003 A.D.
Programmers confront a minefield when they design interactive Web programs. Web interactions take place via Web browsers. With browsers, consumers can whimsically navigate among the various stages of a dialog and can thus confuse the most sophisticated corporate Web sites. In turn,Web services can fault in frustrating and inexplicable ways. The qui...
Web and GUI programs represent two extremely common and popular modes of human-computer interaction. Many GUI programs share the Web's notion of browsing through data and decision trees. The paper compares the user's browsing power in the two cases and illustrates that many GUI programs fall short of the Web's power to clone windows and bookmark ap...
ABSTRACT Web and GUI programs,represent two extremely common,and popular modes,of human-computer,interaction. Many GUI programs share the Web’s notion of browsing through data- and decisiontrees. This paper compares,the user’s browsing power in the two cases and illustrates that many GUI programs,fall short of the Web’s power to clone windows and b...
Web and GUI programs represent two extremely common and popular modes of human-computer interaction. Many GUI programs share the Web's notion of browsing through data and decision trees. The paper compares the user's browsing power in the two cases and illustrates that many GUI programs fall short of the Web's power to clone windows and bookmark ap...
The construction of interactive server-side Web appli- cations differs substantially from the construction of tradi- tional interactive programs. In contrast, existing Web pro- gramming paradigms force programmers to save and re- store control state between user interactions. We present an automated transformationthat converts traditional interac-...
The construction of interactive server-side Web applications differs substantially from the construction of traditional interactive programs. In contrast, existing Web programming paradigms force programmers to save and restore control state between user interactions. We present an automated transformation that converts traditional interactive prog...
Programmers constantly design, implement, and program in little languages. Two different approaches to the implementation of little languages have evolved. One emphasizes the design of little languages from scratch, using conventional technology to implement interpreters and compilers. The other advances the idea of extending a general-purpose host...
Many modern programs provide operating system-style services to extension modules. A Web server, for instance, behaves like a simple OS kernel. It invokes programs that dynamically generate Web pages and manages their resource consumption. Most Web servers, however, rely on conventional operating systems to provide these services. As a result, the...
xml is a language for describing markup languages for struc- tured data. A growing number of applications that process xml docu- ments are transformers, i.e., programs that convert documents between xml languages. Unfortunately, the current proposals for transformers are complex general-purpose languages, which will be unappealing as the xml user b...