Validation on steroids: high speed for very large scale EMF models
French Social Security is currently effecting a major change in its data collection system and EMF and Eclipse are at the heart of the technical solution designed to implement the electronic data interchange (EDI) channels involved.
Data has been collected directly from payroll services by the various social security agencies for some time now. This is done through several different EDI channels. The rework aims at grouping all EDI channels into a single one (named DSN, for nominative social declaration), thus simplifying the data collection overall infrastructure, and also limiting the number of different transmission systems payroll services have to handle (preparation of these transmissions tend to be dreaded moments in the life of a payroll service bureau).
One of the main difficulties of this business area lies in ever changing requirements in specifications. Indeed, transmissions formats have to support every new regulation. Given that these specifications routinely handle up to 900 field definitions and 700 consistency rules, reducing time to production and development costs has become a major concern.
To face this challenge, the CNAV (French national agency for retirement pensions) department in charge of developing the transmission control software envisioned a form of domain specific approach combining:
The specification of consistency rules in a textual DSL (these are first order logical assertions including domain specific predicates and variables);
The modeling of transmitted data using a domain specific model and the associated editor.
The overall goal was to give business experts the possibility to elaborate the specification for the EDI system in such a way that:
the model and rules editor is able to generate the EDI normative documentation from these specifications;
the model editor is able to generate an executable validation tool from these specifications (that is, a tool which validates the transmitted data’s compliancy with the standard made of all the requirements expressed in the normative documentation).
This approach removes the need for a tedious development cycle, especially dangerous when it depends on a protracted requirements elicitation process, and all the misunderstandings it may entail. It is vital to ensure the needed reduction in time to production and development costs.
‘Domain Specific Modeling‘ and ‘generative programming’ were ideal candidates to attain these goals. The technical architecture of the tools which have been developed in collaboration with the company Obeo relies heavily on Eclipse and EMF.
The resulting generated validators are currently used in the early phases of the DSN which some compagnies already adopted as an EDI channel to transmit payroll data to social security agencies.
In this talk, we aim at bringing a return on this experience to the Eclipse and EMF community. We intend to explain how the EMF tooling allowed us to define a clever data modeling meta-model that provides the right level of abstraction to business experts yet fulfilling their needs. We also intend to mention the numerous pitfalls we encountered over the course of this work, some of which may prove useful to improve and enhance EMF and Eclipse.