7/26/2022
99

Obol - WordReference English dictionary, questions, discussion and forums. We would like to show you a description here but the site won’t allow us.

Charon's obol is an allusive term for the coin placed in or on the mouth of a dead person before burial. Greek and Latin literary sources specify the coin as an obol, and explain it as a payment or bribe for Charon, the ferryman who conveyed souls across the river that divided the world of the living from the world of the dead. Obol synonyms, obol pronunciation, obol translation, English dictionary definition of obol. Obols also oboli A silver coin or unit of weight equal to one sixth of a drachma, formerly used in ancient Greece.

A Security Protocol Programming Language (and Runtime)

Obol is part of a project to investigate properties of securityprotocols, what they are, how they behave, how they interact, how to dealwith them. The Obol language grew out of a desire to escape thedistractions of low-level implementation efforts, and the need to experimentand express security protocols as independent programs, closer to the levelon which security protocols are analysed.

NB! Other Obols:
  • If you are looking for the object-oriented language that was originally designed to introduce the conceptual foundations of object-oriented programming with minimal fuss, named Obol, you unfortunately come to the wrong Obol. Please follow this link instead.
  • There is also 'Obol, A Language for Open Bio-Ontologies'.
  • What's it all about?
    Obol is a specialized high-level programming language for securityprotocols. The idea is to program closer to the abstractions used todescribe and analyze security protocols, and leave all the nasty details tothe runtime.The runtime will then handle 'mundane' issues such as messagerepresentation, communication, cryptographic transformations and so on.

    What's the point of that?
    By focusing on the security aspects of the protocol being implemented,one avoid the typical entanglement of security protocol code, low-levelcryptographic functions, and application logic.Obol keeps these three aspects separate, resulting in a clean, highlymodular and very flexible security protocol framework.

    Think of it as trying to do for security protocols what SQL did for databases.

    What's it implemented in?
    The most mature (and actively developed) runtime version is implementedin Java, using ANTLR for the parsing.Earlier prototypes were implemented in Common Lisp and Python.

    What can it be used for?
    Security protocols, or any protocol structure that involve composition andtransformation.Obol is interpreted, and protocols can very easily be upgraded.The runtime's modular structure allows for new message representationformats, cryptographic primitives, communication technology and so on, to beadded dynamically.

    What does it look like?
    As an example, consider the typical way a message in a securityprotocol is described:

      A → B: A, B, {A, B, Na}Kab
    The above means that A sends B a message consisting of thesender's name, the intended recipient's name, and then encrypts a repetitionof the names along with a nonce Na(random value) using the shared-keyKab.We have not made the assumption that Obol must run on both protocolendpoints, so we must implement both sides (both A andB):
    A side (send B A B (encrypt Kab A B Na)
    B side (receive A A B (decrypt Kab A B *Na))

    In the above example we assume that A and BOboli know about eachother, and that they share the key Kab.However, the nonce Na is unknown to B, so B cannot recognize it, but canassign the unknown datum to a symbol, which is what the *Na constructdoes.

    How can Obol be used?
    Two ways:

    Obol
    1. An application must connect to the Obol runtime and request that it starts an Obol protocol, or script. The application receives a handle which it can use to communicate with the script instance, i.e. starting and stopping the protocol execution, setting and retrieving values the script requires and provides.
    2. For experimenting with the language, there's a very simple command-line interface (· la python or lisp). In your shell, just invoke
        % java -jar Obol.jar
      or
        % java -jar Obol.jar testParser
      Using a readline wrapper (eg rlwrap) is strongly recommended.

    An Obol For Charon

    Where can I get Obol?
    Obol just moved here to friendly SourceForge, and a zip-file can be downloaded via theproject's download page.This zip-file contains these files:
    FilePurpose
    Obol.jarJar file containing the Obol classes and packages.
    API.javaInterface describing the Obol runtime.
    ScriptHandle.javaInterface describing a script instance handle.
    ReturnValue.javaInterface describing symbols and values returned via the ScriptHandle interface.
    testScript.javaExample application that invokes any Obol script.
    selftest.obolObol interpreter selftest script.

    You will also need the following in your $CLASSPATH:
    • ANTLR Jar file (antlr-2.7.5.jar)
    • (Optional) Log4J is required if you use a pre-2007 version. Newer versions provide a built-in fallback if log4j turns out to be unavailable at runtime.
    • (Optional) Java's default cryptographic abilities might be adaquate for your use, but for more options please use a decent crypto provider such as Bouncy Castle, or the good old Cryptix. Others might work too (caveat emptor).

    To enable and play with the experimental generate-eval callout, you mustplace one or more of these interpreters in your classpath:

    • Armed Bear Common Lisp (ABCL), a very nice and complete CL. Installation can be a little messy, but is well worth it. Alternatively, use the ABCL embedded in the J-editor, by putting j.jar (found in the binary distribution of J) in your classpath.
    • Jatha, a common lisp library. Easy install, hard to use (incomplete subset CL).
    • Jython, a.k.a. Python in Java.
    With one of the above, you can do things like
      (believe x 2048)
      (generate y eval lisp '(expt 2 x)' x)
      (generate z eval python '2**x' x)
    in your favourite language!

    Obol Investment

    Where is the source code?
    Browse the source code in theSourceForge svn repository, or use svncheckout:

    Documentation?
    For a quick tutorial or overview, please see the Dr.Dobbs article in the list of Publications below.

    There's a detailed technical report in the pipeline, which will be available here Real Soon Nowtm.The very impatient can get a copy of the rather rough work-in-progressdocument by sending me an email.

    There's also an informal howto/FAQ available.

    Obol-related Publications

    • Gaining Flexibility by Security Protocol Transfer, P.H. Myrvang, T. Stabell-Kulø, The Twelfth IEEE Symposium on Computers and Communications, Aveiro, Portugal, July 2007.
    • Parameterized Communication, P.H. Myrvang, Dr.Dobbs Journal, September 2006.
    • The Role of Reflective Middleware in Supporting Flexible Security Policies, Na Xu, G.S. Blair, P.H. Myrvang, T. Stabell-Kulø, P. Grace. To appear in proceedings of Node2006, Erfurt, Germany, September 2006.
    • The Obol Protocol Language, P.H. Myrvang, T. Stabell-Kulø, 14th International Workshop on Security Protocols, Cambridge, UK. To appear in Springer LNCS
    • Security and Middleware, A. Andersen, G. Blair, P.H. Myrvang, T. Stabell-Kulø, WORDS 2003, Guadalajara, Mexico, January 2003
    • Reflective Middleware and Security: OOPP Meets Obol., A. Andersen, G. Blair, P.H. Myrvang, T. Stabell-Kulø, A. Bottoni, and T.A. Nilsen Røst, The 2nd International Workshop on Reflective and Adaptive Middleware, Middleware 2003, Rio de Janeiro, Brazil, June 2003.
    There's also an early technical report from the work done on the Lisp-basedprototype (there's been lots of syntax and semantics changes since then):
    • The design and implementation of Obol, T. Stabell-Kulø, T. S. Skogan and P. H. Myrvang, Computer Science Technical Report, University of Tromsø, 2004.
    See also the Pasta Project.

    Obol

    The obol was an ancient silver coin. In Classical Athens, there were six obols to the drachma; it could be exchanged for eight chalkoi. Two obols made a diobol, weighing around 1.41-1.43 grams of silver. Triobols were also in use.In English, the coin is usually called an obol, another name for a halfpenny.An obelískos is a 'small obol', called so in jest because of its huge size.According to Plutarch, the Spartans had an iron obolus of four chalkoi. Sparta chose to retain the use of the cumbersome, impractical 'oboloi' rather than coins proper, so as to discourage the pursuit of wealth. The obolus is also a measurement of weight. In ancient Greece it was defined as one sixth of a drachma, or about 0.5 gram. In ancient Rome it was defined as 1/48 of a Roman ounce, or about 0.57 gram, but was never issued as a coin as part of the early republican coinage system. Below the drachm was the dupondius to the quartuncia. In modern Greece it is equivalent to one decigram, or 0.1 gram.The word 'obolos', also 'obelos' or 'odelos' in other dialects, means a long thin metal nail or rod, such as a spit. 'Oboloi' were used as currency in early times. They represented small ingots of copper or bronze of standardized weight, and were traded as such. The French archaeologist T. Reinach defined them as 'ustensiles monnais' i.e. utensils-money. During excavations at Argos in the Peloponnese, several dozens of rod-shaped oboloi were uncovered. They are dated well before 800 BC and they are displayed at the Numismatic Museum of Athens.