Machine Learning for Emergent Middleware

Topic Description

How can I use my favourite taxi application in any city in the world? How can the command and control centre of one country effectively use the resources offered by another country in emergency situations? How could a company transfer the construction of components between the smart manufacturing infrastructures of different suppliers to take advantage of changing costs, proximity to customers or other factors? In order to address these challenges, it is necessary for heterogeneous distributed systems to interoperate, thereby synthesising “Emergent Middleware” to mediate interactions among these systems. However, this synthesis relies on rich specification of software components that accounts for the autonomous operation of these components. Machine learning techniques can be used to extract such models, spanning statistical learning (e.g., Support Vector Machines) to infer the semantics of the functions of the software system and automata learning (e.g., L*) to extract the related behaviour.
While machine learning significantly improves the composition of heterogeneous software systems by extracting their models based on their interfaces, it also induces some inaccuracy that may lead the composed system to reach an erroneous state. This inaccuracy is inherent in learning techniques and cannot be totally removed. Hence, we can simply accept this imprecision and apply engineering techniques to increase precision over time, such as a control loop in which the system is continuously monitored so as to evaluate the correspondence between the actual systems and their models. A major challenge is to understand the synergy between learning and emergent middleware synthesis techniques. Indeed, the correctness of the emergent middleware is conditioned by the correctness of the models of the software systems for which the related semantic information has been learned.

Skills Required:

• Excellent mathematical skills
• Background in distributed systems and middleware technologies
• Background in software development

Background Reading:

• Meinke, K., & Bennaceur, A. (2018). Machine Learning for So ware Engineering.
• Louridas, P., Ebert, C. (2016): Machine Learning. IEEE Software 33(5): 110-115
• Bennaceur, A., & Issarny, V. (2015). Automated synthesis of mediators to support component interoperability. Software Engineering, IEEE Transactions on, 41(3), 221-240.
• Bennaceur, A., Issarny, V., Sykes, D., Howar, F., Isberner, M., Steffen, & Moschitti, A. (2013). Machine learning for emergent middleware. In Trustworthy Eternal Systems via Evolving Software, Data and Knowledge (pp. 16-29). Springer Berlin Heidelberg.
• Burgess, M. and Fagernes, S., 2006. Promise theory-a model of autonomous objects for pervasive computing and swarms. ICNS, 6, p.118.

Report an error on this page