\subsection{Background}
\label{background:sec}

\paragraph*{Global Financial Protocols.}

This project tackles fundamental challenges in modern
computing, the development of the universal high-level
modelling framework for the development of distributed
systems, comparable in its usability to core UML diagrams
for object-oriented software development, with a clear
focus on one of the prominent application domains of
distributed computing, the engineering of international
financial protocols (FPs). The FPs are one of the prime
examples of multi-organizational distributed applications:
the execution of FPs through asynchronous messages that
carry diverse financial information is the backbone of the
global and domestic economy.

The world-wide credit crisis in 2009 is one of the
occasions which demonstrated how swiftly
and broadly financial information (for example bonds whose
assets include sub-prime loans) can travel
throughout the world. For each organisation to
effectively control its financial transactions in the
presence of this tight, real-time inter-dependencies, the
participants (e.g. merchants, banks, international funds,
governance bodies) need accurate {\em intelligence} as to
the structure and dynamics of information exchanges
through FPs.

%% \paragraph*{Needs for Descriptions.}

At the heart of this intelligence should lie a clear,
high-level and usable {\bf description} of each FP: the
underlying business model, what kinds of data will be
exchanged in what flow of interactions with what outcomes,
involving what participants, and under what business
constraints. Without such description, it is impossible
for each participant to quickly {\em gather} an accurate
picture of the present; {\em predict} the outcome
of the current practice; and {\em adjust} 
its behaviour to achieve its business goals, including
ICT innovations.

Unfortunately the current state-of-the-art in software
development methodologies falls way-short of providing an
effective framework in this regard.  In the following we
outline the achievements and limitations of the current
practice, in the context of both industry and academia.

\paragraph*{A View from Financial Industry:  The Quest in ISO.}

ISO TC68, the Technical Committee for Financial
Services in ISO, recognized the need for a
mechanism to register and maintain international
FPs under the auspice of ISO. This led to the
establishment of a workig group for FPs, {\bf
  WG4}, which is in charge of drafting the
evolving global standard for FPs, {\bf
  ISO20022}. WG4 is currently chaired by Matthew
Rawlings, a high-profile UK-born software
architect with deep knowledge in FPs and
financial industry, and a collaborator in this
project. In a recent conversation with the PIs,
Rawlings observed, based on his experience in
using the existing technologies for the ISO
standard, that the description of FPs we can
obtain using the current modelling technology
such as UML has the following basic issues:
\begin{enumerate}
\item {\em It is imprecise:} The descriptions of
  protocols are unclear, ambiguous and misleading,
  and are legally unusable.
\item {\em It is incomplete:} It is impossible to
  describe the structure and constraints of FPs in
  their entirety: in particular, an engineeringly
  feasible framework to describe the dynamic aspect of
  FPs is totally missing.
\item {\em It is informal:} The description cannot be
  used for formal reasoning about protocols'
  behaviours; for checking their internal consistency;
  for verifying, either by hand or by machine, the
  conformance of endpoint programs against a
  protocol; for code generation; for
  testing; and for runtime control incl.
  communication monitoring.
\end{enumerate}
There is however one aspect of FPs which {\em
  is} amenable to precise, clear description:
the static message formats and their models.
ISO20022 therefore focuses on this aspect, using
UML as a central technology. Describing structured
knowledge is what UML has been designed for.
And the description has a clear engineering
benefit: the resulting models are high-level
and understandable by business analysis,
while being compilable into widely practiced formats
such as XML and ASN.1 for development and
runtime validation of messages. The use of
high-level models enables flexible 
engineering such as semantic matching of
message fields.

But a message format alone cannot describe a FP
in its entirety: the protocol dynamics, or the
ways asynchronous messages are exchanged in each
instantiation of a given protocol, is at the
heart of FPs as shared artifacts.  In ISO20022,
this dynamic aspect of FPs is called {\em
  message choreography}:
\begin{quote}
{``Every Business Transaction contains its own
  Message Choreography''}\cite{iso_e}
