Development

We provide a wide range of development services, from small proof-of-concept prototypes to turnkey systems, where we develop the entire product from scratch. Our staff includes some of the Erlang community's most seasoned experts on building complex, fault-tolerant systems, and we continuously work with some of the world's most noted researchers in Computer Science. We use agile methods and model-based testing in all our projects.

We release some of our generic components as Open Source. We use these components ourselves in commercial products. One of such components is the Elarm.

Elarm is an Alarm Manager for Erlang. It is designed in such a way that it can be easily included in Erlang based systems and can be easily used. Elarm stores the alarms on the node (in ets by default, but the backend can be changed). This makes it easier for the node to have a REST/SNMP/web/etc. interface that shows the node's alarms, since those interfaces can ask Elarm for the list of alarms, which will include the alarm state (new or acknowledged), severity, and quite a few other fields.

 The code is available on GitHub (https://github.com/esl/elarm),  together with the README that describes the further features (including acknowledging and commenting alarms, and subscribing to them).

Elarm is in part funded by the RELEASE project, which is an EU FP7 STREP (287510)  project that aims to scale the radical concurrency-oriented programming paradigm to build reliable general-purpose software, such as server-based systems, on massively parallel machines.

We operate using the DSDM approach and are expert in Test Driven Development, on which we also provide training.

Research

We have a strong commitment to research, and have worked consistently to bring research and academia together in the Erlang community. We regularly give presentations and serve on committees at major academic conferences, and cooperate with universities world-wide in different research projects. We invest at least 5% of our annual revenue in research.

Some notable research projects are:

Our staff have also been involved in other research projects:

Testing

We are committed to Agile development methods and test-driven development (TDD). Through our participation in the ProTest project and partnership with Quviq, we have developed expertise in Property-First Development (PFD) using QuickCheck. PFD is like TDD on steroids, and we use it in all our projects where appropriate. Test suites and QuickCheck properties are automatically executed for each build using our in-house build system.

We have extensive experience with load testing and live debugging of Erlang-based products, and even offer a special course for test and support engineers. We have also applied our test automation and property-based testing techniques to non-Erlang components and embedded devices. If you are looking to use Erlang solely for your test automation needs, we are more than willing to help you get started.

System Development

We draw on our long experience and extensive network when designing whole systems from scratch. We can help you describe the system architecture to match your requirements on reliability and scalability, and we can integrate appropriate Open Source or third-party components.

We work incrementally and provide regular updates on our progress.

For examples of some of our projects, see Case Studies