Domain-Driven Design (DDD) treats domain models as the most important asset to guide software development of micro-services, yet those models are still implicitly represented in programs. Model-Driven Engineering (MDE) regards those models as representable entities that are amenable to automated analysis and processing, facilitating quality assurance while increasing productivity in software development processes. Although this connection is not new, very few approaches facilitate adoption of MDE tooling without compromising existing value, their data. Moreover, switching to MDE tooling usually involves re-engineering core parts of an application, hindering backward compatibility and, thereby, continuous integration, while requiring an up-front investment in training in specialized modeling frameworks. In those approaches that overcome the previous problem, there is no clear indication - from a quantitative point of view - of the extent to which adopting state-of-the-art MDE practices and tooling is feasible or advantageous. In (Boronat, 2019), we advocated a code-first approach to modeling through an approach for applying MDE techniques and tools to existing object-oriented software applications that fully preserves the semantics of the original application, which need not be modified. Our approach consists both of a semi-automated method for specifying explicit view models out of existing object-oriented applications and of a conservative extension mechanism that enables the use of such view models at run time, where view model queries are resolved on demand and view model updates are propagated incrementally to the original application. This mechanism enables an iterative, flexible application of MDE tooling to software applications, where metamodels and models do not exist explicitly. An evaluation of this extension mechanism, implemented for Java applications and for view models atop the Eclipse Modeling Framework (EMF), has been conducted with an industry-targeted benchmark for decision support systems, analyzing performance and scalability of the synchronization mechanism. Backward propagation of large updates over very large views is instant. Your research on this topic will focus on the use of model-driven engineering technology for systematically managing domain models in microservices with the aim of improving the agile software developer experience. ## Incremental Syncing Policies in Data-driven Cloud Software Applications Replication is a widely used technique to increase resilience and availability in cloud systems. This comes at the expense of dealing automated mechanisms for keeping replicas *in sync*. YAMTL (Boronat, 2018) is an efficient data syncing language that can be used from JVM programs and that offers facilities for defining domain-specific synchronization policies. Such synchronization policies can be executed incrementally (Boronat, 2019), minimizing the payload that needs to be transmitted over the network. Your research on this topic will focus on mechanisms for capturing domain-specific synchronization policies in data-driven cloud software systems and for implementing them in microservice and serverless applications. ## Helping Patients with Chronic Conditions using AI A team from Leicester's Hospitals and the University of Leicester has been awarded ยฃ2 million pounds by the UK Space Agency in partnership with NHS England and the European Space Agency (ESA) to develop a new mobile application providing disease specific exercise advice: Personalised Space Technology Exercise Platform (P-STEP). P-STEP will combine real-time high-resolution air quality data with expert-designed disease-specific individualised exercise advice. Exercise is widely recognised as a โmiracle pillโ, however it can be challenging for many people with these long term conditions, which is why the development of this app is so important. AI techniques and recommender systems play a key role in the development of an effective algorithm for supporting medical advice in the aforementioned app. In the context of the P-STEP project, users are patients with long-term health conditions who need to build trust in the system in order to engage with exercise recommendations. Therefore an important goal of our research consists in analysing approaches for improving interaction and trust in recommender systems, by facilitating customization of data that is tracked and analysed and by designing innovative visualization mechanisms that illustrate how the data is used. The key requirements to be prioritized are user satisfaction, trust, transparency and sense of control. ## References
@inproceedings{BoronatFASE19, author = {Boronat, Artur}, title = {Offline Delta-Driven Model Transformation with Dependency Injection}, booktitle = {{FASE} 2019}, pages = {134--150}, year = {2019}, series = {LNCS}, volume = {11424}, publisher = {Springer}, webdoi = {https://doi.org/10.1007/978-3-030-16722-6}, webdownload = {2019-boronat-fase.pdf}, slideshare = {https://www.slideshare.net/aboronat/offline-deltadriven-model-transformation-with-dependency-injection} }
@inproceedings{BoronatASE19, author = {Boronat, Artur}, title = {Code-First Model-Driven Engineering: On the Agile Adoption of MDE Tooling}, booktitle = {Proceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering (ASE 2019), San Diego, CA, November 11-15}, year = {2019}, publisher = {{ACM}}, webdownload = {2019-boronat-ase.pdf}, slideshare = {https://www.slideshare.net/aboronat/codefirst-modeldriven-engineeringon-the-agile-adoption-of-mde} }
@inproceedings{yamtl, author = {Boronat, Artur}, title = {Expressive and Efficient Model Transformation with an Internal DSL of Xtend}, booktitle = {Proceedings of the 21th {ACM/IEEE} International Conference on MoDELS}, publisher = {ACM}, year = {2018}, pages = {78--88}, webdoi = {https://doi.org/10.1145/3239372.3239386}, webdownload = {2018-boronat-models.pdf}, slideshare = {https://www.slideshare.net/aboronat/expressive-and-efficient-model-transformation-with-an-internal-dsl-of-xtend} }