\end{quote}
A precise, complete (up to a suitable
abstraction level) and formal description of
message choreography gives a vital tool for
businesses and society to harness FPs. Indeed,
without having precise knowledge of message
choreography of FPs, how can an organisation,
say an investiment bank, obtain the precise
picture of information exchanges it is engaged
in, predict future paths and control them? 

A long-term goal of WG4 is to identify an
effective method for precisely, completely and
formally describing message choreography of FPs,
and use it in the future version of ISO20022.
WG4 and its chair however recognises the fact
that the current state-of-the-art technologies
and evolutionary approaches based on them cannot
serve this purpose. We elucidate this point
in the next subsection.

% The
% term {\em protocol}, having its origin in
% diplomacy, means a good way (procedure) for
% diplomats to interact in foreign courts. 

% A business practice demands precise, complete and
% formal descriptions of FPs which capture them in
% their entirety, both the statics and the
% dynamics. We now briefly illustrate why the
% technological foundations which enable the
% wholesome descriptions of FPs are currently
% missing, and what challenges need be met to
% reach such technical foundations.

\paragraph*{Limitations of Current Modelling Technologies.}

A modern descriptive technology for {\em sequential}
computation, centring on types and logics for structured
programming, demanded radical simplifications backed up
by general theoretical underpinnings, before reaching
the current mature state. For example, the structured
programming discipline vastly simplifies, without losing
expressiveness, the old days' description of algorithms
purely based on individual calculation steps on specific
machine architecture (``machine languages''). Types and
assertions are now a fundamental part of modelling and
programming technologies, in the form of APIs,
Design-by-Contracts (DbCs), type checking and diverse
forms of logical validations including model
checking. There are two key features of this framework:
\begin{itemize}

\item At their respective abstraction levels, types and
  assertions can represent a large class of software
  behaviour (in fact, all Java libraries are given
  APIs).

\item Types, assertions and programs are stratified to
  give a clean {\em descriptive hierarchy}: types
  describe basic interface, DbC describe refined
  interface and properties, and programs describe
  algorithmic behaviours in detail.
\end{itemize}
However, a descriptive framework with the
corresponding features does {\em not} exist for
distributed applications.

\paragraph*{Perspectives from Software Development Process.} 
The term {\em protocol}, having its origin in
diplomacy, means a good way (procedure) for
diplomats to interact in foreign courts.

The accurate and high-level, implementation-free description
of FPs, including both static and dynamic aspects, will also
have fundamental impact on various stages of software
engineering process. Software architects and business
analysts can now rely on formal description of FPs for
diverse concerns in software engineering of financial
systems, including: extensions and merging of FPs; static
validation of programs' conformance to constraints specified
for FPs; and runtime control of corporate data exchange with
other corporations.

\paragraph*{Foundational Issues.}

What are the types and logics for
communicating processes?

\paragraph*{Linking Theories and Practice.}

The informal nature of the description of FPs hinders urgent
technological demands in financial industry, where
computational finance is moving towards flexible and
efficient real-time data processing which increasingly use
parallelism, as observed in~\cite{ercim-barr}.  In this
setting, financial messages are not processed in a batch
fashion (e.g. once a working day) but in real-time, offering
faster and more flexible reactions to incoming transactions.
This evolution will be a key to the competitiveness of
financial institutions~\cite{ercim-barr}. 

While software industry is providing some support to
financial trading that aims to facilitate information
exchange and service integration (see
\eg~\cite{ibmwp09}), no current framework support the
accurate {\em semantic} and {\em high-level} description
of {\em protocols}, which can capture both the universe
of business information and the dynamics of
interactions, against which we can check the execution
of a protocol as a concrete conversation among
participants. 

\paragraph*{Related Research and Technologies.}

Pi, Petri nets etc.\\

MSCs etc.\\

Philosophical (contexts etc.)\\

Semantic Webs etc.\\

It is worth noting that the theoretical research so far has
privileged the study of dynamic behaviour of systems,
abstracting from the modelling and articulation of data
domain. In real-world, ..

