  The development of Machine Learning (ML) models is more than just a special
case of software development (SD): ML models acquire properties and fulfill
requirements even without direct human interaction in a seemingly
uncontrollable manner. Nonetheless, the underlying processes can be described
in a formal way. We define a comprehensive SD process model for ML that
encompasses most tasks and artifacts described in the literature in a
consistent way. In addition to the production of the necessary artifacts, we
also focus on generating and validating fitting descriptions in the form of
specifications. We stress the importance of further evolving the ML model
throughout its life-cycle even after initial training and testing. Thus, we
provide various interaction points with standard SD processes in which ML often
is an encapsulated task. Further, our SD process model allows to formulate ML
as a (meta-) optimization problem. If automated rigorously, it can be used to
realize self-adaptive autonomous systems. Finally, our SD process model
features a description of time that allows to reason about the progress within
ML development processes. This might lead to further applications of formal
methods within the field of ML.

Software Engineering;Machine Learning