Abstract
Many modern distributed software applications require a continuous interaction between their components exploiting streaming data from the server to the client. The Abstract Behavioral Specification (ABS) language has been developed for the modeling and analysis of distributed systems. In ABS, concurrent objects communicate by calling each other’s methods asynchronously. Return values are communicated asynchronously too via the return statement and so-called futures. In this paper, we extend the basic ABS model of asynchronous method invocation and return in order to support the streaming of data. We introduce the notion of a “Future-based Data Stream” to extend the ABS. The application of this notion and its impact on performance are illustrated by means of a case study in the domain of social networks simulation.
Keywords
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Johnsen, E.B., Hähnle, R., Schäfer, J., Schlatte, R., Steffen, M.: ABS: a core language for abstract behavioral specification. In: Aichernig, B.K., de Boer, F.S., Bonsangue, M.M. (eds.) FMCO 2010. LNCS, vol. 6957, pp. 142–164. Springer, Heidelberg (2011). doi:10.1007/978-3-642-25271-6_8
de Boer, F.S., Clarke, D., Johnsen, E.B.: A complete guide to the future. In: Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 316–330. Springer, Heidelberg (2007). doi:10.1007/978-3-540-71316-6_22
Selivanov, Y.: Asynchronous generators (2016). https://www.python.org/dev/peps/pep-0525/
Streams - version 2.5.0 (2017). http://doc.akka.io/docs/akka/2.4/scala/stream/index.html
Welch, P., Brown, N.: Communicating Sequential Processes for \(\text{Java}^{\mathit{tm}}\) (JCSP) (2014). https://www.cs.kent.ac.uk/projects/ofa/jcsp/
Bezirgiannis, N., de Boer, F.: ABS: a high-level modeling language for cloud-aware programming. In: Freivalds, R.M., Engels, G., Catania, B. (eds.) SOFSEM 2016. LNCS, vol. 9587, pp. 433–444. Springer, Heidelberg (2016). doi:10.1007/978-3-662-49192-8_35
Leskovec, J.: Dynamics of large networks. ProQuest (2008)
Bader, D., Madduri, K.: Parallel algorithms for evaluating centrality indices in real-world networks. In: International Conference on Parallel Processing 2006, pp. 539–550. IEEE (2006)
Barabási, A.L., Albert, R.: Emergence of scaling in random networks. Science 286(5439), 509–512 (1999)
Azadbakht, K., Bezirgiannis, N., de Boer, F.S., Aliakbary, S.: A high-level and scalable approach for generating scale-free graphs using active objects. In: 31st Annual ACM Symposium on Applied Computing, pp. 1244–1250. ACM (2016)
Azadbakht, K., Bezirgiannis, N., de Boer, F.S.: Distributed network generation based on preferential attachment in ABS. In: Steffen, B., Baier, C., Brand, M., Eder, J., Hinchey, M., Margaria, T. (eds.) SOFSEM 2017. LNCS, vol. 10139, pp. 103–115. Springer, Cham (2017). doi:10.1007/978-3-319-51963-0_9
Epstein, J., Black, A.P., Peyton-Jones, S.: Towards Haskell in the cloud. ACM SIGPLAN Not. 46, 118–129 (2011). ACM
Acknowledgments
This research is partly funded by the EU project FP7-612985 UpScale: From Inherent Concurrency to Massive Parallelism through Type-based Optimizations (http://www.upscale-project.eu). This work was carried out on the Dutch national HPC cloud infrastructure, a service provided by the SURF Foundation (http://www.surf.nl). We also thank Erik de Vink for his constructive comments.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 IFIP International Federation for Information Processing
About this paper
Cite this paper
Azadbakht, K., Bezirgiannis, N., de Boer, F.S. (2017). On Futures for Streaming Data in ABS. In: Bouajjani, A., Silva, A. (eds) Formal Techniques for Distributed Objects, Components, and Systems. FORTE 2017. Lecture Notes in Computer Science(), vol 10321. Springer, Cham. https://doi.org/10.1007/978-3-319-60225-7_5
Download citation
DOI: https://doi.org/10.1007/978-3-319-60225-7_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-60224-0
Online ISBN: 978-3-319-60225-7
eBook Packages: Computer ScienceComputer Science (R0)