The architecture requirements for a distributed AI platform are uniquely addressed through a Model-Driven Architecture. This architecture abstracts application and machine learning code from the underlying platform services and provides a domain-specific language (annotations) to support highly declarative, low code application development.
Model-Driven AI Architecture
The model-driven architecture approach defines system functionality using a platform independent model (PIM) using an appropriate domain-specific language (DSL).
Then, given a platform model, the PIM is translated to one or more platform-specific models (PSMs) that computers can run. This requires mappings and transformations and should be modeled too.
The PSM may use different DSLs or general purpose language. Automated tools generally perform this translation.
The model-driven approach provides an abstraction from the underlying technical services (for example, queuing services, streaming services, ETL services, data encryption, data persistence, authorization, authentication) and simplifies the programming interface required to develop AI apps to a Type System interface.
The model is used to represent all layers of an application including the data interchange with source systems, application objects and their methods, AI-machine learning algorithms and the application user interface. Each of these layers are also accessible as microservices.