Journal of Computer Science and Technology ›› 2020, Vol. 35 ›› Issue (1): 161-178.doi: 10.1007/s11390-020-9694-z

• Special Section on Applications • Previous Articles     Next Articles

SmartPipe: Towards Interoperability of Industrial Applications via Computational Reflection

Su Zhang1, Hua-Qian Cai1, Member, CCF, Yun Ma2, Member, CCF, ACM, IEEE, Tian-Yue Fan3, Ying Zhang4,*, Member, CCF, ACM, IEEE, Gang Huang1,*, Member, CCF, ACM, IEEE        

  1. 1 Key Laboratory of High-Confidence Software Technology(Peking University), Ministry of Education Beijing 100871, China;
    2 School of Software, Tsinghua University, Beijing 100084, China;
    3 Hengyi Petrochemicals CO., LTD., Hangzhou 311215, China;
    4 National Engineering Research Center for Software Engineering, Peking University, Beijing 100871, China
  • Received:2019-05-07 Revised:2019-09-15 Online:2020-01-05 Published:2020-01-14
  • Contact: Ying Zhang E-mail:zhang.ying,
  • About author:Su Zhang is a Ph.D. candidate in Key Laboratory of High-Confidence Software Technology and School of Electronics Engineering and Computer Science, Peking University, Beijing. His current research interests include system software and software engineering.
  • Supported by:
    This work was supported by the National Key Research and Development Program of China under Grant No. 2018YFB1004800, the National Natural Science Foundation of China under Grant No. 61725201, Beijing Municipal Science and Technology Project under Grant No. Z171100005117002, and Tianjin Municipal People's Government Port Service Office (Project on Cross-Border E-Commerce Big Data Analysis and Display System).

With the advancement of new information technologies, a revolution is being taken place to bring the industry into a new era of intelligent manufacturing. One of the key requirements of intelligent manufacturing is the interoperability of industrial applications. However, it is challenging to realize the interoperability for legacy industrial applications due to 1) the deficient semantic information of data transmitted over heterogeneous communication protocols, 2) the difficulty to understand the complex process of business logic with no source code, and 3) the high cost and potential risk of reengineering the applications. To address the issues, in this paper, we propose an approach named SmartPipe to exposing existing functionalities of an industrial application as APIs without source code while simultaneously allowing the application to remain unchanged. We design a behavioral runtime model (BRM) as the self-representation of the industrial applications, based on which a computational reflection framework is designed to flexibly construct the model and generate APIs that encapsulate specific functionalities. We validate SmartPipe on a real industrial application that controls the spin-draw winding machine. Results show that our approach is effective and more suitable for industrial scenes compared with traditional approaches.

Key words: computational reflection; runtime model; interoperability; industrial application; API generation;

