Results 11 - 20
of
21
Web programming with SMLserver
- In Fifth International Symposium on Practical Aspects of Declarative Languages (PADL’03
, 2003
"... Abstract. SMLserver is an efficient multi-threaded Web server platform for Standard ML programs. It provides access to a variety of different Relational Database Management Systems (RDBMSs), including Oracle, MySQL, and PostgreSQL. We describe the execution model and the region-based memory model of ..."
Abstract
-
Cited by 8 (3 self)
- Add to MetaCart
Abstract. SMLserver is an efficient multi-threaded Web server platform for Standard ML programs. It provides access to a variety of different Relational Database Management Systems (RDBMSs), including Oracle, MySQL, and PostgreSQL. We describe the execution model and the region-based memory model of SMLserver and explain our solutions to the design issues we were confronted with in the development. We also describe our experience with programming and maintaining Web applications using Standard ML, which provides higher-order functions, static typing, and a rich module system. Through experiments based on user scenarios for some common Web tasks, the paper demonstrates the efficiency of SMLserver, both with respect to script execution and database connectivity. 1
Program transformations for information personalization
, 2004
"... Personalization constitutes the mechanisms necessary to automatically customize information content, structure, and presentation to the end-user to reduce information overload. Unlike traditional approaches to personalization, the central theme of our approach is to model a website as a program and ..."
Abstract
-
Cited by 7 (6 self)
- Add to MetaCart
Personalization constitutes the mechanisms necessary to automatically customize information content, structure, and presentation to the end-user to reduce information overload. Unlike traditional approaches to personalization, the central theme of our approach is to model a website as a program and conduct website transformation for personalization by program transformation (e.g., partial evaluation, program slicing). The goal of this paper is study personalization through a program transformation lens, and develop a formal model, based on program transformations, for personalized interaction with hierarchical hypermedia. The specific research issues addressed involve identifying and developing program representations and transformations suitable for classes of hierarchical hypermedia, and providing supplemental interactions for improving the personalized experience. The primary form of personalization discussed is out-of-turn interaction – a technique which empowers a user navigating a hierarchical website to postpone clicking on any of the hyperlinks presented on the current page and, instead, communicate the
Better Abstractions for Secure Server-Side Scripting
"... It is notoriously difficult to program a solid web application. Besides addressing web interactions, state maintenance, and whimsical user navigation behaviors, programmers must also avoid a minefield of security vulnerabilities. The problem is fundamentally twofold. On the one hand, we lack a clear ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
It is notoriously difficult to program a solid web application. Besides addressing web interactions, state maintenance, and whimsical user navigation behaviors, programmers must also avoid a minefield of security vulnerabilities. The problem is fundamentally twofold. On the one hand, we lack a clear understanding of the essence of the new computation model underlying web applications. On the other hand, we lack proper abstractions for hiding common and subtle coding details that are orthogonal to the business functionalities of specific web applications. This report addresses both issues. First, we present a high-level language BASS for declarative server-side scripting. BASS allows programmers to work in an ideal world, using some new abstractions to tackle common but problematic aspects of web programming. The meta properties of BASS provide useful security guarantees. Second, we present a low-level language MOSS reflecting realistic web programming concepts and scenarios, thus articulating the computation model behind web programming. Finally, we present a rigorous translation from BASS to MOSS, demonstrating how the ideal programming model and security guarantees of BASS can be implemented and enforced in practice. 1.
Advanced Control Flows for Flexible Graphical User Interfaces or, Growing GUIs on Trees or, Bookmarking GUIs
- In Proceedings of the 24th International Conference on Software Engineering (ICSE-02
, 2002
"... 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 ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
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 bookmark applications. It identifies a key implementation problem that GUI programs must overcome to provide this power. It then describes a theoretically well-founded programming pattern, which we have automated, that endows GUI programs with these capabilities. The paper provides concrete examples of the transformation in action.
Generic Editors for the World Wide Web
- In CentralEuropean Functional Programming School, Eötvös Loránd
"... Abstract. In these lecture notes we present a novel toolkit to program web applications with that have dynamic, complex behavior based on interconnect forms. This toolkit is the iData Toolkit. We demonstrate that it allows programmers to create web applications on a level of abstraction that is comp ..."
Abstract
-
Cited by 5 (4 self)
- Add to MetaCart
Abstract. In these lecture notes we present a novel toolkit to program web applications with that have dynamic, complex behavior based on interconnect forms. This toolkit is the iData Toolkit. We demonstrate that it allows programmers to create web applications on a level of abstraction that is comparable with ‘ordinary ’ functional style programs. Programmers have the freedom to develop their own data structures and program with them. The iData Toolkit is able to generate a web application from these data types, making use of advanced programming concepts such as generic programming. The programmer need not be aware of this. We have tried to keep the iData Toolkit api as simple as possible. 1
A Software Framework for Out-of-Turn Interaction in a Multimodal Web Interface
, 2003
"... Multimodal interfaces are becoming increasingly important with the advent of mobile devices, accessibility considerations, and novel software technologies that combine diverse interaction media. This thesis investigates systems support for web browsing in a multimodal interface. Specifically, we out ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Multimodal interfaces are becoming increasingly important with the advent of mobile devices, accessibility considerations, and novel software technologies that combine diverse interaction media. This thesis investigates systems support for web browsing in a multimodal interface. Specifically, we outline the design and implementation of a software framework that integrates hyperlink and voice interaction. This enables the user to engage in out-of-turn interactions to personalize access at an information site. For the developer, the framework enables the creation of sites that adapt to the needs of users, yet permits fine-grained control over what interactions to support. Design methodology, implementation details, and two case studies are presented.
Typing XHTML Web Applications in SMLserver
- Internal Project Report, CEC id. AC052/LMD/WP4/DS/S/004/b1, The Prospect Consortium
, 2003
"... In this paper, we present a type system for typing Web applications in SMLserver, an e#cient multi-threaded Web server platform for Standard ML programs. The type system guarantees that only conforming XHTML documents are sent to clients and that the target scriptlets of client-submitted forms u ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
In this paper, we present a type system for typing Web applications in SMLserver, an e#cient multi-threaded Web server platform for Standard ML programs. The type system guarantees that only conforming XHTML documents are sent to clients and that the target scriptlets of client-submitted forms use form data consistently and in a type-safe way.
Topsl: a Domain-Specific Language for On-Line Surveys. Scheme Workshop
, 2004
"... There are currently few choices for social scientists who want to employ web-based surveys in their studies. They can either use a special-purpose language whose notion of flow control may be too limiting to express advanced survey designs, or use a generalpurpose language that gives them the freedo ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
There are currently few choices for social scientists who want to employ web-based surveys in their studies. They can either use a special-purpose language whose notion of flow control may be too limiting to express advanced survey designs, or use a generalpurpose language that gives them the freedom to make complicated survey designs but makes them reimplement infrastructure code for saving questions to disk, generating HTML, and so on with each new survey. In this paper, we introduce Topsl, a domain-specific language embedded in PLT Scheme that takes the middle road, giving survey authors a way to reuse survey infrastructure for new surveys while also allowing them to express complicated survey designs easily. 1
A Generative Programming Approach to Interactive Information Retrieval: Insights and Experiences
"... Abstract. We describe the application of generative programming to a problem in interactive information retrieval. The particular interactive information retrieval problem we study is the support for ‘out of turn interaction ’ with a website – how a user can communicate input to a website when the s ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Abstract. We describe the application of generative programming to a problem in interactive information retrieval. The particular interactive information retrieval problem we study is the support for ‘out of turn interaction ’ with a website – how a user can communicate input to a website when the site is not soliciting such information on the current page, but will do so on a subsequent page. Our solution approach makes generous use of program transformations (partial evaluation, currying, and slicing) to delay the site’s current solicitation for input until after the user’s out-of-turn input is processed. We illustrate how studying outof-turn interaction through a generative lens leads to several valuable insights: (i) the concept of a web dialog, (ii) an improved understanding of web taxonomies, and (iii) new web interaction techniques and interfaces. These notions allow us to cast the design of interactive (and responsive) websites in terms of the underlying dialog structure and, further, suggest a simple implementation strategy with a clean separation of concerns. We also highlight new research directions opened up by the generative programming approach to interactive information retrieval such as the idea of web interaction axioms. 1
Enabling Complex User Interfaces In Web Applications With send/suspend/dispatch
"... Web application programmers who use PLT Scheme's web server enjoy enormous benefits from the send/suspend primitive, which allows them to code in a direct style instead of in continuationpassing style as required by traditional CGI programming. Nevertheless, send/suspend has limitations that hinder ..."
Abstract
- Add to MetaCart
Web application programmers who use PLT Scheme's web server enjoy enormous benefits from the send/suspend primitive, which allows them to code in a direct style instead of in continuationpassing style as required by traditional CGI programming. Nevertheless, send/suspend has limitations that hinder complex web applications with the rich interfaces expected by users. This Scheme Pearl introduces a technique for "embedding" Scheme code in URLs and shows how this facilitates developing complex web-based user interfaces.

