skip to main content
research-article

An automated refactoring tool for dataflow visual programming language

Published:01 April 2008Publication History
Skip Abstract Section

Abstract

Refactoring tools are extremely important to prevent errors and reduce consumed time. But these tools only support text-based languages, especially in Object Oriented languages. In order to accommodate the situation that Dataflow Visual Programming Languages (DFVPLs) are more and more popular, an automated refactoring tool for DFVPL was proposed. DFVPL was divided into two layers---visual layer and dataflow layer. Two layers mutually evolved, which ensured correctness of visual elements and dataflow semantic during refactoring. Some algorithms like middle graph generation; terminal auto-generation and terminal auto-modification were proposed to implement the changes of two layers. This tool has been proved correct and efficient by some refactoring instances. In addition, we discussed some famous DFVPL like LabVIEW to expose lacking of automated refactoring tool forced refactoring by hand to be time-consuming and error-prone.

References

  1. M Fowler, K Beck, J Brant, W Opdyke, and D Roberts. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999, pp. 47--51.Google ScholarGoogle Scholar
  2. W. F. Opdyke, "Refactoring Object-Oriented Frameworks," Ph.D. thesis, University of Illinois, 1992, pp. 18--35. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. D Roberts, J Brant, R Johnson, "A refactoring tool for Smalltalk," Theory and Practice of Object Systems, vol. 3, no. 4, pp. 253--263, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Instantiations. jFactor, http://old.instantiations.com/jfactor/default.htm, 2007.Google ScholarGoogle Scholar
  5. xtreme-simplicity, C# Refactory, http://www.xtreme-simplicity.net/csharprefactory.htm, 2007.Google ScholarGoogle Scholar
  6. A. M Leitão, "A Formal Pattern Language for Refactoring of Lisp Programs," in Proceedings of the Sixth European Conference on Software Maintenance and Reengineering, Budapest, Hungary, 2002, pp.186--192. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Wesley M. Johnston, J. R. Paul Hanna, Richard J. Millar, "Advances in Dataflow Programming Languages," ACM Computing Surveys, vol. 36, no. 1, pp. 1--31, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. TIOBE Programming Community Index, http://www.tiobe.com/tpci.htm, 2007.Google ScholarGoogle Scholar
  9. T. R. G Green, M Petre, "Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework," Journal of Visual Languages and Computing, vol. 7, pp. 158--162, 1996.Google ScholarGoogle ScholarCross RefCross Ref
  10. H. A Andrade, S Kovner, "Software Synthesis from Dataflow Models for G and LabVIEW#8482;," In Proceedings of the IEEE Conference Record of the 32nd Asilomar Conference on Signals, Systems and Computers, Vol 2. Pacific Grove, CA, 1998, pp. 1706--1709.Google ScholarGoogle Scholar
  11. M Klinger, "Reusable test executive and test programs methodology and implementation comparison between HP VEE and LabView," In IEEE Systems readiness technology conference, Antonion, USA, 1999, pp. 305--312.Google ScholarGoogle Scholar
  12. P. T Cox, H Glaser, S Maclean, "A visual development environment for parallel application," Proceedings of IEEE Symposium on Visual Languages, 1998, pp. 144--151. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. LabVIEW 8.2, LabVIEW User Manual, National Instruments, Austin, TX, 2007.Google ScholarGoogle Scholar

Index Terms

  1. An automated refactoring tool for dataflow visual programming language

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!