An Empirical Evaluation of Flow Based Programming in the Machine
  Learning Deployment Context
  As use of data driven technologies spreads, software engineers are more often
faced with the task of solving a business problem using data-driven methods
such as machine learning (ML) algorithms. Deployment of ML within large
software systems brings new challenges that are not addressed by standard
engineering practices and as a result businesses observe high rate of ML
deployment project failures. Data Oriented Architecture (DOA) is an emerging
approach that can support data scientists and software developers when
addressing such challenges. However, there is a lack of clarity about how DOA
systems should be implemented in practice. This paper proposes to consider
Flow-Based Programming (FBP) as a paradigm for creating DOA applications. We
empirically evaluate FBP in the context of ML deployment on four applications
that represent typical data science projects. We use Service Oriented
Architecture (SOA) as a baseline for comparison. Evaluation is done with
respect to different application domains, ML deployment stages, and code
quality metrics. Results reveal that FBP is a suitable paradigm for data
collection and data science tasks, and is able to simplify data collection and
discovery when compared with SOA. We discuss the advantages of FBP as well as
the gaps that need to be addressed to increase FBP adoption as a standard
design paradigm for DOA.