[1] Shipp S S, Gupta N, Lal B et al. Emerging global trends in advanced manufacturing. Technical Report, Institute for Defense Analyses, 2012.,August 2019.
[2] Lin S W, Miller B, Durand J et al. Industrial Internet reference architecture. Technical Report, Industrial Internet Consortium, 2015.,Nov.2019.
[3] Bechtold J, Lauenstein C, Kern A et al. Industry 4.0-The capgemini consulting view. Technical Report, Capgemnini Consulting, 2014, 31.,Nov.2019.
[4] Maes P. Concepts and experiments in computational reflection. ACM SIGPLAN Notices, 1987, 22(12):147-155.
[5] Feldhorst S, Libert S, Ten Hompel M et al. Integration of a legacy automation system into a SOA for devices. In Proc. the 12th IEEE Int. Conf. Emerging Technologies and Factory Automation, September 2008, Article No. 110.
[6] Givehchi O, Landsdorf K, Simoens P et al. Interoperability for industrial cyber-physical systems:An approach for legacy systems. IEEE Trans. Industrial Informatics, 2017, 13(6):3370-3378.
[7] Tao F, Cheng J F, Qi Q L. IIHub:An industrial Internetof-Things hub toward smart manufacturing based on cyberphysical system. IEEE Trans. Industrial Informatics, 2018, 14(5):2271-2280.
[8] Queirós R. Kaang:A RESTful API generator for the modern web. In Proc. the 7th Symp. Languages, Applications and Technologies, June 2018, Article No. 1.
[9] Ed-Douibi H, Izquierdo J L C, Gómez A et al. EMF-REST:Generation of RESTful APIs from models. In Proc. the 31st Annual ACM Symp. Applied Computing, April 2016, pp.1446-1453.
[10] Zhai J, Huang J J, Ma S Q et al. Automatic model generation from documentation for Java API functions. In Proc. the 38th IEEE/ACM Int. Conf. Software Engineering, May 2016, pp.380-391.
[11] Almonaies A A, Cordy J R, Dean T R. Legacy system evolution towards service-oriented architecture. In Proc. the 2010 Int. Workshop on SOA Migration and Evolution, March 2010, pp.53-62.
[12] Stroulia E, El-Ramly M, Sorenson P et al. Legacy systems migration in CelLEST. In Proc. the 22nd Int. Conf. Software Engineering, June 2000, Article No. 790.
[13] Stroulia E, El-Ramly M, Sorenson P. From legacy to web through interaction modeling. In Proc. the 18th Int. Conf. Software Maintenance, October 2002, pp.320-329.
[14] Canfora G, Fasolino A R, Frattolillo G et al. Migrating interactive legacy systems to web services. In Proc. the 10th European Conf. Software Maintenance and Reengineering, March 2006, pp.24-36.
[15] Canfora G, Fasolino A R, Frattolillo G et al. A wrapping approach for migrating legacy system interactive functionalities to service oriented architectures. Journal of Systems and Software, 2008, 81(4):463-480.
[16] Rodríguez-Echeverría R, Macías F, Pavón V M et al. Modeldriven generation of a REST API from a legacy web application. In Proc. the 9th International Workshop on ModelDriven and Agile Engineering for the Web, July 2013, pp.133-147.
[17] Jiang Y T, Stroulia E. Towards reengineering web sites to web-services providers. In Proc. the 8th European Conf. Software Maintenance and Reengineering, March 2004, pp.296-305.
[18] Baumgartner R, Gottlob G, Herzog M et al. Interactively adding web service interfaces to existing web applications. In Proc. the 2004 Symp. Applications and the Internet, January 2004, pp.74-80.
[19] Sneed H M, Wien A G. Wrapping legacy software for reuse in a SOA. Multikonferenz Wirtschaftsinformatik, 2006, 2:345-360.
[20] Sneed H M. Integrating legacy software into a service oriented architecture. In Proc. the 10th European Conf. Software Maintenance and Reengineering, March 2006, pp.3-14.
[21] Lewis G, Morris E, Smith D. Analyzing the reuse potential of migrating legacy components to a service-oriented architecture. In Proc. the 10th European Conf. Software Maintenance and Reengineering, March 2006, pp.15-23.
[22] Lewis G, Morris E, Smith D et al. Service-oriented migration and reuse technique (SMART). In Proc. the 13th IEEE Int. Workshop on Software Technology and Engineering Practice, September 2005, pp.222-229.
[23] Smith D. Migration of legacy assets to service-oriented architecture environments. In Proc. the 29th Int. Conf. Software Engineering, May 2007, pp.174-175.
[24] Inaganti S, Behara G K. Service identification:BPM and SOA handshake. BPTrends, 2007, 3:1-12.
[25] del Grosso C, di Penta M, de Guzman I G R. An approach for mining services in database oriented applications. In Proc. the 11th European Conf. Software Maintenance and Reengineering, March 2007, pp.287-296.
[26] Yeh D M, Li Y W, Chu W. Extracting entity relationship diagram from a table-based legacy database. Journal of Systems and Software, 2008, 81(5):764-771.
[27] Strobl S, Bernhart M, Grechenig T et al. Digging deep:Software reengineering supported by database reverse engineering of a system with 30+ years of legacy. In Proc. the 25th IEEE Int. Conf. Software Maintenance, September 2009, pp.407-410.
[28] Zhang Z P, Yang H J. Incubating services in legacy systems for architectural migration. In Proc. the 11th Asia-Pacific Software Engineering Conf., November 2004, pp.196-203.
[29] Zhang Z P, Liu R M, Yang H J. Service identification and packaging in service oriented reengineering. In Proc. the 17th International Conference on Software Engineering and Knowledge Engineering, July 2005, pp.620-625.
[30] Chen F, Li S Y, Yang H J et al. Feature analysis for serviceoriented reengineering. In Proc. the 12th Asia-Pacific Software Engineering Conf., December 2005, pp.201-208.
[31] Guo H, Guo C Y, Chen F et al. Wrapping client-server application to Web services for Internet computing. In Proc. the 6th Int. Conf. Parallel and Distributed Computing Applications and Technologies, December 2005, pp.366-370.
[32] Li S, Tahvildari L. JComp:A reuse-driven componentization framework for Java applications. In Proc. the 14th IEEE Int. Conf. Program Comprehension, June 2006, pp.264-267.
[33] Cuadrado F, García B, Dueñas J C et al. A case study on software evolution towards service-oriented architecture. In Proc. the 22nd Int. Conf. Advanced Information Networking and Applications-Workshops, March 2008, pp.1399-1404.
[34] Marchetto A, Ricca F. Transforming a Java application in an equivalent web-services based application:Toward a tool supported stepwise approach. In Proc. the 10th Int. Symp. Web Site Evolution, October 2008, pp.27-36.
[35] Marchetto A, Ricca F. From objects to services:Toward a stepwise migration approach for Java applications. Int. Journal on Software Tools for Technology Transfer, 2009, 11(6):427-440.
[36] Huang G, Liu T C, Mei H et al. Towards autonomic computing middleware via reflection. In Proc. the 28th Annual Int. Computer Software and Applications Conference, September 2004, pp.135-140.
[37] Huang G, Mei H, Yang F Q. Runtime software architecture based on reflective middleware. Science in China Series F:Information Sciences, 2004, 47(5):555-576.
[38] Albertini B, Rigo S, Araujo G et al. A computational reflection mechanism to support platform debugging in SystemC. In Proc. the 5th IEEE/ACM Int. Conf. Hardware/Software Codesign and System Synthesis, September 2007, pp.81-86.
[39] Albertini B, Rigo S, Araujo G. Computational reflection and its application to platform verification. Design Automation for Embedded Systems, 2012, 16(1):1-17.
[40] López P G, Fernández-Casado E, Angles C et al. Enabling collaboration transparency with computational reflection. In Proc. the 16th Int. Conf. Collaboration and Technology, September 2010, pp.249-264.
[41] Bellman K L, Nelson P R, Landauer C. Active experimentation and computational reflection for design and testing of cyber-physical systems. In Proc. the Poster Workshop at the 2014 Complex Systems Design & Management International Conference Co-Located with the 5th International Conference on Complex System Design & Management, November 2014, pp.251-262.
[42] Demers F N, Malenfant J. Reflection in logic, functional and object-oriented programming:A short comparative study. In Proc. the IJCAI'95 Workshop on Reflection and Metalevel Architectures and Their Applications in AI, August 1995, pp.29-38.
[1] Ke-Qing He (何克清), Senior Member, CCF, IEEE, Jian Wang (王健), Member, CCF and Peng Liang (梁鹏), Member, CCF, ACM, IEEE. Semantic Interoperability Aggregation in Service Requirements Refinement [J]. , 2010, 25(6): 1103-1117.
[2] Donggeon Noh and Heonshik Shin. URECA: Efficient Resource Location Middleware for Ubiquitous Environment [J]. , 2008, 23(6 ): 929-943 .
[3] Hao Ruibing; Wu Jianping;. A Formal Approach to Protocol Interoperability Testing [J]. , 1998, 13(1): 79-90.
Full text



