A distributed API for coordinating AbC programs. Abd Alrahman, Y. & Garbi, G. International Journal on Software Tools for Technology Transfer, Springer Science and Business Media LLC, feb, 2020.
Paper doi abstract bibtex 2 downloads Collective-adaptive systems exhibit a particular notion of interaction where environmental conditions largely influence interactions. Previously, we pro- posed a calculus, named AbC, to model and reason about CAS. The calculus proved to be effective by naturally modelling essential CAS features. However, the question on the tradeoff between its expressiveness and its efficiency, when implemented to program CAS applications, is to be answered. In this article, we propose an efficient and distributed coordination infrastructure for AbC. We prove its correctness and we evaluate its performance. The main novelty of our approach is that AbC components are infrastructure agnostic. Thus the code of a component does not specify how messages are routed in the infrastructure but rather what properties a target component must satisfy. We also developed a Go API, named GoAt, and an Eclipse plugin to pro- gram in a high-level syntax which can be automatically used to generate matching Go code. We showcase our development through a non-trivial case study.
@article{Abd_Alrahman_2020,
doi = {10.1007/s10009-020-00553-4},
url = {https://doi.org/10.1007%2Fs10009-020-00553-4},
year = {2020},
month = {feb},
publisher = {Springer Science and Business Media {LLC}},
author = {Yehia {Abd Alrahman} and Giulio Garbi},
title = {A distributed {API} for coordinating {AbC} programs},
journal = {International Journal on Software Tools for Technology Transfer},
abstract = {Collective-adaptive systems exhibit a particular notion of interaction where environmental conditions largely influence interactions. Previously, we pro- posed a calculus, named AbC, to model and reason about CAS. The calculus proved to be effective by naturally modelling essential CAS features. However, the question on the tradeoff between its expressiveness and its efficiency, when implemented to program CAS applications, is to be answered. In this article, we propose an efficient and distributed coordination infrastructure for AbC. We prove its correctness and we evaluate its performance. The main novelty of our approach is that AbC components are infrastructure agnostic. Thus the code of a component does not specify how messages are routed in the infrastructure but rather what properties a target component must satisfy. We also developed a Go API, named GoAt, and an Eclipse plugin to pro- gram in a high-level syntax which can be automatically used to generate matching Go code. We showcase our development through a non-trivial case study.}
}
Downloads: 2
{"_id":"sokuvgLZnC8HoHqNu","bibbaseid":"abdalrahman-garbi-adistributedapiforcoordinatingabcprograms-2020","authorIDs":["2DxnChSmAvAs9EwwE","2Gd2RxHkWxv6sJ8y3","2cDyrpmH2mcpZwjpC","2jqxqB5wpgRJFhM7W","2zQueGM7FaPTsFkwB","39wBibQWriNLbkfSd","3HGKqTFXPegC5c2z7","3NdMA6BZFgEa35z8c","3PWPgPnYHSEZS5yYc","3numxik3dn3naNjtz","5btpEqzoBFQF5rXKM","5jiftYAxznh2cGj63","5sc38v97h9bathM2s","6WdozLNkYBvangMYX","6d4JyDrNQY4698bDJ","6vdbTWoR6sBsGgazp","6wQ7qaXYiyAoGNzmY","6wfQaopJsQQQYQt4X","7GM8zQFgDRwf8v4SL","7LpsMuNJ3uZkEmhux","7rEE4xF4dT8orw23Z","7xuga2xECFRdmRhfE","8Amf5pZuzx9vK9whj","92r7CTjoLzqyif7PN","9ExpDQd6k9f7m8dxk","9L99rKeradbXEchPj","ACvL6zSPY2mMJdfrH","Afd7YZF6m6fNoq6GB","AuJuGQHoFwsTBzWtD","B6P3tSrewWLi7RY95","BYwRuXEcQG2ujfaya","CqZKL6przrsKTqkpk","DNyvshGXNbLADWqTW","DPWYnHgFbjv5BjGch","EFgqxBvb3jEfWHHbc","ELH3b3NJtaMEvWuJb","FR6QGoHfCM2yJ5JYc","FkdWfhdfoHf2FHn5R","FwqviFzDbEmkmE7y3","HGSmjRBBc5EiE2Zk2","HT6D5JWtDGTytw3qW","HbDghZfHhiDxhgqvW","HkTy4THn4CNZgCAvK","JmEoSpc4J375y8tsP","KEE5zYfECpLDgKGrB","L94Hv8iwR6Z5KFnXw","LdkHFrXB2QSPsQfHt","LosBj83dXHBt3nFp6","LwgvTdcoZd4EcHuDs","M4mWfmsFz5CDckhqT","P2xzQGoPsMXefuM2j","PENNRsg2EgS2HZwC3","PbW6829CLf6fdQg4c","PdAvo5NWCxAQFRbnF","Q8tyw4rXYcwEi5QBo","QNNhWqqJ6XtqWaXYt","RZ2onLcPFLrMkBfYr","S23MSu244gQyr5NWd","SMraBsPwK7EbWn8Lu","SNprYMmnet67DcwJg","SgRCmifmMDecRjvK5","Sk9fPp88M3MhhEL2h","SyyBqMeAJmc96ptLX","THcumMXZGi4F59pqy","TNBeRiG9HpdRjPKLB","TgMeDEdmHPyWnFQBH","ToqfbFTa69eJu8FZp","WEfinYQHvbab4LMS5","WmWpB5KKymAsagHRC","WnSHzYp8Loh7bow8p","XSYHh4iiyZijbGrkB","XhRyn7AdDTMFcFbXW","aSeFdm5F849oCq4MX","afaPc76uuap4k53rq","ah2qwS93xiTCo2eDt","aizWn4RRDd2DQeRKC","asEZAw8erg7yiZowh","b2hdxXpZdtMxx654f","bdkzqhdNiCF9ZdoZ5","cBkMgvw6P8mpXFu93","daaT25m6A9RW4T7SC","dkwNZnLFBj7K5BfDv","eDXG7qqA9anvaAMsk","eHwFr5JGHrkbmxWhf","eaAvWcYxoufEebTQe","fP5CJjfawXMQoPMaD","fZtXDRPoPFNpsEJ4f","fgFDCNtyjAoBeKvzA","h43ZxB2n82m2PcgrY","hBuNPvJzX3vWvY2aW","hKzDdZoJJ99FzZjzG","hvEz5saLAppb4o3gT","iEj6XS9JsdcWtnSTn","iep6c2wJDXf5eZ4nN","imDQ3vkJgQeEev7SY","imcJQLjwMCbNygF5z","ixNuB57Tr7vLesAK8","jKw3q9nqCkrBM5zTk","jMjS2gXtoJeRBvPdL","jY8Znbg4LonEq9XTn","joHdKWreNc2sZs2iK","kaTaBXTYRt4ka4ENi","kntouHwpXLZNSkftB","mSTjcPdmkx4a4Qpke","nokfXe58cjXQF9QRX","omZdTGMcFpf2ipigd","ouFohR6EAzZN5AyST","p99pKD4PuPHLuadTD","pRoGPDYWKPs8SKc77","pXPTSghrefdTDYdYZ","pk9qqoRT9K77XjJaX","q2HSqwrGWrv7uYiQL","q4S6YAcitbE2cQLCz","qHLe2gvG6t4jYZM8N","rejbjA7LwmokaPjGA","rfF8t2vBR3o6faaee","rhDHdBPD53d7FdbjR","s4WFXgFkzkf46Ttjf","sZMAkYa82kCL2z9yu","sjWQBuRmJatinwzyT","svjGvtiYdofX3q4cy","t3eQtwYDBZYg49mpT","unGMAx9QNLNNgYEmA","vFfcGtQBh8zvxCsXh","vMndDpbYKQgX4kzv8","vah9hB77u6QCMbDuk","veiJ3C6HP4PKNStkx","vngvDsp63ZMxqC6d5","vqETeCoSRZddCSYKm","w6BiYovWcoW7fwNvA","wRvEot3Y8bPCzcAxq","wj73DCsxdpgrsyY5Y","xJZdgRb3dtRoAgKze","xwBCcee3Bnb3ARRpq","y587obGKGntQBJ6r5","yArJGvMrjLx9e7Fs8","yD25zrogXPn98dfbf","yht8xjdDmNnYnE7SG","zcqHEqRLtRWNRKC9p"],"author_short":["Abd Alrahman, Y.","Garbi, G."],"bibdata":{"bibtype":"article","type":"article","doi":"10.1007/s10009-020-00553-4","url":"https://doi.org/10.1007%2Fs10009-020-00553-4","year":"2020","month":"feb","publisher":"Springer Science and Business Media LLC","author":[{"firstnames":["Yehia"],"propositions":[],"lastnames":["Abd Alrahman"],"suffixes":[]},{"firstnames":["Giulio"],"propositions":[],"lastnames":["Garbi"],"suffixes":[]}],"title":"A distributed API for coordinating AbC programs","journal":"International Journal on Software Tools for Technology Transfer","abstract":"Collective-adaptive systems exhibit a particular notion of interaction where environmental conditions largely influence interactions. Previously, we pro- posed a calculus, named AbC, to model and reason about CAS. The calculus proved to be effective by naturally modelling essential CAS features. However, the question on the tradeoff between its expressiveness and its efficiency, when implemented to program CAS applications, is to be answered. In this article, we propose an efficient and distributed coordination infrastructure for AbC. We prove its correctness and we evaluate its performance. The main novelty of our approach is that AbC components are infrastructure agnostic. Thus the code of a component does not specify how messages are routed in the infrastructure but rather what properties a target component must satisfy. We also developed a Go API, named GoAt, and an Eclipse plugin to pro- gram in a high-level syntax which can be automatically used to generate matching Go code. We showcase our development through a non-trivial case study.","bibtex":"@article{Abd_Alrahman_2020,\n doi = {10.1007/s10009-020-00553-4},\n url = {https://doi.org/10.1007%2Fs10009-020-00553-4},\n year = {2020},\n month = {feb},\n publisher = {Springer Science and Business Media {LLC}},\n author = {Yehia {Abd Alrahman} and Giulio Garbi},\n title = {A distributed {API} for coordinating {AbC} programs},\n journal = {International Journal on Software Tools for Technology Transfer},\n abstract = {Collective-adaptive systems exhibit a particular notion of interaction where environmental conditions largely influence interactions. Previously, we pro- posed a calculus, named AbC, to model and reason about CAS. The calculus proved to be effective by naturally modelling essential CAS features. However, the question on the tradeoff between its expressiveness and its efficiency, when implemented to program CAS applications, is to be answered. In this article, we propose an efficient and distributed coordination infrastructure for AbC. We prove its correctness and we evaluate its performance. The main novelty of our approach is that AbC components are infrastructure agnostic. Thus the code of a component does not specify how messages are routed in the infrastructure but rather what properties a target component must satisfy. We also developed a Go API, named GoAt, and an Eclipse plugin to pro- gram in a high-level syntax which can be automatically used to generate matching Go code. We showcase our development through a non-trivial case study.}\n}\n\n","author_short":["Abd Alrahman, Y.","Garbi, G."],"key":"Abd_Alrahman_2020","id":"Abd_Alrahman_2020","bibbaseid":"abdalrahman-garbi-adistributedapiforcoordinatingabcprograms-2020","role":"author","urls":{"Paper":"https://doi.org/10.1007%2Fs10009-020-00553-4"},"metadata":{"authorlinks":{"abd alrahman, y":"https://lazkany.bitbucket.io/#portfolio"}},"downloads":2},"bibtype":"article","biburl":"https://lazkany.bitbucket.io/publication.bib","creationDate":"2020-05-13T12:44:01.927Z","downloads":2,"keywords":[],"search_terms":["distributed","api","coordinating","abc","programs","abd alrahman","garbi"],"title":"A distributed API for coordinating AbC programs","year":2020,"dataSources":["iy3Nfbwfry75yLtD7","9BWFRLuir5vrfREwa","ec7btnN2RJ3DQyXEw"]}