Machine learning (ML) researchers study the best practices to develop and support ML-based applications to ensure quality and determine the constraints applied to their application pipelines. Such practices are often formalized as software patterns. We discovered software-engineering design patterns for machine-learning applications by thoroughly searching the available literature on the subject. Among the ML patterns found, we describe in this paper one ML topology pattern, ``ML Gateway Routing Architecture'', in the standard pattern format so that practitioners can (re)use it in their contexts and benefits. The pattern addresses the problem of tight coupling among ML-implemented and non-ML business logic as well as the front-end client by installing a gateway that routes requests.
@INPROCEEDINGS{Washizaki22-PLoP-SEP4MLAPart4,
AUTHOR = {Hironori Washizaki and Foutse Khomh and
Yann-Ga�l Gu�h�neuc},
BOOKTITLE = {Proceedings of the 29<sup>th</sup> Conference on Pattern Languages of Programs (PLoP)},
TITLE = {Software Engineering Patterns for Machine Learning
Applications (SEP4MLA) - Part 4 - ML Gateway Routing Architecture},
YEAR = {2022},
OPTADDRESS = {},
OPTCROSSREF = {},
EDITOR = {Mary Lynn Manns and Eduardo Guerra},
MONTH = {October},
NOTE = {10 pages.},
OPTNUMBER = {},
OPTORGANIZATION = {},
PAGES = {1--10},
PUBLISHER = {ACM Press},
OPTSERIES = {},
OPTVOLUME = {},
KEYWORDS = {Topic: <b>Design patterns</b>, Venue: <c>PLoP</c>},
URL = {http://www.ptidej.net/publications/documents/PLoP22.doc.pdf},
ABSTRACT = {Machine learning (ML) researchers study the best
practices to develop and support ML-based applications to ensure
quality and determine the constraints applied to their application
pipelines. Such practices are often formalized as software patterns.
We discovered software-engineering design patterns for
machine-learning applications by thoroughly searching the available
literature on the subject. Among the ML patterns found, we describe
in this paper one ML topology pattern, ``ML Gateway Routing
Architecture'', in the standard pattern format so that practitioners
can (re)use it in their contexts and benefits. The pattern addresses
the problem of tight coupling among ML-implemented and non-ML
business logic as well as the front-end client by installing a
gateway that routes requests.}
}