Integrating multiple calendars using τZAMAN

Bedirhan Urgun, Curtis E. Dyreson, Richard T. Snodgrass, Jessica K. Miller, Nick Kline, Michael D. Soo, Christian S. Jensen

Research output: Contribution to journalArticlepeer-review

5 Scopus citations

Abstract

Programmers are increasingly interested in developing applications that can be used internationally. Part of the internationalization effort is the ability to engineer applications to use dates and times that conform to local calendars yet can inter-operate with dates and times in other calendars, for instance between the Gregorian and Islamic calendars. τZAMAN is a system that provides a natural language-and calendar-independent framework for integrating multiple calendars. τZAMAN performs 'runtime-binding' of calendars and language support. A running τZAMAN system dynamically loads calendars and language support tables from XML-formatted files. Loading a calendar integrates it with other, already loaded calendars, enabling users of τZAMAN to add, compare, and convert times between multiple calendars. τZAMAN also provides a flexible, calendar-independent framework for parsing temporal literals. Literals can be input and output in XML or plain text, using user-defined formats, and in different languages and character sets. Finally, τZAMAN is a client/server system, enabling shared access to calendar servers spread throughout the Web. This paper describes the architecture of τZAMAN and experimentally quantifies the cost of using a calendar server to translate and manipulate dates.

Original languageEnglish (US)
Pages (from-to)267-308
Number of pages42
JournalSoftware - Practice and Experience
Volume37
Issue number3
DOIs
StatePublished - Mar 2007
Externally publishedYes

Keywords

  • Calendric systems
  • Datetime representation
  • Multiple calendars
  • Temporal data types
  • Time

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Integrating multiple calendars using τZAMAN'. Together they form a unique fingerprint.

Cite this