Venari/ML Interfaces and Examples

Abstract

Transactions are a well-known and fundamental control abstraction that arose from the database community. Application programmers can treat a sequence of operations as an atomic (all-or-nothing) unit and rely on the runtime environment to guarantee serializability of concurrent transactions and persistence of effects of committed transactions. In this report, we present interfaces, expressed in Standard ML, for creating and controlling transactions. Unlike other transaction-based high-level programming languages such as Argus and Avalon, Venari/ML is the first to support multi-threaded transactions, where each transaction may have multiple threads of control executing within its scope. We present a set of simple examples that show how to use Venari/ML interfaces individually and also in some useful combinations. We also present a larger example of searching a database of BibTEX entries. This report is intended primarily for use by an SML programmer whose application requires transactional properties

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Mar 01, 1993
Accession Number
ADA265416

Entities

People

  • Darrell Kindred
  • Jeannette Wing
  • Karen Kietzke
  • Manuel Faehndrich
  • Nick Haines

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • C4I

DTIC Thesaurus Topics

  • Application Software
  • Computations
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Configuration Management
  • Databases
  • Debugging
  • Hash Tables
  • Language
  • Operating Systems
  • Programming Languages
  • Side Effects
  • Software Development
  • Standards
  • Trees (Data Structures)

Fields of Study

  • Computer science

Readers

  • Database Systems and Applications
  • Parallel and Distributed Computing.
  • Systems Analysis and Design