[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to main content

From Object-Oriented to Workflow: Refactoring of OO Applications into Workflows for an Efficient Resources Management in the Cloud

  • Conference paper
  • First Online:
Evaluation of Novel Approaches to Software Engineering (ENASE 2018)

Abstract

Cloud Computing is a technology that provides to customers computing/storage resources as services delivered through the internet. Its main characteristics are its elastic nature and its payment model (pay-as-you-go). In order to run applications in the cloud while using its resources efficiently, and thus reducing their usage costs, one of the requirements related to this type of environment is to perform dynamic configurations of these applications. Nevertheless, to dynamically configure applications determining the utilized resources, additionally to when and where they are used is needed. Workflows allow doing this. As a matter of fact, several works aiming to reduce execution costs in the cloud are based on workflows. Unlike them, the architecture of OO applications explicitly expresses little or no behavioral (temporal) information. Therefore, running an OO application in the cloud requires deploying the whole application, and thus all its used resources need to be allocated during its entire execution time. With the goal of reducing execution costs of OO applications in the cloud, we propose a re-engineering process. The process aims to restructure these applications from OO architectural style to workflow style. However, in this paper, we concentrate only on the first step of the process, which aims to generate a workflow from OO source code.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
£29.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
GBP 19.95
Price includes VAT (United Kingdom)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
GBP 51.99
Price includes VAT (United Kingdom)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
GBP 64.99
Price includes VAT (United Kingdom)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    A transactional flow specifies the changes occurring in the control flow because of task failure.

  2. 2.

    The procedural knowledge is also known as how to knowledge. For example, cooking recipes are considered as procedural knowledge.

  3. 3.

    Polymorphism need to be dealt with only when using static analysis.

References

  1. Kaur, N., Aulakh, T.S., Cheema, R.S.: Comparison of workflow scheduling algorithms in cloud computing. Int. Adv. Comput. Sci. Appl. 2(10), 81–86 (2011)

    Google Scholar 

  2. Mell, P., Grance, T., et al.: The NIST Definition of Cloud Computing (2011)

    Google Scholar 

  3. Masdari, M., ValiKardan, S., Shahi, Z., Azar, S.I.: Towards workflow scheduling in cloud computing: a comprehensive analysis. J. Netw. Comput. Appl. 66, 64–82 (2016)

    Article  Google Scholar 

  4. Liu, F., et al.: NIST cloud computing reference architecture. NIST Special Publication 500, pp. 1–28 (2011)

    Google Scholar 

  5. Wu, Z., Liu, X., Ni, Z., Yuan, D., Yang, Y.: A market-oriented hierarchical scheduling strategy in cloud workflow systems. J. Supercomput. 1–38 (2013). https://doi.org/10.1007/s11227-011-0578-4

    Article  Google Scholar 

  6. Espadas, J., Molina, A., Jiménez, G., Molina, M., Ramírez, R., Concha, D.: A tenant-based resource allocation model for scaling software-as-a-service applications over cloud computing infrastructures. Future Gener. Comput. Syst. 29, 273–286 (2013)

    Article  Google Scholar 

  7. Fakhfakh, F., Kacem, H.H., Kacem, A.H.: Workflow scheduling in cloud computing: a survey. In: 2014 IEEE 18th International Enterprise Distributed Object Computing Conference Workshops and Demonstrations (EDOCW), pp. 372–378. IEEE (2014)

    Google Scholar 

  8. Dillon, T., Wu, C., Chang, E.: Cloud computing: issues and challenges. In: 2010 24th IEEE International Conference on Advanced Information Networking and Applications (AINA), pp. 27–33. IEEE (2010)

    Google Scholar 

  9. Xu, M., Cui, L., Wang, H., Bi, Y.: A multiple QoS constrained scheduling strategy of multiple workflows for cloud computing. In: 2009 IEEE International Symposium on Parallel and Distributed Processing with Applications, pp. 629–634. IEEE (2009)

    Google Scholar 

  10. Taylor, R.N., Medvidovic, N., Dashofy, E.M.: Software Architecture: Foundations, Theory, and Practice. Wiley, Hoboken (2009)

    Google Scholar 

  11. Garlan, D., Shaw, M.: An introduction to software architecture. Adv. Softw. Eng. Knowl. Eng. 2, 1 (1993). https://www.worldscientific.com/worldscibooks/10.1142/2207#t=toc

    Article  Google Scholar 

  12. Bass, L.: Software Architecture in Practice. Pearson Education, New Delhi (2007)

    Google Scholar 

  13. Hollingsworth, D.: Workflow Management Coalition: The Workflow Reference Model (1995)

    Google Scholar 

  14. Zhu, Z., Zhang, G., Li, M., Liu, X.: Evolutionary multi-objective workflow scheduling in cloud. IEEE Trans. Parallel Distrib. Syst. 27, 1344–1357 (2016)

    Article  Google Scholar 

  15. Lin, C., Lu, S.: Scheduling scientific workflows elastically for cloud computing. In: 2011 IEEE International Conference on Cloud Computing (CLOUD), pp. 746–747. IEEE (2011)

    Google Scholar 

  16. Sneed, H.M.: Measuring reusability of legacy software systems. Softw. Process Improv. Pract. 4, 43–48 (1998)

    Article  Google Scholar 

  17. Zou, Y., Lau, T.C., Kontogiannis, K., Tong, T., McKegney, R.: Model-driven business process recovery. In: 2004 Proceedings of 11th Working Conference on Reverse Engineering, pp. 224–233. IEEE (2004)

    Google Scholar 

  18. Gaaloul, W., Godart, C.: Mining workflow recovery from event based logs. In: van der Aalst, W.M.P., Benatallah, B., Casati, F., Curbera, F. (eds.) BPM 2005. LNCS, vol. 3649, pp. 169–185. Springer, Heidelberg (2005). https://doi.org/10.1007/11538394_12

    Chapter  Google Scholar 

  19. Korshunova, E., Petkovic, M., Van Den Brand, M., Mousavi, M.R.: CPP2XMI: reverse engineering of UML class, sequence, and activity diagrams from C++ source code. In: 2006 13th Working Conference on Reverse Engineering, pp. 297–298. IEEE (2006)

    Google Scholar 

  20. Ihaddadene, N.: Extraction of business process models from workflow events logs. Int. J. Parallel Emergent Distrib. Syst. 23, 247–258 (2008)

    Article  MathSciNet  Google Scholar 

  21. Kosower, D.A., Lopez-Villarejo, J.J.: Flowgen: flowchart-based documentation for C++ codes. Comput. Phys. Commun. 196, 497–505 (2015)

    Article  Google Scholar 

  22. Selmadji, A., Seriai, A., Bouziane, H., Dony, C., Tibermacine, C.: Refactoring object-oriented applications for a deployment in the cloud - workflow generation based on static analysis of source code. In: Proceedings of the 13th International Conference on Evaluation of Novel Approaches to Software Engineering, ENASE 2018, Funchal, Madeira, Portugal, 23–24 March 2018, pp. 111–123 (2018)

    Google Scholar 

  23. Russell, N., Ter Hofstede, A.H., Van Der Aalst, W.M., Mulyar, N.: Workflow control-flow patterns: a revised view. BPM Center Report BPM-06-22, pp. 06–22. BPMcenter (2006)

    Google Scholar 

  24. Martena, V., Orso, A., Pezze, M.: Interclass testing of object oriented software. In: Proceedings of Eighth IEEE International Conference on Engineering of Complex Computer Systems, 2002, pp. 135–144. IEEE (2002)

    Google Scholar 

  25. Chen, M.H., Kao, H.M.: Testing object-oriented programs-an integrated approach. In: 1999 Proceedings 10th International Symposium on Software Reliability Engineering, pp. 73–82. IEEE (1999)

    Google Scholar 

  26. Aho, A.V., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools. Addison Wesley Publishing Company, Boston (1986)

    MATH  Google Scholar 

  27. Graphviz open source graph visualization software. https://www.graphviz.org/

  28. Tonella, P., Potrich, A.: Reverse Engineering of Object Oriented Code. Monographs in Computer Science. Springer, New York (2005). https://doi.org/10.1007/b102522

    Book  MATH  Google Scholar 

  29. Charalampidou, S., Ampatzoglou, A., Chatzigeorgiou, A., Gkortzis, A., Avgeriou, P.: Identifying extract method refactoring opportunities based on functional relevance. IEEE Trans. Softw. Eng. 4310, 954–974 (2016)

    Google Scholar 

  30. Kaya, M., Fawcett, J.W.: Identification of extract method refactoring opportunities through analysis of variable declarations and uses. Int. J. Softw. Eng. Knowl. Eng. 2701, 1–21 (2016)

    Google Scholar 

  31. Kaya, M., Fawcett, J.W.: Identifying extract method opportunities based on variable references (s). In: SEKE, pp. 153–158 (2013)

    Google Scholar 

  32. Clarke, D., Wrigstad, T., Noble, J.: Aliasing in Object-Oriented Programming: Types, Analysis and Verification, vol. 7850. Springer, New York (2013). https://doi.org/10.1007/978-3-642-36946-9

    Book  Google Scholar 

  33. Zou, Y., Hung, M.: An approach for extracting workflows from e-commerce applications. In: 2006 14th IEEE International Conference on Program Comprehension, ICPC 2006 , pp. 127–136. IEEE (2006)

    Google Scholar 

  34. Gaaloul, W., Gaaloul, K., Bhiri, S., Haller, A., Hauswirth, M.: Log-based transactional workflow mining. Distrib. Parallel Databases 25, 193–240 (2009)

    Article  Google Scholar 

  35. Schur, M., Roth, A., Zeller, A.: Mining workflow models from web applications. IEEE Trans. Softw. Eng. 41, 1184–1201 (2015)

    Article  Google Scholar 

  36. Schumacher, P., Minor, M., Walter, K., Bergmann, R.: Extraction of procedural knowledge from the web: a comparison of two workflow extraction approaches. In: Proceedings of the 21st International Conference on World Wide Web, pp. 739–747. ACM (2012)

    Google Scholar 

  37. Buy, U., Orso, A., Pezze, M.: Automated testing of classes. In: ACM SIGSOFT Software Engineering Notes, vol. 25, pp. 39–48. ACM, New York (2000)

    Article  Google Scholar 

  38. Chardigny, S., Seriai, A.: Software architecture recovery process based on object-oriented source code and documentation. In: Babar, M.A., Gorton, I. (eds.) ECSA 2010. LNCS, vol. 6285, pp. 409–416. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-15114-9_35

    Chapter  Google Scholar 

  39. Alshara, Z., Seriai, A.D., Tibermacine, C., Bouziane, H.L., Dony, C., Shatnawi, A.: Migrating large object-oriented applications into component-based ones: instantiation and inheritance transformation. In: ACM SIGPLAN Notices, vol. 51, pp. 55–64. ACM (2015)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Anfel Selmadji .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Selmadji, A., Seriai, AD., Bouziane, H.L., Dony, C. (2019). From Object-Oriented to Workflow: Refactoring of OO Applications into Workflows for an Efficient Resources Management in the Cloud. In: Damiani, E., Spanoudakis, G., Maciaszek, L. (eds) Evaluation of Novel Approaches to Software Engineering. ENASE 2018. Communications in Computer and Information Science, vol 1023. Springer, Cham. https://doi.org/10.1007/978-3-030-22559-9_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-22559-9_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-22558-2

  • Online ISBN: 978-3-030-22559-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics