Formalizing Financial Protocols with Xtext, by Denis Ignatovich

Subscribers:
24,000
Published on ● Video Link: https://www.youtube.com/watch?v=6k4JDYg3YcA



Duration: 44:46
334 views
5


Financial markets run on complex algorithms. The industry uses several protocols to describe how their systems are expected to communicate with others - effectively, describing their APIs. One such protocol is FIX (Financial Information eXchange) - widely used for quite some time. Financial services firms (e.g. exchanges, hedge funds and investment banks) share such specifications with their counterparts to allow them to connect to their systems. The protocol specification is relatively vague and informal - at AI, we’re changing this.

Our formal verification system, Imandra, is designed for analysing complex algorithms to ensure they’re designed and implemented safely and fairly. We have created a DSL with Xtext for expressing FIX specifications that trading system developers may share with one another. A specification written in this DSL is then translated into Imandra Modelling Language (IML), a subset of OCaml for which we’ve created a formal semantics. The generated IML code is in turn analysed by Imandra to verify that the specification meets the rules of the protocol and automatically discover non-trivial behaviour that should be tested by the specification’s clients.

In this session, I’d like to describe the application domain and the decisions we made when creating the DSL. I’ll especially cover the important decisions ensuring that the DSL is translatable into a formal language and the generated code is susceptible to formal verification.




Other Videos By Eclipse Foundation


2017-07-11A new framework for Text Edition in Platform: why, what, how? by Mickael Istria
2017-07-11Testing Eclipse plugins: from unit to end to end testing
2017-07-11sensiNact: Open platform for smarter cities - applications in European and Japanese cities
2017-07-11How can you contribute to Eclipse, by Olivier Prouvost
2017-07-11Lean and Easy IoT Applications with OSGi and Eclipse Concierge, by Jan S. Rellermeyer
2017-07-11Visual Studio Team Services can help Eclipse developers? You're kidding me! by François Bouteruche
2017-07-11Learnings from Excel, by Holger Schill & Sebastian Zarnekow
2017-07-11The EMF Parsley DSL: an extensive use case of Xtext/Xbase powerful mechanisms
2017-07-11Introduction to expression languages in Xtext, by Karsten Thoms
2017-07-11EcoreTools Next: Executable DSL made (more) accessible, by Cedric Brun
2017-07-11Formalizing Financial Protocols with Xtext, by Denis Ignatovich
2017-07-11How EASE unleashes the scientific power of Airbus' engineers in Eclipse, by Alain Bernard
2017-07-11Ignite talks, session 2
2017-07-11Debug Java code like a Pro, by Mikaël Barbero
2017-07-11Driving Intelligent Transportation System with Capella, by Jerome Montigny
2017-07-11Jenkins at Scale, Baptiste Mathus & Michael Pailloncy
2017-07-11TypeScript, Future of JavaScript and rise of the transpilers, by Sebastien Pertus
2017-07-11Theia - One IDE Framework For Desktop & Cloud, by
2017-07-11InTheMoodForLife, Open Source Sleep analyser for mood disorders, First award, by S. LAMBOUR
2017-07-11The Big Data Puzzle Where Does the Eclipse Piece Fit? by J. Langley
2017-07-11Building an IoT product from scratch using Eclipse IoT Technologies