  Domain experts are increasingly employing machine learning to solve their
domain-specific problems. This article presents six key challenges that a
domain expert faces in transforming their problem into a computational
workflow, and then into an executable implementation. These challenges arise
out of our conceptual framework which presents the "route" of options that a
domain expert may choose to take while developing their solution.
  To ground our conceptual framework in the state-of-the-practice, this article
discusses a selection of available textual and graphical workflow systems and
their support for these six challenges. Case studies from the literature in
various domains are also examined to highlight the tools used by the domain
experts as well as a classification of the domain-specificity and machine
learning usage of their problem, workflow, and implementation.
  The state-of-the-practice informs our discussion of the six key challenges,
where we identify which challenges are not sufficiently addressed by available
tools. We also suggest possible research directions for software engineering
researchers to increase the automation of these tools and disseminate
best-practice techniques between software engineering and various scientific
domains.

Software Engineering