[1] Zhou Di;. A Recovery Technique for Distributed Communicating Process Systems[J]. , 1986, 1(2): 34 -43 .
[2] Li Wanxue;. Almost Optimal Dynamic 2-3 Trees[J]. , 1986, 1(2): 60 -71 .
[3] Feng Yulin;. Recursive Implementation of VLSI Circuits[J]. , 1986, 1(2): 72 -82 .
[4] Wang Xuan; Lü Zhimin; Tang Yuhai; Xiang Yang;. A High Resolution Chinese Character Generator[J]. , 1986, 1(2): 1 -14 .
[5] Gao Qingshi; Zhang Xiang; Yang Shufan; Chen Shuqing;. Vector Computer 757[J]. , 1986, 1(3): 1 -14 .
[6] Zhang Cui; Zhao Qinping; Xu Jiafu;. Kernel Language KLND[J]. , 1986, 1(3): 65 -79 .
[7] Wang Jianchao; Wei Daozheng;. An Effective Test Generation Algorithm for Combinational Circuits[J]. , 1986, 1(4): 1 -16 .
[8] Huang Heyan;. A Parallel Implementation Model of HPARLOG[J]. , 1986, 1(4): 27 -38 .
[9] Tang Tonggao; Zhao Zhaokeng;. Stack Method in Program Semantics[J]. , 1987, 2(1): 51 -63 .
[10] Min Yinghua;. Easy Test Generation PLAs[J]. , 1987, 2(1): 72 -80 .

ISSN 1000-9000(Print)

CN 11-2296/TP

Editorial Board
Author Guidelines
Journal of Computer Science and Technology
Institute of Computing Technology, Chinese Academy of Sciences
P.O. Box 2704, Beijing 100190 P.R. China
  Copyright ©2015 JCST, All Rights Reserved