The Journal of Supercomputing

, Volume 67, Issue 2, pp 345–383 | Cite as

Formal process algebraic modeling, verification, and analysis of an abstract Fuzzy Inference Cloud Service

  • Ali RezaeeEmail author
  • Amir Masoud Rahmani
  • Ali Movaghar
  • Mohammad Teshnehlab


In cloud computing, services play key roles. Services are well defined and autonomous components. Nowadays, the demand of using Fuzzy inference as a service is increasing in the domain of complex and critical systems. In such systems, along with the development of the software, the cost of detecting and fixing software defects increases. Therefore, using formal methods, which provide clear, concise, and mathematical interpretation of the system, is crucial for the design of these Fuzzy systems. To obtain this goal, we introduce the Fuzzy Inference Cloud Service (FICS) and propose a novel discipline for formal modeling of the FICS. The FICS provides the service of Fuzzy inference to the consumers. We also introduce four novel formal verification tests, which allow strict analysis of certain behavioral disciplines in the FICS as follows: (1) Internal consistency, which analyzes the service in a strict and delicate manner; (2) Deadlock freeness; (3) Divergence freeness; and (4) Goal reach ability. The four tests are discussed and the FICS is verified to ensure that it can pass all these tests.


Cloud computing Fuzzy Inference System Formal verification Service oriented systems Process algebra 


  1. 1.
    Preve NP (2011) Grid computing: towards a global interconnected infrastructure. Springer, Berlin CrossRefGoogle Scholar
  2. 2.
    Galizia A, Quarati A (2012) Job allocation strategies for energy-aware and efficient grid infrastructures. J Syst Softw 85(7):1588–1606 CrossRefGoogle Scholar
  3. 3.
    Turner KJ, Leai Larry Tan K (2012) Rigorous development of composite grid services. J Netw Comput Appl 35(4):1304–1316 CrossRefGoogle Scholar
  4. 4.
    Buyya R, Broberg J, Goscinski AM (2011) Computing: principles and paradigms. Wiley, New York. ISBN-13: 978-0470887998 CrossRefGoogle Scholar
  5. 5.
    Reza H (2006) A methodology for architectural design of concurrent and distributed software systems. J Supercomput 37(3):227–248 CrossRefGoogle Scholar
  6. 6.
    Dou W, Qi L, Zhang X, Chen J (2013) An evaluation method of outsourcing services for developing an elastic cloud platform. J Supercomput 63(1):1–23 CrossRefGoogle Scholar
  7. 7.
    Bilogrevic I, Jadliwala M, Kumar P, Singh Walia S, Pierre Hubaux J, Aad I, Niemi V (2011) Meetings through the cloud: privacy-preserving scheduling on mobile devices. J Syst Softw 84(11):1910–1927 CrossRefGoogle Scholar
  8. 8.
    Li K, Yang LT, Lin X (2011) Advanced topics in cloud computing. J Netw Comput Appl 34(4):1033–1034 CrossRefMathSciNetGoogle Scholar
  9. 9.
    Espada JP, Martínez OS, Cueva Lovelle JM, Cristina Pelayo G-Bustelo B, Álvarez M, González García A (2011) Modeling architecture for collaborative virtual objects based on services. J Netw Comput Appl 34(5):1634–1647 CrossRefGoogle Scholar
  10. 10.
    Bartolini C, Bertolino A, Elbaum S, Marchetti E (2011) Bringing white-box testing to service oriented architectures through a service oriented approach. J Syst Softw 84(4):655–668 CrossRefGoogle Scholar
  11. 11.
    Elish KO, Elish MO (2008) Predicting defect-prone software modules using support vector machines. J Syst Softw 81(5):649–660 CrossRefGoogle Scholar
  12. 12.
    Laiping Z, Yizhi R, Mingchu L, Kouichi S (2012) Flexible service selection with user-specific QoS support in service-oriented architecture. J Netw Comput Appl 35(3):962–973 CrossRefGoogle Scholar
  13. 13.
    Al-Jaroodi J, Mohamed N (2012) Service-oriented middleware: a survey. J Netw Comput Appl 35(1):211–220 CrossRefGoogle Scholar
  14. 14.
    Yaik Ooi B, Yong Chan H, Cheah YN (2012) Dynamic service placement and replication framework to enhance service availability using team formation algorithm. J Syst Softw 85(9):2048–2062 CrossRefGoogle Scholar
  15. 15.
    Hassan H, Eltoweissy M (2012) CORM: a reference model for future computer networks. J Netw Comput Appl 35(2):668–680 CrossRefGoogle Scholar
  16. 16.
    Sadik S, Rahman A, Ali A, Ahmad HF, Suguri H (2010) Modeling high assurance agent-based Earthquake Management System using formal techniques. J Supercomput 52(2):97–118 CrossRefGoogle Scholar
  17. 17.
    Mohammad M, Alagar V (2011) A formal approach for the specification and verification of trustworthy component-based systems. J Syst Softw 84(1):77–104 CrossRefGoogle Scholar
  18. 18.
    Bayley I, Zhu H (2010) Formal specification of the variants and behavioural features of design patterns. J Syst Softw 83(2):209–221 CrossRefGoogle Scholar
  19. 19.
    Mattiello-Francisco F, Martins E, Rosa Cavalli A, Toshiro Yano E (2012) InRob: an approach for testing interoperability and robustness of real-time embedded software. J Syst Softw 85(1):3–15 CrossRefGoogle Scholar
  20. 20.
    Glykas M, Valiris G (1999) Formal methods in object oriented business modeling. J Syst Softw 48(1):4–27 CrossRefGoogle Scholar
  21. 21.
    van der Aalst WMP, van Hee KM, van der Toorn RA (2002) Component-based software architectures: a framework based on inheritance of behavior. Sci Comput Program, 42(2–3) Google Scholar
  22. 22.
    Arbab F (2004) Reo: a channel-based coordination model for component composition. Math Struct Comput Sci Google Scholar
  23. 23.
    Bondavalli A, Dal Cin M, Latella D, Majzik I, Pataricza A, Savoia G (2001) Dependability analysis in the early phases of UML based system design. Int J Comput Syst Sci Eng 16(5):265–275 Google Scholar
  24. 24.
    Latella D, Majzik I, Massink M (1999) Automatic verification of a behavioral subset of UML statechart diagrams using the SPIN model-checker. Form Asp Comput, 637–664 Google Scholar
  25. 25.
    Mitchell B (2008) Characterizing communication channel deadlocks in sequence diagrams. IEEE Trans Softw Eng 34(3):305–320 CrossRefGoogle Scholar
  26. 26.
    Bucur D, Kwiatowska MZ (2010) Software verification for TinyOS. In: Proceedings of 9th ACM/IEEE international conference on information processing in sensor networks Google Scholar
  27. 27.
    Cordeiro L, Fischer B, Chen H, Marques-Silva J (2009) Semiformal verification of embedded software in medical devices considering stringent hardware constraints. In: Proceedings of the 2009 international conference on embedded software and systems, pp 396–403 CrossRefGoogle Scholar
  28. 28.
    Abawajy JH (2009) Adaptive hierarchical scheduling policy for enterprise grid computing systems. J Netw Comput Appl 32(3):770–779 CrossRefGoogle Scholar
  29. 29.
    Baig ZA (2012) Multi-agent systems for protecting critical infrastructures: a survey. J Netw Comput Appl 35(3):1151–1161 CrossRefMathSciNetGoogle Scholar
  30. 30.
    Sadri Y, Khanmohamadi S (2010) An intelligent scheduling system using fuzzy logic. J Supercomput (December) Google Scholar
  31. 31.
    Sharma D (2011) Designing and modeling fuzzy control Systems. Int J Comput Appl 16(1) Google Scholar
  32. 32.
    Kurd Z, Kelly TP (2004) Using fuzzy self-organising maps for safety critical systems. In: Computer safety, reliability, and security. Lecture notes in computer science, vol 3219. Springer, Berlin, pp 17–30 CrossRefGoogle Scholar
  33. 33.
    Singamsetty P, Panchumarthy S (2012) Automatic fuzzy parameter selection in dynamic fuzzy voter for safety critical systems. Int J Fuzzy Syst Appl 2(2):68–90 CrossRefGoogle Scholar
  34. 34.
    Ebrahimnejad A (2012) Cost efficiency measures with trapezoidal fuzzy numbers in data envelopment analysis based on ranking functions: application in insurance organization and hospital. Int J Fuzzy Syst Appl 2(3):51–68 CrossRefGoogle Scholar
  35. 35.
    Jinturkar AM, Deshmukh SS (2013) Sustainable development by rural energy resources allocation in India: a fuzzy goal programming approach. Int J Energy Optim Eng 2(1):37–49 Google Scholar
  36. 36.
    Ebrahimipour V, Haeri A, Sheikhalishahi M, Asadzadeh SM (2012) Application of multi-objective particle swarm optimization to solve a fuzzy multi-objective reliability redundancy allocation problem. J Saf Eng 1(2):26–38 Google Scholar
  37. 37.
    Hoare CAR (1981) The emperor’s old clothes. Commun ACM 24(2):75–83 CrossRefGoogle Scholar
  38. 38.
    Hoare CAR (2004) Communicating sequential processes. Prentice Hall, Englewood Cliffs Google Scholar
  39. 39.
    Bergstra JA, Klop JW (1984) Process algebra for synchronous communication. Inf Control 60(1/3):109–137 CrossRefzbMATHMathSciNetGoogle Scholar
  40. 40.
    Milner R (1989) Communication and concurrency. Prentice Hall, Englewood Cliffs zbMATHGoogle Scholar
  41. 41.
    Baeten JCM, Van Beek DA, Rooda JE (2007) Process algebra for dynamic system modeling. In: CRC handbook of dynamic system modeling. CRC Press, Boca Raton, pp 1–21 Google Scholar
  42. 42.
    Baeten JCM, Klop JW (2011) Typography in process algebra, the Traveling Science Man. Liber amicorum, Nov. 2011, pp 127–138 Google Scholar
  43. 43.
    Haxthausen AE, Peleska J (2007) A domain-oriented model-based approach for construction and verification of railway control systems. In: Formal methods and hybrid real-time systems. Lecture notes in computer science, vol 4700. Springer, Berlin, pp 320–348 CrossRefGoogle Scholar
  44. 44.
    Buth B, Kouvaras M, Peleska J, Shi H (1997) Deadlock analysis for a fault-tolerant system. In: Lecture notes in computer science, vol 1349. Springer, Berlin, pp 60–75 Google Scholar
  45. 45.
    Buth B, Peleska J, Shi H (1998) Combining methods for the livelock analysis of a fault-tolerant system. In: AMAST’98. Lecture notes in computer science, vol 1548. Springer, Berlin, pp 124–139. Google Scholar
  46. 46.
    Ryan P, Schneider S, Goldsmith M, Lowe G, Roscoe B (2001) The modeling and analysis of security protocols: the CSP approach. Addison-Wesley, Reading Google Scholar
  47. 47.
    Hoare T (2006) Why ever CSP? Electron Notes Theor Comput Sci 162:209–215 CrossRefGoogle Scholar
  48. 48.
    Roscoe AW, Gardiner PHB, Goldsmith MH, Hulance JR, Jackson DM, Scattergood JB (1995) Hierarchical compression for model-checking CSP or how to check 1020 dining philosophers for deadlock. In: Tools and algorithms for the construction and analysis of systems, vol 1019, pp 133–152 CrossRefGoogle Scholar
  49. 49.
    Allen R, Garlan D (1997) A formal basis for architectural connection. ACM Trans Softw Eng Methodol, July Google Scholar
  50. 50.
    Ribeiro OR, Fernandes JM, Pinto LF (2005) Model checking embedded systems with PROMELA. In: Proceedings of 12th IEEE international conference and workshops on the engineering of computer-based systems Google Scholar
  51. 51.
    Hooman J, Kugler H, Ober I (2008) Supporting UML-based development of embedded systems by formal techniques. Softw Syst Model Google Scholar
  52. 52.
    Xie F, Browne JC (2003) Verified systems by composition from verified components. In: Proceedings of joint conference ESEC/FSE Google Scholar
  53. 53.
    Ziadi T, Helou L, Jezequel JM (2004) Revisiting state chart synthesis with an algebraic approach. In: Proceedings of 26th international conference on software engineering Google Scholar
  54. 54.
    Adamek J, Plasil F (2005) Component composition errors and update atomicity: static analysis. J Softw Maint Evol Res Pract, September Google Scholar
  55. 55.
    Campbell L, Cheng B, McUmber W, Stirewalt REK (2002) Automatically detecting and visualizing errors in UML diagrams. Requir Eng (7), 264–287 Google Scholar
  56. 56.
    Cheesman J, Daniels J (2000) UML components—a simple process for specifying component-based software. Addison-Wesley Longman, Amsterdam Google Scholar
  57. 57.
    Giese H et al (2003) Towards the composition verification of real-time UML designs. In: Proceedings of the 9th European software engineering conference/11th ACM SIGSOFT symposium on foundations of software engineering Google Scholar
  58. 58.
    Goessler G, Graf S, Majster-Cederbaum M, Martens M, Sifakis J (2007) An approach to modeling and verification of component based systems. In: SOFSEM 2007. Lecture notes in computer science, vol 4362. Springer, Berlin, pp 295–308 Google Scholar
  59. 59.
    Babamir SM (2012) Constructing formal rules to verify message communication in distributed systems. J Supercomput 59(3):1396–1418 CrossRefMathSciNetGoogle Scholar
  60. 60.
    Vrba Z (2009) Implementation and performance aspects of Kahn process networks. Ph.D. thesis Google Scholar
  61. 61.
    Parks TM (1995) Bounded scheduling of process networks. Ph.D. dissertation, Berkeley, CA, USA Google Scholar
  62. 62.
    Kahn G (1974) The semantics of a simple language for parallel programming. Inf Process 74 Google Scholar
  63. 63.
    Kim M, Kim Y, Kim H (2011) A comparative study of software model checkers as unit testing tools: an industrial case study. IEEE Trans Softw Eng 37(2) Google Scholar
  64. 64.
    Aldrich J, Chambers C, Notkin D (2002) ArchJava: connecting software architecture to implementation. In: Proceedings of ICSE’02: 24th international conference on software engineering Google Scholar
  65. 65.
    Chi Huang T (2011) Universal connection architecture for interactive applications to achieve distributed computing. J Netw Comput Appl 34(1):232–251 CrossRefGoogle Scholar
  66. 66.
    Ubayashi N, Nomura J, Tamai T (2010) Archface: a contract place where architectural design and code meet together. In: Proceedings of the 32nd international conference on software engineering. ACM, New York, pp 75–84 Google Scholar
  67. 67.
    Choi Y, Bunse C (2011) Design verification in model-based controller development using an abstract component. Softw Syst Model 10(1):91–115 CrossRefGoogle Scholar
  68. 68.
    Baresi L, Ghezzi C, Mottola Loupe L (2010) Verifying publish-subscribe architecture with a magnifying lens. IEEE Trans Softw Eng 37(2):228–246 CrossRefGoogle Scholar
  69. 69.
    Choi Y, Kim M (2012) Controlled composition and abstraction for bottom-up integration and verification of abstract components. Inf Softw Technol 54(1):119–136 CrossRefGoogle Scholar
  70. 70.
    Pelliccione P, Tivoli M, Bucchiarone A, Polini A (2008) An architectural approach to the correct and automatic assembly of evolving component-based systems. J Syst Softw 81(12):2237–2251 CrossRefGoogle Scholar
  71. 71.
    Pelliccione P, Inveradi P, Muccini H (2009) CHARMY: a framework for designing and verifying architectural specifications. IEEE Trans Softw Eng 35(3):325–346 CrossRefGoogle Scholar
  72. 72.
    Cassou D, Bruneau J, Consel C, Balland E (2011) Towards a tool-based development methodology for pervasive computing applications. IEEE Trans Softw Eng Google Scholar
  73. 73.
    Cassou D (2011) Leveraging software architectures to guide and verify the development of sense/compute/control applications. In: Proceedings of FutureSOC’11: 6th HPI symposium on future trends in service-oriented computing. Hasso-Plattner Institute, Potsdam, Germany, June 2011 Google Scholar
  74. 74.
    Guney K (2009) Comparison of Mamdani and Sugeno fuzzy inference system models for resonant frequency calculation of rectangular microstrip antennas. Prog Electromagn Res B 12:81–104 CrossRefGoogle Scholar
  75. 75.
    Jones C (2000) Software assessments, benchmarks and best practices. Addison-Wesley Professional, Reading. ISBN 978-0-201-48542-4 Google Scholar
  76. 76.
    Formal Systems (Europe) Ltd. Failures, Divergencies and Refinement. Last visit: January 2013
  77. 77.
    Sun J, Liu Y, Dong JS (2009) PAT: towards flexible verification under fairness. In: Proceedings of the 20th international conference on computer-aided verification (CAV 2009). Lecture notes in computer science, vol 5643. Springer, Berlin Google Scholar

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  • Ali Rezaee
    • 1
    Email author
  • Amir Masoud Rahmani
    • 1
  • Ali Movaghar
    • 2
  • Mohammad Teshnehlab
    • 1
  1. 1.Department of Computer Engineering, Science and Research BranchIslamic Azad UniversityTehranIran
  2. 2.Department of Computer EngineeringSharif University of TechnologyTehranIran

Personalised recommendations