Authors:
David Sferruzza
1
;
Jérôme Rocheteau
2
;
Christian Attiogbé
3
and
Arnaud Lanoix
3
Affiliations:
1
LS2N - UMR CNRS 6004 and Startup Palace, France
;
2
LS2N - UMR CNRS 6004 and ICAM, France
;
3
LS2N - UMR CNRS 6004, France
Keyword(s):
Software Engineering, Web Applications, Web Services, Model-driven Engineering, Formal Verifications.
Related
Ontology
Subjects/Areas/Topics:
Applications and Software Development
;
Component-Based Software Engineering
;
Domain-Specific Modeling and Domain-Specific Languages
;
Frameworks for Model-Driven Development
;
Languages, Tools and Architectures
;
Methodologies, Processes and Platforms
;
Model-Driven Software Development
;
Software Engineering
Abstract:
Nowadays, lots of software companies rely on web technologies to test market hypothesis and develop viable
businesses. They often need to quickly build web services that are at the core of their Minimum Viable Products
(MVPs). MVPs must be reliable and are based on specifications and hypothesis that are likely to change.
Model Driven Engineering approaches have been proposed and used to develop and evolve web services. However,
these approaches lack the ability to be suitable for both (i) rapid prototyping, (ii) model verification
and (iii) compatibility with common programming languages. Here we propose a meta-model to express web
services and the related tool to verify models consistency. We adopt a shallow verification process to allow
rapid prototyping by developers who are not formal methods experts, while still offering design-time guarantees
that improve product quality and development efficiency. Web services are defined using parametric
components which enable to express and
formally verify web service patterns and to safely reuse them in other
contexts. We built a tool to check consistency of models and associated components implementations in order
to generate corresponding web services. This allows us to give flexibility to developers, as well as verification
support and an easier onboarding for new developers.
(More)