FpML: Initial Design Tradeoffs

Axel Kramer, XML Developers' Conference 1999, Montreal (Canada)

FpML (Financial Products Markup Language) is an XML-based language for describing derivative instruments in the financial industry. Its aim is to standardize the external representation of those kind of instruments and thus to enable a streamlining of the trading and processing of such instruments between financial institutions as well as to open new business opportunities with regards to the Internet.
The development of FpML is financial industry driven and was initially a collaborative effort between J.P.Morgan and PricewaterhouseCoopers. It is moving to an open process with the establishment of committees composed from financial institutions and vendors.
In the initial development phase of FpML many technical decisions and tradeoffs were made. This talk is about moving those before an expert XML audience in order to initiate a two-way dialog: explaining how we used XML and what difficulties we encountered, and getting feedback from others with similar experience.
The main areas we like to discuss in this talk are: expressing object-oriented data, element composition, and validating options. Taken together, decisions in those three areas largely shape our representation of financial instruments in FpML, and will, in our opinion, shape the representation of complex data structures in other XML based data representation languages as well.
XML and its usage are still evolving; on one axis this means moving from a document centric point of view towards a data centric point of view. This will put pressure on certain areas that were originally not as crucial. We hope this contribution opens up some of those areas for discussion.

Slides (for recent versions of MS Internet Explorer) Slides
Handouts (pdf, 818 KB) Handouts

An XML-based Testing Framework for a Financial Application

Axel Kramer, XTech '99 Conference, San Jose (USA).

In this talk we describe various aspects of an XML-based testing framework that was developed in the financial industry for a derivatives pricing application. The innovative aspect of this framework is that the test cases are not stated explicitly, but instead, using an XML-based language, in a generative manner that allows for concise descriptions, output specification, as well as the factoring and nesting of tests.  

Das Java-Konzept: Virtuelle Maschine und Binärdateien. Neue Möglichkeiten für aktive Online-Dokumentation

Axel Kramer & Patricia Hallstein, T.I.E.M. Conference, Wart (Germany), 1997.

In: "Technische Information in Elektronischen Medien". Eds. Klaus Eickemeyer et. al. Lübeck (Germany), 1997.
ISBN 3-7950-4400-6

Java presents new perspectives for creating technical documentation for networks (WWW and intranets) of a more interactive and multimedia nature. Our presentation offers an insight into the concepts of the virtual machine which is actually the ground stone for the tremendous success enjoyed by Java as the new object-oriented programming language in the context of the WWW. Both the advantages and the disadvantages of this technology will be emphasized

Executing Java Bytecodes in Smalltalk

Kerry LeClue & Axel Kramer, DevCon 1996, Wiesbaden (Germany)

Both, Java and Smalltalk, make use of an intermediate, well-defined representation of binary code which is executed by a virtual machine. Even though the languages are quite different, the underlying representations and machinery are similar. [...]

This talk describes our experience in constructing a system that translates Java binaries into Smalltalk. We explain differences between the two VMs and then illustrate the approach we took, what problems we encountered and how we solved them. Finally we evaluate our approach, discussing the current state and what we would do differently if we were to start again. [...]

Java's Binärdateien und die Virtuelle Maschine

Patricia Hallstein & Axel Kramer, Software DevCon '96. Wiesbaden (Germany), 1996. In: "Software DevCon '96 Conference Proceedings". New York et. al.: SIGS Books, 1996.

Ein interessanter und viel diskutierter Aspekt Javas ist die Möglichkeit, Programme dynamisch in WWW-Browser zu laden und auszuführen. Dabei wird nicht der Sourcecode dieser Programme übertragen, sondern der übersetzte maschinenunabhängige Binärcode. Javas in den WWW-Browser integrierte Virtuelle Maschine bindet dann diesen Binärcode in das lokale System ein und führt ihn aus.

Dieser Vortrag verfolgt zwei Ziele: Zum einen erklärt er, wie es zu diesem Konzept kam und wie dies im Detail passiert: Woraus besteht der Binärcode und warum ist er so aufgebaut? Wozu gibt es die Virtuelle Maschine (VM) und wie funktioniert sie? Wie ist ihr Befehlssatz aufgebaut? Und schließlich: wie wird der Binärcode in ein laufendes System eingebunden? Zum anderen diskutieren wir, welche Auswirkungen, Vorteile und Nachteile sich aus diesem Konzept für Java-Programme und -Projekte ergeben können.

Der Vortrag richtet sich an drei Gruppen.
Anwendungs-EntwicklerInnen werden verstehen, wie Java "von innen" funktioniert, und welche Optimierungsmöglichkeiten Just-In-Time-Compiler bieten können - eine Basis, um z. B. potentielle Tradeoffs wie Performance vs. Speicherbedarf besser einschätzen und beurteilen zu können.
System-EntwicklerInnen, die anfangen, sich mit Java-Decompilern, -Interpretern, oder -Compilern zu beschäftigen, wird der Vortrag einen schnellen Einstieg in die Materie bieten.
Für technisch versierte Projekt-ManagerInnen ist darüberhinaus interessant, zu sehen, wie potentiell aus dem Binärcode Programmteile rekonstruierbar sind. So werden neben den Chancen auch die möglichen Risiken von Java-Projekten erkennbar.

Java VM

Axel Kramer, SIGS Java Developers' Conference 1996, New York City (USA)

This talk explores the format and execution of Java binaries. These are files that a Java compiler generates from Java sources, and which a Java virtual machine can check, load and execute.

Java binaries contain much more information than typical linked a.out files and the talk explores the rational, the tricks, their format, and their execution by a Java virtual machine.

This gives you, as a Java developer or project manager, a better understanding on the workings of the Java internal machinery, lets you appreciate the leverage you get with such an approach, and makes you aware about how exposed your code is in its compiled form.

Classifying Two Dimensional Gestures in Interactive Systems

Axel Kramer, International Gesture Workshop 1997, Bielefeld (Germany)

This paper motivates and presents a classification scheme for two-dimensional gestures in interactive systems. Most pen-based systems allow the user to perform gestures in order to enter and execute commands, but the usage of gestures can be found in other interactive systems as well. Much research so far has been focused on how to implement two-dimensional gestures, how to recognize the users input, or what context to use gestures in.

Instead, the focus of this paper is to explore and classify interactive characteristics of two-dimensional gestures as they are used in interactive systems. The benefits for the field are three-fold. First, such a classification describes one design space for the usage of two-dimensional gestures in interactive systems and thus presents possible choices to system designers. Second, empirical researchers can make use of such a classification to make systematic choices about aspects of gesture based systems that are worth studying. Finally, it can serve as a starting point for drawing parallels and exploring differences to gestures used in three-dimensional interfaces.

Copyright (c) 1999-2006 Patricia Hallstein & Axel Kramer