{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,28]],"date-time":"2026-06-28T10:42:47Z","timestamp":1782643367991,"version":"3.54.5"},"reference-count":34,"publisher":"Springer Science and Business Media LLC","issue":"4","license":[{"start":{"date-parts":[[2020,2,28]],"date-time":"2020-02-28T00:00:00Z","timestamp":1582848000000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2020,2,28]],"date-time":"2020-02-28T00:00:00Z","timestamp":1582848000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Int J Softw Tools Technol Transfer"],"published-print":{"date-parts":[[2020,8]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Smart system applications (SSAs)\u2014a heterogeneous landscape of applications of Internet of things, cyber-physical systems, and smart sensing systems\u2014are composed of autonomous yet inherently cooperating components. An important problem in this area is how to hoist the cooperation of software components forming dynamic groups\u2014ensembles\u2014at the architectural level of an SSA. This is hard since ensembles can overlap, be nested, and be dynamically formed and dismantled based on several criteria. A related problem is how to combine component and ensemble specification with a well-established language supported on multiple platforms. To target these problems, we propose a specification and implementation language Trait-based COmponent Ensemble Language (TCOEL) based on Scala internal DSL, to describe both the architecture and formation of dynamic ensembles of components and their functional internals. To raise the level of expressivity, we introduce the concept of domain-specific extensions (traits) to the TCOEL core to reflect different paradigms\u2019 concerns\u2014such as movement in a 2D map, state-space modeling of physical processes, and statistical reasoning about uncertainty. This allows for configuring TCOEL for the needs of a specific SSA use case and, at the same time, facilitates reuse. To evaluate TCOEL, we show how it can be beneficially used in addressing the coordination of agents in a RoboCup Rescue Simulation application.<\/jats:p>","DOI":"10.1007\/s10009-020-00558-z","type":"journal-article","created":{"date-parts":[[2020,2,28]],"date-time":"2020-02-28T14:02:32Z","timestamp":1582898552000},"page":"497-509","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":22,"title":["A language and framework for dynamic component ensembles in smart systems"],"prefix":"10.1007","volume":"22","author":[{"given":"Tomas","family":"Bures","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Ilias","family":"Gerostathopoulos","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Petr","family":"Hnetynka","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Frantisek","family":"Plasil","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Filip","family":"Krijt","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jiri","family":"Vinarek","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jan","family":"Kofron","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2020,2,28]]},"reference":[{"issue":"12","key":"558_CR1","doi-asserted-by":"publisher","first-page":"50","DOI":"10.1109\/MC.2016.377","volume":"49","author":"T Bures","year":"2016","unstructured":"Bures, T., Plasil, F., Kit, M., Tuma, P., Hoch, N.: Software abstractions for component interaction in the internet of things. Computer 49(12), 50\u201359 (2016). https:\/\/doi.org\/10.1109\/MC.2016.377","journal-title":"Computer"},{"key":"558_CR2","volume-title":"Software engineering for collective autonomic systems: the ASCENS approach","year":"2015","unstructured":"Wirsing, M., H\u00f6lzl, M., Koch, N., Mayer, P. (eds.): Software engineering for collective autonomic systems: the ASCENS approach. Springer, Cham (2015)"},{"key":"558_CR3","doi-asserted-by":"publisher","unstructured":"Bonomi, F., Milito, R., Zhu, J., Addepalli, S.: Fog computing and its role in the internet of things. In: Proceedings of MCC\u201912, Helsinki, Finland, pp. 13\u201316 (2012). https:\/\/doi.org\/10.1145\/2342509.2342513","DOI":"10.1145\/2342509.2342513"},{"key":"558_CR4","doi-asserted-by":"crossref","unstructured":"Bonomi, F, Milito, R., Natarajan, P., Zhu, J.: Fog computing: a platform for internet of things and analytics. In: Big Data and Internet of Things: A Roadmap for Smart Environments, pp. 169\u2013186. Springer, Cham (2014)","DOI":"10.1007\/978-3-319-05029-4_7"},{"issue":"4","key":"558_CR5","doi-asserted-by":"publisher","first-page":"12","DOI":"10.1109\/MS.2014.82","volume":"31","author":"G Fairbanks","year":"2014","unstructured":"Fairbanks, G.: Architectural hoisting. IEEE Softw. 31(4), 12\u201315 (2014). https:\/\/doi.org\/10.1109\/MS.2014.82","journal-title":"IEEE Softw."},{"issue":"2","key":"558_CR6","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/2619998","volume":"9","author":"RD Nicola","year":"2014","unstructured":"Nicola, R.D., Loreti, M., Pugliese, R., Tiezzi, F.: A formal approach to autonomic systems programming: the SCEL language. ACM Trans. Auton. Adapt. Syst. 9(2), 1\u201329 (2014). https:\/\/doi.org\/10.1145\/2619998","journal-title":"ACM Trans. Auton. Adapt. Syst."},{"key":"558_CR7","doi-asserted-by":"publisher","first-page":"359","DOI":"10.1007\/978-3-642-54624-2_18","volume-title":"Specification, Algebra, and Software","author":"R Hennicker","year":"2014","unstructured":"Hennicker, R., Klarl, A.: Foundations for ensemble modeling: the Helena approach. In: Iida, S., Meseguer, J., Ogata, K. (eds.) Specification, Algebra, and Software, pp. 359\u2013381. Springer, Berlin (2014)"},{"key":"558_CR8","doi-asserted-by":"publisher","first-page":"405","DOI":"10.1007\/978-3-319-16310-9_12","volume-title":"Software Engineering for Collective Autonomic Systems","author":"T Bure\u0161","year":"2015","unstructured":"Bure\u0161, T., Gerostathopoulos, I., Hnetynka, P., Keznikl, J., Kit, M., Plasil, F.: The invariant refinement method. In: Wirsing, M., H\u00f6lzl, M., Koch, N., Mayer, P. (eds.) Software Engineering for Collective Autonomic Systems, pp. 405\u2013428. Springer, Cham (2015)"},{"key":"558_CR9","unstructured":"Odersky, M., Spoon, L., Venners, B.: Programming in Scala: A Comprehensive Step-by-Step Guide, Third Edition. Artima Press (2016)"},{"key":"558_CR10","doi-asserted-by":"crossref","unstructured":"Artho, C, Havelund, K., Kumar, R., Yamagata, Y.: Domain-specific languages with scala. In: International Conference on Formal Engineering Methods, pp. 1\u201316","DOI":"10.1007\/978-3-319-25423-4_1"},{"key":"558_CR11","unstructured":"Rao, A., Georgeff, M.P.: BDI agents: From theory to practice. In: Proceedings of the First International Conference on Multi-agent Systems, pp. 312\u2013319"},{"key":"558_CR12","unstructured":"Bures, T., Gerostathopoulos, I., Hnetynka, P., Keznikl, J., Kit, M., Plasil, F.: DEECo: an ensemble-based component system. In: Proceedings of CBSE\u201913, 2013, pp. 81\u201390"},{"key":"558_CR13","doi-asserted-by":"publisher","first-page":"25","DOI":"10.1007\/978-3-642-35887-6_2","volume-title":"Formal Methods for Components and Objects","author":"R De Nicola","year":"2013","unstructured":"De Nicola, R., Ferrari, G., Loreti, M., Pugliese, R.: A language-based approach to autonomic computing. In: Beckert, B., Damiani, F., de Boer, F.S., Bonsangue, M.M. (eds.) Formal Methods for Components and Objects, vol. 7542, pp. 25\u201348. Springer, Cham (2013)"},{"key":"558_CR14","doi-asserted-by":"publisher","first-page":"124","DOI":"10.1016\/j.future.2015.09.013","volume":"56","author":"C Kroi\u00df","year":"2016","unstructured":"Kroi\u00df, C., Bure\u0161, T.: Logic-based modeling of information transfer in cyber\u2013physical multi-agent systems. Future Gener. Comput. Syst. 56, 124\u2013139 (2016). https:\/\/doi.org\/10.1016\/j.future.2015.09.013","journal-title":"Future Gener. Comput. Syst."},{"key":"558_CR15","unstructured":"Ali, R.A. et al.: DEECo Computational Model\u2014I, Technical report no. No. D3S-TR-2013-01, Department of Distributed and Dependable Systems, Charles University in Prague (2013)"},{"key":"558_CR16","doi-asserted-by":"publisher","first-page":"41","DOI":"10.1007\/978-3-319-07602-7_5","volume-title":"Formal Aspects of Component Software","author":"J Barnat","year":"2014","unstructured":"Barnat, J., Bene\u0161, N., Bure\u0161, T., \u010cern\u00e1, I., Keznikl, J., Pl\u00e1\u0161il, F.: Towards verification of ensemble-based component systems. In: Fiadeiro, J.L., Liu, Z., Xue, J. (eds.) Formal Aspects of Component Software, pp. 41\u201360. Springer, Berlin (2014)"},{"key":"558_CR17","doi-asserted-by":"publisher","first-page":"250","DOI":"10.1007\/978-3-319-09970-5_23","volume-title":"Software Architecture","author":"T Bures","year":"2014","unstructured":"Bures, T., Gerostathopoulos, I., Hnetynka, P., Keznikl, J., Kit, M., Plasil, F.: Gossiping components for cyber-physical systems. In: Avgeriou, P., Zdun, U. (eds.) Software Architecture, pp. 250\u2013266. Springer, Cham (2014)"},{"key":"558_CR18","doi-asserted-by":"publisher","unstructured":"Bures, T., Hnetynka, P., Krijt, F., Matena, V., Plasil, F.: Smart coordination of autonomic component ensembles in the context of ad-hoc communication. In: Proceedings of ISOLA 2016, Corfu, Greece, 2016, vol. 9952, pp. 642\u2013656. https:\/\/doi.org\/10.1007\/978-3-319-47166-2_45","DOI":"10.1007\/978-3-319-47166-2_45"},{"issue":"1","key":"558_CR19","doi-asserted-by":"publisher","first-page":"41","DOI":"10.1109\/MC.2003.1160055","volume":"36","author":"J Kephart","year":"2003","unstructured":"Kephart, J., Chess, D.: The vision of autonomic computing. Computer 36(1), 41\u201350 (2003)","journal-title":"Computer"},{"key":"558_CR20","doi-asserted-by":"publisher","unstructured":"Al Ali, R., Bures, T., Gerostathopoulos, I., Keznikl, J., Plasil, F.: Architecture adaptation based on belief inaccuracy estimation. In: Proceedings of WICSA 2014, Sydney, Australia, 2014, pp. 87\u201390. https:\/\/doi.org\/10.1109\/wicsa.2014.20","DOI":"10.1109\/wicsa.2014.20"},{"key":"558_CR21","doi-asserted-by":"publisher","unstructured":"Bures, T., Hnetynka, P., Kofron, J., Al Ali, R., Skoda, D.: Statistical approach to architecture modes in smart cyber physical systems. In: Proceedings of WICSA 2016, Venice, Italy, 2016, pp. 168\u2013177. https:\/\/doi.org\/10.1109\/wicsa.2016.33","DOI":"10.1109\/wicsa.2016.33"},{"key":"558_CR22","doi-asserted-by":"publisher","unstructured":"Krijt, F., Jiracek, Z., Bures, T., Hnetynka, P., Plasil, F.: Automated dynamic formation of component ensembles. In: Proceedings of Modelsward 2017, Porto, Portugal, pp. 561\u2013568. https:\/\/doi.org\/10.5220\/0006273705610568","DOI":"10.5220\/0006273705610568"},{"key":"558_CR23","unstructured":"Dubochet, G.: Computer code as a medium for human communication: are programming languages improving?. In: Proceedings of the 21st Working Conference on the Psychology of Programmers Interest Group (2009)"},{"key":"558_CR24","doi-asserted-by":"crossref","unstructured":"Keznikl, J., Bures, T., Plasil, F., Gerostathopoulos, I., Hnetynka, P., Hoch, N.: Design of ensemble-based component systems by invariant refinement. In: Proceedings of the 16th International ACM Sigsoft symposium on Component-Based Software Engineering, pp. 91\u2013100 (2013)","DOI":"10.1145\/2465449.2465457"},{"key":"558_CR25","unstructured":"Gerostathopoulos, I., Keznikl, J., Bures, T., Kit, M., Plasil, F.: Software engineering for software-intensive cyber-physical systems. In: Proceedings of CPSData Workshop in INFORMATIK\u201914. To Appear (2014)"},{"key":"558_CR26","doi-asserted-by":"publisher","unstructured":"Kit, M., Plasil, F., Matena, V., Bures, T., Kovac, O.: Employing Domain knowledge for optimizing component communication. In: Proceedings of CBSE 2015, Montreal, Canada, pp. 59\u201364. https:\/\/doi.org\/10.1145\/2737166.2737172 (2015)","DOI":"10.1145\/2737166.2737172"},{"key":"558_CR27","doi-asserted-by":"publisher","unstructured":"Alrahman, Y.A., Nicola, R.D., Loreti, M.: On the power of attribute-based communication. In: Proceedings of FORTE 2016, Heraklion, Crete, Greece, vol. 9688, pp. 1\u201318 (2016). https:\/\/doi.org\/10.1007\/978-3-319-39570-8_1","DOI":"10.1007\/978-3-319-39570-8_1"},{"issue":"7","key":"558_CR28","doi-asserted-by":"publisher","first-page":"877","DOI":"10.1002\/rob.21601","volume":"33","author":"J Parker","year":"2016","unstructured":"Parker, J., Nunes, E., Godoy, J., Gini, M.: Exploiting spatial locality and heterogeneity of agents for search and rescue teamwork. J. Field Robot. 33(7), 877\u2013900 (2016). https:\/\/doi.org\/10.1002\/rob.21601","journal-title":"J. Field Robot."},{"key":"558_CR29","unstructured":"Takayanagi, K. et al.: Implementation of NAITO-ADF and its team design NAITO-rescue 2015. In: Proceedings of RoboCup Internatioanl Symposium, Hefei, China (2015)"},{"key":"558_CR30","unstructured":"Maffioletti, F., Reffato, R., Farinelli, A., Kleiner, A., Ramchurn, S., Shi, B.: RMASBench: a benchmarking system for multi-agent coordination in urban search and rescue. In: Proceedings of AAMAS 2013, St. Paul, MN, USA, pp. 1383\u20131384 (2013)"},{"key":"558_CR31","unstructured":"Horst, A., Rumpe, B.: Towards compositional domain specific languages. In: Proceedings of MPM 2013, Miami, USA, pp. 1\u20135 (2013)"},{"issue":"4","key":"558_CR32","doi-asserted-by":"publisher","first-page":"249","DOI":"10.1145\/643120.643121","volume":"12","author":"PJ Mosterman","year":"2002","unstructured":"Mosterman, P.J., Vangheluwe, H.: Guest editorial: special issue on computer automated multi-paradigm modeling. ACM Trans. Model. Comput. Simul. 12(4), 249\u2013255 (2002). https:\/\/doi.org\/10.1145\/643120.643121","journal-title":"ACM Trans. Model. Comput. Simul."},{"key":"558_CR33","doi-asserted-by":"publisher","unstructured":"Blouin, D., Senn, E., Roussel, K., Zendra, O.: QAML: a multi-paradigm DSML for quantitative analysis of embedded system architecture models. In: Proceedings of MPM\u201912, Innsbruck, Austria, pp. 37\u201342 (2012). https:\/\/doi.org\/10.1145\/2508443.2508450","DOI":"10.1145\/2508443.2508450"},{"key":"558_CR34","unstructured":"Balasubramanian, D., Levendovszky, T., Dubey, A., Karsai, G.: Taming multi-paradigm integration in a software architecture description language. In: Proceedings of MPM 2014, Valencia, Spain, pp. 67\u201376 (2014)"}],"container-title":["International Journal on Software Tools for Technology Transfer"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10009-020-00558-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10009-020-00558-z\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10009-020-00558-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,2,27]],"date-time":"2021-02-27T00:30:25Z","timestamp":1614385825000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10009-020-00558-z"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,2,28]]},"references-count":34,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2020,8]]}},"alternative-id":["558"],"URL":"https:\/\/doi.org\/10.1007\/s10009-020-00558-z","relation":{},"ISSN":["1433-2779","1433-2787"],"issn-type":[{"value":"1433-2779","type":"print"},{"value":"1433-2787","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,2,28]]},"assertion":[{"value":"28 February 2020","order":1,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}