doi: 10.17586/2226-1494-2020-20-3-410-417


SOFTWARE PORTABILITY BASED ON RETARGETABLE RUNTIME ENVIRONMENt

I. P. Loginov, A. M. Dergachev, E. . Pavlovskiy


Read the full article  ';
Article in Russian

For citation:
Loginov I.P., Dergachev A.M., Pavlovskiy E.A. Software portability based on retargetable runtime environment. Scientific and Technical Journal of Information Technologies, Mechanics and Optics, 2020, vol. 20, no. 3, pp. 410–417 (in Russian). doi: 10.17586/2226-1494-2020-20-3-410-417


Abstract
Subject of Research. The paper presents research of approaches to portable software development at the level of binary and source code. We study such factors affecting portability as compatibility of target platforms at the level of software and binary application interfaces, standardization of programming languages, software architecture, the functionality of software target platforms and software tools. Modern approaches for software portability based on virtual runtimes for Java and the .NET platform are considered. Method. A method is proposed for software portability based on two- stage compilation and an architecture description language application for translator configuration. The method gives the possibility to solve the software portability problem at the level of program execution environment. We also present a new approach to self-tuning runtime implementation with such configuration parameters as architecture-dependent metadata — descriptions of target platforms. To generate a binary image of the runtime environment for a target platform, its source code is not required. Image generation is performed based on metadata that is part of an existing image used as a builder utility. Main Results. Implementation requirements for the program execution environment and its architecture at the level of functional components are determined. The novel approach for the runtime implementation is proposed which ensures portability without recompilation from the source code of both user applications and the runtime environment. A script for the runtime environment application has been developed to generate its binary image aimed at a target platform. Practical Relevance. Binary portability of the program execution environment allows reducing labor costs for cross-platform applications.

Keywords: portability, cross-platform software, execution environment, architecture description language, two-stage compilation

Acknowledgements. The study was performed as part of the project “Development of methodological and technical basis for creating compiler building tools for IoT devices” and supported by the grant from the “Fund for Development Promotion of Enterprise Small Forms in Scientific and Technical Sphere”.

References
  1. Hook B. Write Portable Code: An Introduction to Developing Software for Multiple Platforms. No Starch Press, 2005, 272 p.
  2. Kozuch M.A., Kaminsky M., Ryan M.P. Migration without Virtualization. Proc. of HotOS'09: 12th Workshop on Hot Topics in Operating Systems, 2009.
  3. Sahoo J., Mohapatra S., Lath R. Virtualization: A survey on concepts, taxonomy and associated security issues. Proc. 2nd International Conference on Computer and Network Technology (ICCNT 2010), 2010, pp. 222–226. doi: 10.1109/ICCNT.2010.49
  4. Klima P., Selinger S. Towards platform independence of mobile applications metamorphosing android applications for the web. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2013, vol. 8112, part 2, pp. 442–449. doi: 10.1007/978-3-642-53862-9-56
  5. Stehle T., Riebisch M. A porting method for coordinated multiplatform evolution. Journal of Software: Evolution and Process, 2019, vol. 31, no.  2, pp. e2116. doi: 10.1002/smr.2116
  6. Mooney J.D. Bringing Portability to the Software Process. Technical Report TR 97-1. Dept. of Statistics and Computer Science, West Virginia Univ., Morgantown, WV, 1997, 9 p.
  7. Mooney J.D. Developing portable software. IFIP Advances in Information and Communication Technology, 2004, vol. 157, pp. 55–84. doi: 10.1007/1-4020-8159-6_3
  8. Kagström S. Tools, techniques, and trade-offs when porting large software systems to new environments. Doctoral Dissertation. Blekinge Institute of Technology, 2008, 176 p.
  9. Stehle T., Riebisch M. Establishing common architectures for porting mobile applications to new platforms. Softwaretechnik-Trends, 2015, vol. 35, no. 2.
  10. Washizaki H., Yamamoto H., Fukazawa Y. A metrics suite for measuring reusability of software components. Proc. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No. 03EX717), 2004, pp. 211–223. doi: 10.1109/METRIC.2003.1232469
  11. Boehm B. Managing software productivity and reuse. Computer, 1999, vol. 32,no. 9, pp. 111–113. doi: 10.1109/2.789755
  12. Buryy A.S., Morin E.V. Software assessment by a set of indicators. Journal of Instrument Engineering, 2019, vol. 62, no. 10, pp. 907–913. (in Russian). doi: 10.17586/0021-3454-2019-62-10-907-913
  13. Mooney J.D. Issues in the specification and measurement of software portability. Poster session at the 15th International Conference on Software Engineering, 1993.
  14. Raymond E.S. The Art of UNIX Programming. Addison-Wesley Professional, 2003, 560 p.
  15. Tanenbaum A.S., Klint P., Bohm W. Guidelines for software portability. Software: Practice and Experience, 1978, vol. 8, no. 6, pp. 681–698. doi: 10.1002/spe.4380080604
  16. Mooney J.D. Portability and reusability: common issues and differences. Proc. of the 1995 ACM 23rd Annual Conference on Computer Science, 1995, pp. 150–156. doi: 10.1145/259526.259550
  17. Korenkov I., Loginov I., Doronin O., Sadyrin D., Dergachev A. Retargetable compiler design issues. Proc. 19th International Multidisciplinary Scientific GeoConference: SGEM, 2019, vol. 19, no. 2.1, pp. 561–568.doi: 10.5593/sgem2019/2.1/S07.074
  18. Qin W., Malik S. Architecture description languages for retargetable compilation. The Compiler Design Handbook: Optimizations and Machine Code Generation, 2002, pp. 535–564. doi: 10.1201/9781420040579
  19. Korenkov I., Loginov I., Dergachev A., Lazdin A. Declarative target architecture definition for data-driven development toolchain. Proc. 18th International Multidisciplinary Scientific GeoConference: SGEM: Surveying Geology & Mining Ecology Management, 2018, vol. 18, no. 2.1, pp. 271–278. doi: 10.5593/sgem2018/2.1/S07.035


Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License
Copyright 2001-2024 ©
Scientific and Technical Journal
of Information Technologies, Mechanics and Optics.
All rights reserved.

Яндекс.Метрика