A Model-Driven Approach for Real-time Role-Based Communication - Vieira, Marcelo Barros de Azevedo; Carvalho, Sérgio Teixeira; Costa, Fabio Moreira; Bromberg, David (Anais do Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos (SBRC); 2020: Anais do XXXVIII Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos, 2020)
Recent years have seen the inception of many domain-specific modelling languages, enabling to overcome some of the main difficulties found in software development. The use of models has a particular impact on the implementation phase, as models tend to be closer to the problems to be solved than code. This paves the way to enable application construction by non-experts in software development, such as domain specialists. In this paper, we exploit the use of models in the domain of real-time communication, which poses significant challenges for application construction due to the multitude and intricacy of the technologies involved. We propose RBCML, a communication modelling language for the high-level specification of real-time communication sessions based on the roles that users play in the sessions. The language is processed using a combination of partial code generation and dynamic model interpretation, resulting in the construction of fully functional communication applications. The paper describes RBCML and its implementation on top of W3C’s Web Real-Time Communication protocols (WebRTC). An evaluation is presented to compare the use of RBCML with code-based development and to characterize the performance of communication session establishment using the language.