Colloquium Archive

An Introduction To Antlr And Domain-Specific Languages

Terence Parr, University of San Francisco


Most people think of grammars and parser generators in terms of building compilers, yet the number of language recognition and translation tasks dwarfs the number of compilers being built. This lecture illustrates the wide applicability of parser generators to domain specific languages and other recognition and translation tasks. ANTLR codifies what programmers do naturally by hand, thereby placing the power of formal languages in the hands of the average programmer. This lecture is a practical introduction to ANTLR and uses numerous examples to demonstrate the power of simple grammars and their use in a variety of common tasks.

Project Management In It

Raúl D. Ocazionez, Informatix, Inc., San Francisco & Sacramento


In today’s competitive IT world of, successful companies require a scalable, step-by-step methodology for planning and executing projects. This talk discusses the approaches, tools, and strategies that are being used to effectively monitor and manage projects that keep IT companies thriving in today’s competitive market. A certified Project Management Professional (PMP®) from the Project Management Institute (PMI®) himself, Mr. Ocazionez has transformed Informatix from its humble beginnings nearly 20 years ago into a formidable force in the areas of automated child support payment systems, electronic document management, and payment processing with plans to expand the company’s reach even further. Mr. Ocazionez will address the importance of project management in IT while providing anecdotes about his own recipe for success.

Event-Based Aspect-Oriented Programming

Robert Filman, Research Institute for Advanced Computer Science, NASA Ames Research Center, Moffett Field


For many applications, most code is not devoted to implementing the primary I/O functionality, but instead addresses other concerns, such as reliability, availability, responsiveness, performance, security, and manageability. Conventional programming practice requires the programmer to keep all these other "ilities" in mind while coding and to explicitly invoke behavior at exactly the right places to achieve them. Aspect-Oriented Programming (AOP) is an emerging technology for allowing the separate specification and coding of multiple concerns, while nevertheless providing mechanisms to automatically meld these separate expressions into working programs. This talk presents a pair of AOP systems, past work on the Object Infrastructure Framework (OIF) and current work on event-based quantification, and provides some observations on the distinguishing characteristics of AOP technology. OIF is a distributed object technology that implements separate concerns as dynamic wrappers on object components. Interesting elements of OIF include its mechanisms for application and aspect communication, its dynamic nature, and its language for expressing where aspects apply to base code. Current work is on understanding AOP in terms of quantification over the structures of program text, the results of static program analysis, and the events in program execution. Initial work on event-based quantification, an attempt to map directly and widely the interesting properties of programs into transformations that realize those properties, will be mentioned also.

Payment Card Security

Kim Wagner, VISA Worldwide Services, San Francisco


Payment card fraud is a billion dollar global industry. Moreover, the fraud picture is constantly changing due to the rapid emergence of new payment mechanisms as well as the evolving battle between new frauds and new countermeasures. This presentation will give a snapshot of the prevailing threats and countermeasures, with a focus on card-present transactions.

The Design Of The Vmware Vmkernel --An Os Kernel For Managing Virtual Machines

Kinshuk Govil, VMWare, Palo Alto


VMware ESX Server is a platform for running many Intel-x86 virtual machines on a single physical machine for purposes of consolidating workloads and simplifying system management. ESX Server runs an OS kernel specifically designed to manage virtual machines (VMs). This OS kernel, known as the VMkernel, provides strict resource allocation guarantees for VMs, highly efficient I/O, and advanced reliability features. It runs on servers with up to 16 processors and can manage up to 10 VMs per processor. This talk describes the architecture of the VMkernel, some of the unique issues that it solves in order to manage VMs effectively, and interesting research topics that remain.