Results 1 - 10
of
62
Space-efficient gradual typing
- In Trends in Functional Programming (TFP
, 2007
"... Gradual type systems offer a smooth continuum between static and dynamic typing by permitting the free mixture of typed and untyped code. The runtime systems for these languages–and other languages with hybrid type checking–typically enforce function types by dynamically generating function proxies. ..."
Abstract
-
Cited by 19 (3 self)
- Add to MetaCart
Gradual type systems offer a smooth continuum between static and dynamic typing by permitting the free mixture of typed and untyped code. The runtime systems for these languages–and other languages with hybrid type checking–typically enforce function types by dynamically generating function proxies. This approach can result in unbounded growth in the number of proxies, however, which drastically impacts space efficiency and destroys tail recursion. We present an implementation strategy for gradual typing that is based on coercions instead of function proxies, and which combines adjacent coercions to limit their space consumption. We prove bounds on the space consumed by coercions as well as soundness of the type system, demonstrating that programmers can safely mix typing disciplines without incurring unreasonable overheads. Our approach also detects certain errors earlier than prior work. 1 GRADUAL TYPING FOR SOFTWARE EVOLUTION Dynamically typed languages have always excelled at exploratory programming.
A semantic wiki for mathematical knowledge management
- Proceedings of the 1st Workshop on Semantic Wikis, European Semantic Web Conference 2006, Budva, Montenegro, 2006. CEUR Workshop Proceedings. To appear, provisional online version at http://www.eswc2006.org/technologies/ usb/proceedings-workshops/ eswc200
, 2007
"... SWIM is a semantic wiki for collaboratively building, editing and browsing mathematical knowledge represented in the structural markup language OMDOC. It has been designed to enable groups of scientists to develop new mathematical theories in OMDOC and to enable scholars to browse such a corpus. Aft ..."
Abstract
-
Cited by 19 (6 self)
- Add to MetaCart
SWIM is a semantic wiki for collaboratively building, editing and browsing mathematical knowledge represented in the structural markup language OMDOC. It has been designed to enable groups of scientists to develop new mathematical theories in OMDOC and to enable scholars to browse such a corpus. After a short introduction to semantic wikis and their usefulness for mathematical knowledge, this article presents the architecture and the user interface of the current SWIM prototype and outlines the plans for developing its successor, an ontology-based platform for semantic scientific services that exploit the knowledge and make it accessible to the user. 1
Modal Types for Mobile Code
, 2008
"... In this dissertation I argue that modal type systems provide an elegant and practical means for controlling local resources in spatially distributed computer programs. A distributed program is one that executes in multiple physical or logical places. It usually does so because those places have loca ..."
Abstract
-
Cited by 13 (0 self)
- Add to MetaCart
In this dissertation I argue that modal type systems provide an elegant and practical means for controlling local resources in spatially distributed computer programs. A distributed program is one that executes in multiple physical or logical places. It usually does so because those places have local resources that can only be used in those locations. Such resources can include processing power, proximity to data, hardware, or the physical presence of a user. Programmers that write distributed applications therefore need to be able to reason about the places in which their programs will execute. This work provides an elegant and practical way to think about such programs in the form of a type system derived from modal logic. Modal logic allows for reasoning about truth from multiple simultaneous perspectives. These perspectives, called "worlds," are identified with the locations in the distributed program. This enables the programming language to be simultaneously aware of the various hosts involved in a program, their
Semantic Turkey: a Semantic Bookmarking tool (System Description)
"... Abstract. In this work we introduce Semantic Turkey, a Semantic Extension for the popular web browser Mozilla Firefox. Semantic Turkey can be used to keep track of relevant information from visited web sites and organize collected content according to a personally defined ontology. Clear separation ..."
Abstract
-
Cited by 9 (7 self)
- Add to MetaCart
Abstract. In this work we introduce Semantic Turkey, a Semantic Extension for the popular web browser Mozilla Firefox. Semantic Turkey can be used to keep track of relevant information from visited web sites and organize collected content according to a personally defined ontology. Clear separation between knowledge data (the WHAT) and web links (the WHERE) is established into the knowledge model of the system, which allows for innovative navigation of both the acquired information and of the pages where it has been collected. This paper describes the architecture of the Semantic Turkey extension for Firefox, analyzes its development, shows its most interesting features and presents our plans for future improvements of the tool. 1.
Web-based Annotation of Anaphoric Relations and Lexical Chains
"... Annotating large text corpora is a timeconsuming effort. Although single-user annotation tools are available, web-based annotation applications allow for distributed annotation and file access from different locations. In this paper we present the webbased annotation application Serengeti for annota ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
Annotating large text corpora is a timeconsuming effort. Although single-user annotation tools are available, web-based annotation applications allow for distributed annotation and file access from different locations. In this paper we present the webbased annotation application Serengeti for annotating anaphoric relations which will be extended for the annotation of lexical chains. 1
Status report: specifying JavaScript with ML
- In ML ’07: Proceedings of the 2007 workshop on Workshop on ML
, 2007
"... The Ecma TC39-TG1 working group is using ML as the specification language for the next generation of JavaScript, the popular programming language for browser-based web applications. This “definitional interpreter ” serves many purposes: a high-level and readable specification language, an executable ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
The Ecma TC39-TG1 working group is using ML as the specification language for the next generation of JavaScript, the popular programming language for browser-based web applications. This “definitional interpreter ” serves many purposes: a high-level and readable specification language, an executable and testable specification, a reference implementation, and an aid in driving the design process. We describe the design and specification of JavaScript and our experience so far using Standard ML for this purpose. Categories and Subject Descriptors D.2.1 [Software Engineering]: Requirements/Specifications—Languages; D.3.1 [Programming
Service Oriented Architecture for Monitoring Cargo in Motion Along Trusted Corridors
, 2009
"... This thesis describes a system called the Transportation Security SensorNet that can be used to perform extensive cargo monitoring. It is built as a Service Oriented Architecture (SOA) using open web service specifications and Open Geospatial Consortium (OGC) standards. This allows for compatibility ..."
Abstract
-
Cited by 7 (5 self)
- Add to MetaCart
This thesis describes a system called the Transportation Security SensorNet that can be used to perform extensive cargo monitoring. It is built as a Service Oriented Architecture (SOA) using open web service specifications and Open Geospatial Consortium (OGC) standards. This allows for compatibility, interoperability and integration with other web services and Geographical Information Systems (GIS). The two main capabilities that the Transportation Security SensorNet provides are remote sensor management and alarm notification. The architecture and the design of its components are described throughout this thesis. Furthermore, the specifications used and the fundamental ideas behind a Service Oriented Architecture are explained in detail. The system was evaluated in real world scenarios and performed as specified. The alarm notification performance throughout the system, from the initial detection at the Sensor Node service to the Alarm Reporting service, is on average 2.1 seconds. Location inquiries took 4.4 seconds on average. Note that the majority of the time, around 85% for most of the messages sent, is spent on the transmission of the message while the rest is used on processing inside the web services. Finally the lessons learned are discussed as well as directions for future enhancements to the Transportation Security SensorNet, in particular to security, complex management and asynchronous communication.
Delay-Bounded Scheduling
"... We provide a new characterization of scheduling nondeterminism by allowing deterministic schedulers to delay their next-scheduled task. In limiting the delays an otherwise-deterministic scheduler is allowed, we discover concurrency bugs efficiently—by exploring few schedules—and robustly—i.e., indep ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
We provide a new characterization of scheduling nondeterminism by allowing deterministic schedulers to delay their next-scheduled task. In limiting the delays an otherwise-deterministic scheduler is allowed, we discover concurrency bugs efficiently—by exploring few schedules—and robustly—i.e., independent of the number of tasks, context switches, or buffered events. Our characterization elegantly applies to any systematic exploration (e.g., testing, model checking) of concurrent programs with dynamic task-creation. Additionally, we show that certain delaying schedulers admit efficient reductions from concurrent to sequential program analysis. Categories and Subject Descriptors D.2.4 [Software Engineering]:
Points-to analysis for JavaScript
- In Proc. of ACSAC
, 1930
"... JavaScript is widely used by web developers and the complexity of JavaScript programs has increased over the last year. Therefore, the need for program analysis for Java-Script is evident. Points-to analysis for JavaScript is to determine the set of objects to which a reference variable or an object ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
JavaScript is widely used by web developers and the complexity of JavaScript programs has increased over the last year. Therefore, the need for program analysis for Java-Script is evident. Points-to analysis for JavaScript is to determine the set of objects to which a reference variable or an object property may point. Points-to analysis for Java-Script is a basis for further program analyses for JavaScript. It has a wide range of applications in code optimization and software engineering tools. However, points-to analysis for JavaScript has not yet been developed. JavaScript has dynamic features such as the runtime modification of objects through addition of properties or updating of methods. We propose a points-to analysis for Java-Script which precisely handles the dynamic features of Java-Script. Our work is the first attempt to analyze the points-to behavior of JavaScript. We evaluate the analysis on a set of JavaScript programs. We also apply the analysis to a code optimization technique to show that the analysis can be practically useful. Categories and Subject Descriptors D.3.2 [Programming Languages]: Language Classifications—Specialized application languages; F.3.2 [Logics and
Interactive visual exploration of a large spatio-temporal dataset: reflections on a geovisualization mashup
- IEEE transactions on visualization and computer graphics
, 2007
"... Abstract — Exploratory visual analysis is useful for the preliminary investigation of large structured, multifaceted spatio-temporal datasets. This process requires the selection and aggregation of records by time, space and attribute, the ability to transform data and the flexibility to apply appro ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
Abstract — Exploratory visual analysis is useful for the preliminary investigation of large structured, multifaceted spatio-temporal datasets. This process requires the selection and aggregation of records by time, space and attribute, the ability to transform data and the flexibility to apply appropriate visual encodings and interactions. We propose an approach inspired by geographical ‘mashups ’ in which freely-available functionality and data are loosely but flexibly combined using de facto exchange standards. Our case study combines MySQL, PHP and the LandSerf GIS to allow Google Earth to be used for visual synthesis and interaction with encodings described in KML. This approach is applied to the exploration of a log of 1.42 million requests made of a mobile directory service. Novel combinations of interaction and visual encoding are developed including spatial ‘tag clouds’, ‘tag maps’, ‘data dials’ and multi-scale density surfaces. Four aspects of the approach are informally evaluated: the visual encodings employed, their success in the visual exploration of the dataset, the specific tools used and the 'mashup ' approach. Preliminary findings will be beneficial to others considering using mashups for visualization. The specific techniques developed may be more widely applied to offer insights into the structure of multifarious spatio-temporal data of the type explored here. Index Terms — Large dataset visualization, text and document visualization, multiresolution visualization, geographic visualization, applications of infovis. 1

