Skip to main content


The Sysl language is designed to capture information about a large-scale software system, composed of many services, databases, and other assets.

It is a specification language, meaning it seeks to describe a state of the world, be it current or a design for the future. As specification languages go, Sysl is quite lenient, allowing the user to specify as much or as little detail as they like. Sysl specifications are expected to evolve over time as more decisions are made and details are worked out.

This section contains a page for each element of the Sysl language, each containing everything you might want to know. It makes liberal use of the Bank example to demonstrate the concepts described. For clarity, names of Sysl concepts such as Application and Type will be capitalized when used to refer to those concepts.