Integrating Prototyping into the SOFL Three-Step Modeling Approach

  • Fauziah binti Zainuddin
  • Shaoying Liu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6991)


Writing formal specifications in a practical software project is likely to increase the time for requirements analysis and/or abstract design and to postpone the implementation, which is often hard to be accepted by the user and/or the manager of the project. Prototyping provides an agile approach for communication between the user and the developer but is unable to deal with all aspects of the system precisely and completely. In this paper, we put forward a new development approach resulting from integrating prototyping techniques into the SOFL three-step modeling approach. The new approach is aimed at achieving a quality development process through promoting the facilities for user-friendly communication between the user and the developer and for exploring all possible aspects of the system precisely. We have applied the approach to develop an IC card software for the Japan railway service system and present the recorded data as the result of the study. Compared to our previous experiences using both formal and informal methods, our study suggests that the new approach can be more practical than existing formal specification methods and more effective in achieving the completeness and accuracy of the user’s requirements than informal specification methods.


Low-fidelity prototype high-fidelity prototype SOFL 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Woodcock, J., Larsen, P.G., Bicarregui, J., Fitzgerald, J.: Formal Methods: Practice and Experience. ACM Computing Surveys 41(4), 19:1–19:36 (2009)Google Scholar
  2. 2.
    Parnas, D.: Really Rethinking of “Formal Methods”. Computer, 28–34 (2010)Google Scholar
  3. 3.
    Kujala, S.: User Involvement: A Review of Benefits and Challenges. In: Behaviour & Information Technology, pp. 1–16 (2003)Google Scholar
  4. 4.
    Liu, S.: Formal Engineering for Industrial Software Development Using the SOFL Method. Springer, Heidelberg (2004)CrossRefzbMATHGoogle Scholar
  5. 5.
    Litcher, H., Schneider-Hufschmidt, M., Zullighoven, H.: Prototyping in Industrial Software Projects – Bridging the Gap between Theory and Practice. IEEE Transaction on Software Engineering, 825–832 (1994)Google Scholar
  6. 6.
    Bumbulis, P., Alencer, P.S.C., Cowan, D.D., Lucena, C.J.P.: Combining Formal Technique and Prototyping in User Interface Construction and Verification. In: 2nd Eurographics Workshop on Design, Specification, Verification of Interactive Systems (DSV-IS 1995), pp. 7–19. Springer, Heidelberg (1995)Google Scholar
  7. 7.
    Hall, A.: What Does Industry Need from Formal Specification Techniques? In: Second IEEE Workshop on Industrial Strength Formal Specification Techniques, pp. 2–7 (1999)Google Scholar
  8. 8.
    Hall, A.: Seven Myths of Formal Methods. IEEE Software, 11–19 (1990)Google Scholar
  9. 9.
    Liu, S., Asuka, M., Koyama, K., Nakamura, Y.: Applying SOFL to Specify A Railway Crossing Controller for Industry. In: Industrial Strength Formal Specification Techniques, 2nd IEEE Workshop on Digital Object Identifier, pp. 16–27 (1998)Google Scholar
  10. 10.
    Cheng, B.H.C., France, R.: A Discussion about Integrated Techniques. In: Second IEEE Workshop on Industrial Strength Formal Specification Techniques, pp. 65–72 (1998)Google Scholar
  11. 11.
    Mat, A.R., Liu, S.: Applying SOFL to Construct Formal Specification an Automatic Automobile Driving Simulation System. In: International Conference on Software Technology and Engineering, pp. 42–48. World Scientific Publishing, Singapore (2009)Google Scholar
  12. 12.
    Kujala, S., Kauppinen, M., Lehtola, L., Kojo, T.: The Role of User Involvement in Requirement Quality and Project Success. In: 13th IEEE International Conference on Requirement Engineering, pp. 75–84 (2005)Google Scholar
  13. 13.
    Damodaran, L.: User Involvement in the System Design Process – A Practical Guide for Users. Behaviour & Information Technology, 363–377 (1996)Google Scholar
  14. 14.
    Alagar, V.S., Kourpoulos, D.: Completeness in Specification. Information and Software Technology, 331–342 (1994)Google Scholar
  15. 15.
    Liu, S.: Utilizing Test Case Generation to Inspect Formal Specifications for Completeness and Feasibility. In: 10th High Assurance Systems Engineering Symposium, pp. 349–356 (2007)Google Scholar
  16. 16.
    Leveson, N.: Completeness in Formal Specification Language Design for Process-Control Systems. In: Formal Methods in Software Practice, pp. 75–87. ACM Press, New York (2000)Google Scholar
  17. 17.
    Youn-Kyung Lim, Erik, S., Josh, T.: The anatomy of prototypes: Prototypes as filters, prototypes as manifestations of design ideas. ACM Trans. Comput.-Hum. Interact. 15(2), 7–33 (2008)Google Scholar
  18. 18.
    Sefelin, R., Tscheligi, M., Giller, V.: Paper prototyping - what is it good for? A comparison of paper- and computer-based low-fidelity prototyping. In: Conference on Human Factors in Computing Systems CHI 2003, pp. 778–779. ACM Press, New York (2003)Google Scholar
  19. 19.
    Rudd, J., Stern, K., Isensee, S.: Low vs. High-fidelity Prototyping Debate. ACM Interactions 3(1), 76–85 (1996)CrossRefGoogle Scholar
  20. 20.
  21. 21.
    Davis, A.M.: Operational prototyping: a new development approach. IEEE Software, 70–78 (1992)Google Scholar
  22. 22.
    Gao, T., Shi, Q.: A Complex Interface Modeling Approach Based on Presentation Style. In: IEEE International Conference Intelligent Computing and Intelligent Systems, ICIS 2009, pp. 233–237 (2009)Google Scholar
  23. 23.
    Nguyen, T., Tram, Q., Tai, C.G.T., Thuy, D.T.B.: User Interface Design Pattern Management System Support for Building Information System. In: 1st International IEEE Conference on Digital Information Management, pp. 99–101 (2007)Google Scholar
  24. 24.
    Liu, S.: Evolution: A More Practical Approach than Refinement for Software Development. In: Proceedings of Third IEEE International Conference on Engineering of Complex Computer Systems, pp. 142–151. IEEE Computer Society Press, Los Alamitos (1997)Google Scholar
  25. 25.
    Liu, S.: Integrating Specification-Based Review and Testing for Detecting Errors in Programs. In: Butler, M., Hinchey, M.G., Larrondo-Petrie, M.M. (eds.) ICFEM 2007. LNCS, vol. 4789, pp. 136–150. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  26. 26.
    Duan, Z., Tian, C.: A Unified Model Checking Approach with Projection Temporal Logic. In: Liu, S., Araki, K. (eds.) ICFEM 2008. LNCS, vol. 5256, pp. 167–186. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  27. 27.
    Beck, K.: Embracing Change with Extreme Programming. Computer 32(10), 70–77 (1999)CrossRefGoogle Scholar
  28. 28.
    Chachkov, S., Buchs, D.: From Formal Specifications to Ready-to-Use Software Components: The Concurrent Object Oriented Petri Net Approach. In: IEEE International Conference on Application of Concurrency to System Design, pp. 99–110 (2001)Google Scholar
  29. 29.
    Shirakawa, Y.: JR East contactless IC card automatic fare collection system “Suica”. In: 7th IEEE International Symposium on Digital Object Identifier High Assurance Systems Engineering, pp. 3–10 (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Fauziah binti Zainuddin
    • 1
  • Shaoying Liu
    • 1
  1. 1.Department of Computer ScienceHosei UniversityTokyoJapan

Personalised recommendations