Automatic Abstraction of Flow of Control in a System of Distributed Software Components

Nima Kaviani, Michael Maximilien, Ignacio Silva-Lepe, Isabelle Rouvellou

2015

Abstract

CloudFoundry (CF) provides an open source platform-as-a-service software for deploying scalable software systems to the cloud. The architecture for CF is distributed by design and consists of several components which interact with one another through a message-oriented middleware. This message-oriented distributed design delivers on the scalability and resiliency requirements of the platform. In such a complex distributed multicomponent system, there is a steep learning curve for software developers to understand how components interact, what messages are exchanged between them, and how the message exchanges affect the behaviour of the system. In particular developers find it difficult to identify the execution flows, the authentication flows, interactions with the persistence layer, etc. We have developed a framework that allows interpreting the behaviour of the system by analyzing the exchanged messages between components, inspecting message contents, and extracting data and control flow across components. The paramount aim is to improve developers’ understandability of the system and to examine software resiliency through approaches like bug injection and message alterations. An initial version of our framework was released to the CF community and we have collected feedback that indeed show that we are achieving some of our goals.

References

  1. CloudFoundry BlueDocs version comparison - Online: http://rawgit.com/nkaviani/cloudfoundry-bluedocs/ master/cf-v2/docs/output.html.
  2. (2012). In Openness is Winning in the Cloud - Online: https://www.linux.com/news/featured-blogs/200- libby-clark/577866-marten-mickos-openness-iswinning-in-the-cloud.
  3. (2012). IBM Announces Platinum Sponsorship of the New OpenStack Foundation - Online: http://www.openstack.org/blog/2012/04/openstackfoundation-update/.
  4. (2013). The role of open source in cloud infrastructure - Online: http://www.informationweek.in/ informationweek/news-analysis/176401/role-sourcecloud-infrastructure.
  5. (2013). IBM and Pivotal to Accelerate Open Cloud Innovation with Cloud Foundry - Online: http://www-03. ibm.com/press/us/en/pressrelease/41569.wss.
  6. (2013). Baidu report on CloudFoundry - Online: http://www.slideshare.net/wattersjames/baiducloudfoundry-english-24626493.
  7. Aguilera, M. K. and et al. (2003). Performance debugging for distributed systems of black boxes. SIGOPS Oper. Syst. Rev., 37(5):74-89.
  8. Al Abed, W. and Kienzle, J. (2011). Aspect-Oriented Modelling for Distributed Systems. volume 6981, pages 123-137.
  9. Anandkumar, A., Bisdikian, C., and Agrawal, D. (2008). Tracking in a spaghetti bowl: monitoring transactions using footprints. In Proceedings of the 2008 ACM SIGMETRICS international conference on Measurement and modeling of computer systems, SIGMETRICS 7808, pages 133-144, New York, NY, USA. ACM.
  10. Atallah, M. J. and Fox, S., editors (1998). Algorithms and Theory of Computation Handbook. CRC Press, Inc., Boca Raton, FL, USA, 1st edition.
  11. Barham, P., Isaacs, R., Mortier, R., and Narayanan, D. (2003). Magpie: Online Modelling and Performanceaware Systems. In HotOS, pages 85-90.
  12. Baset, S. A., Tang, C., Tak, B., and Wang, L. (2013). Dissecting Open Source Cloud Evolution: An OpenStack Case Study. In HotCloud, pages 333-340. IEEE.
  13. Beschastnikh, I., Brun, Y., Schneider, S., Sloan, M., and Ernst, M. D. (2011). Leveraging existing instrumentation to automatically infer invariant-constrained models. In SIGSOFT FSE, pages 267-277. ACM.
  14. Kaviani, N., Wohlstadter, E., and Lea, R. (2012). MANTICORE: A framework for partitioning software services for hybrid cloud. In CloudCom, pages 333-340. IEEE.
  15. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., and Griswold, W. G. (2001). An Overview of AspectJ. In Proceedings of the 15th European Conference on Object-Oriented Programming, pages 327- 353.
  16. Wohlstadter, E. and Devanbu, P. (2006). Transactions on Aspect-Oriented Software Development II. pages 69- 100. Springer-Verlag, Berlin, Heidelberg.
Download


Paper Citation


in Harvard Style

Kaviani N., Maximilien M., Silva-Lepe I. and Rouvellou I. (2015). Automatic Abstraction of Flow of Control in a System of Distributed Software Components . In Proceedings of the 5th International Conference on Cloud Computing and Services Science - Volume 1: CLOSER, ISBN 978-989-758-104-5, pages 381-388. DOI: 10.5220/0005407403810388


in Bibtex Style

@conference{closer15,
author={Nima Kaviani and Michael Maximilien and Ignacio Silva-Lepe and Isabelle Rouvellou},
title={Automatic Abstraction of Flow of Control in a System of Distributed Software Components},
booktitle={Proceedings of the 5th International Conference on Cloud Computing and Services Science - Volume 1: CLOSER,},
year={2015},
pages={381-388},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005407403810388},
isbn={978-989-758-104-5},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 5th International Conference on Cloud Computing and Services Science - Volume 1: CLOSER,
TI - Automatic Abstraction of Flow of Control in a System of Distributed Software Components
SN - 978-989-758-104-5
AU - Kaviani N.
AU - Maximilien M.
AU - Silva-Lepe I.
AU - Rouvellou I.
PY - 2015
SP - 381
EP - 388
DO - 10.5220/0005407403810388