Menu
Publications
2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011
2010
2009
2008
2007
2006
2005
2004
2003
2002
2001
Editor-in-Chief
Nikiforov
Vladimir O.
D.Sc., Prof.
Partners
doi: 10.17586/2226-1494-2020-20-3-410-417
SOFTWARE PORTABILITY BASED ON RETARGETABLE RUNTIME ENVIRONMENt
Read the full article ';
Article in Russian
For citation:
Abstract
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
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
-
Hook B. Write Portable Code: An Introduction to Developing Software for Multiple Platforms. No Starch Press, 2005, 272 p.
-
Kozuch M.A., Kaminsky M., Ryan M.P. Migration without Virtualization. Proc. of HotOS'09: 12th Workshop on Hot Topics in Operating Systems, 2009.
-
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
-
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
-
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
-
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.
-
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
-
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.
-
Stehle T., Riebisch M. Establishing common architectures for porting mobile applications to new platforms. Softwaretechnik-Trends, 2015, vol. 35, no. 2.
-
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
-
Boehm B. Managing software productivity and reuse. Computer, 1999, vol. 32,no. 9, pp. 111–113. doi: 10.1109/2.789755
-
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
-
Mooney J.D. Issues in the specification and measurement of software portability. Poster session at the 15th International Conference on Software Engineering, 1993.
-
Raymond E.S. The Art of UNIX Programming. Addison-Wesley Professional, 2003, 560 p.
-
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
-
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
-
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
-
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
-
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