Model-Integrating Microservices: A Vision Paper

2016 
Model-integrating development is a novel approach that aims to provide a comprehensive conceptual framework for the engineering of flexible software systems. The atomic building blocks for architecting model-integrating software are modelintegrating components which support the modular cooperation of flexible models and efficient code at runtime. Model-integrating components achieve flexibility by using models at runtime and operations on them like querying, transforming and interpreting. Microservices achieve flexibility by upgrading whole components at runtime. In this short paper, we sketch the vision of Model-Integrating Microservices (MIMs) that combine the strengths of model-integrating components with microservices to support continuous software engineering. With this early work, we intent to initiate a fruitful discussion about architectural design considerations in the community. 1 Background and Motivation Model-Integrating Development (MID) [Der15] is a novel approach that aims to provide a comprehensive conceptual framework for the design and development of flexible software that can be adapted easily and – in parts – even autonomously [ST09]. Moreover, being able to make changes quickly and to evolve software easily also supports longevity [GRG15]. We observe that these capabilities are similarly useful in the emerging trend of Continuous Software Engineering (CSE). The building blocks for MID are Model-Integrating Components (MoCos) which we have presented and implemented in previous research [DEIE14]. MoCos result from the symbiosis of Component-Based Development (CBD) [SGM02] and Model-Driven Development (MDD) [BCW12] concepts. A MoCo is a non-redundant, reusable and executable combination of logically related models and code in an integrated form where both parts are stored together in one component. In traditional MDD, models (e.g., UML activity models, feature models, component models) are used at design time. In contrast, in MID models are used directly at runtime, too. As a result, the internals of MoCos can be easily monitored and analyzed using model queries, as well as systematically modified using repeatable model transformations. The same techniques can be used for evolving components using an editor during development and maintenance, and adapting them at runtime using an administration panel or an autonomic adaptation manager component. By combining the strengths of modeling languages (e.g., abstraction, separation of conCopyright © 2016 for the individual papers by the papers' authors. Copying permitted for private and academic purposes. This volume is published and copyrighted by its editors. M. Derakhshanmanesh, M. Grieger: Model-Integrating Microservices
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    11
    References
    7
    Citations
    NaN
    KQI
    []