A Model-Driven Approach for Real-time Role-Based Communication
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.
Bézivin, J. (2005). On the unification power of models. Software & Systems Modeling, 4(2):171–188.
Cho, K., Fukuda, K., Esaki, H., and Kato, A. (2006). The impact and implications of the growth in residential user-to-user traffic. In ACM SIGCOMM Computer Communication Review, volume 36, pages 207–218. ACM.
Clarke, P. J., Hristidis, V., Wang, Y., Prabakar, N., and Deng, Y. (2006). A declarative approach for specifying user-centric communication. In International Symposium on Collaborative Technologies and Systems (CTS’06), pages 89–98.
Contreras, F. R., Alvarez, B., Sanchez, P., and Pastor, J. A. (2016). U-DSL: A domain specific language for ubiquitous systems. IEEE Latin America Transactions, 14(10):4416–4420.
de Azevedo Vieira, M. B. (2018). Uma abordagem dirigida por modelos para comunicação em tempo real. Master’s thesis, Instituto de Informática, Universidade Federal de Goiás, Goiânia-GO, Brazil. (in Portuguese).
de Farias, C. R., Leite, M. M., Calvi, C. Z., Pessoa, R. M., et al. (2007). A MOF metamodel for the development of context-aware mobile applications. In Proceedings of the 2007 ACM symposium on Applied computing, pages 947–952. ACM.
ITU-T (2000). ITU-T Recommendation F.703 - Multimedia Conversational Services. Standard ITU-T F.703, International Telecommunications Union - Telecommunication Standardisation Sector, Geneva, CH.
Jia, Q., Xie, R., Huang, T., Liu, J., and Liu, Y. (2017). The collaboration for content delivery and network infrastructures: A survey. IEEE Access, 5:18088–18106.
Medvidovic, N. and Taylor, R. N. (1997). A framework for classifying and comparing architecture description languages. ACM SIGSOFT Software Engineering Notes, 22(6):60–76.
Saltz, J. S. and Shamshurin, I. (2017). Does pair programming work in a data science context? an initial case study. In 2017 IEEE International Conference on Big Data (Big Data), pages 2348–2354.
Sredojev, B., Samardzija, D., and Posarac, D. (2015). WebRTC technology overview and signaling solution design and implementation. In 2015 38th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), pages 1006–1009.
Tindall, N. and Harwood, A. (2015). Peer-to-peer between browsers: Cyclon protocol over WebRTC. In 2015 IEEE International Conference on Peer-to-Peer Computing (P2P), pages 1–5.