Using model-driven engineering to automate software language translation

被引:0
|
作者
Kevin Lano
Hanan Siala
机构
[1] King’s College London,Department of Informatics
来源
关键词
Program translation; Model-driven engineering; Re-engineering; Reverse engineering;
D O I
暂无
中图分类号
学科分类号
摘要
The porting or translation of software applications from one programming language to another is a common requirement of organisations that utilise software, and the increasing number and diversity of programming languages makes this capability as relevant today as in previous decades. Several approaches have been used to address this challenge, including machine learning and the manual definition of direct language-to-language translation rules, however the accuracy of these approaches remains unsatisfactory. In this paper we describe a new approach to program translation using model-driven engineering techniques: reverse-engineering source programs into specifications in the UML and OCL formalisms, and then forward-engineering the specifications to the required target language. This approach can provide assurance of semantic preservation, and additionally has the advantage of extracting precise specifications of software from code. We provide an evaluation based on a comprehensive dataset of examples, including industrial cases, and compare our results to those of other approaches and tools. Our specific contributions are: (1) Reverse-engineering source programs to detailed semantic models of software behaviour, to enable semantically-correct translations and reduce re-testing costs; (2) Program abstraction processes defined by precise and explicit rules, which can be edited and configured by users; (3) A set of reusable OCL library components appropriate for representing program semantics, and which can also be used for OCL specification of new applications; (4) A systematic procedure for building program abstractors based on language grammars and semantics.
引用
收藏
相关论文
共 50 条
  • [1] Using model-driven engineering to automate software language translation
    Lano, Kevin
    Siala, Hanan
    [J]. AUTOMATED SOFTWARE ENGINEERING, 2024, 31 (01)
  • [2] Program translation using model-driven engineering
    Lano, K.
    [J]. 2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2022), 2022, : 362 - 363
  • [3] Using weaving models to automate model-driven web engineering proposals
    Vara, Juan M.
    Valeria De Castro, Maria
    Didonet Del Fabro, Marcos
    Marcos, Esperanza
    [J]. INTERNATIONAL JOURNAL OF COMPUTER APPLICATIONS IN TECHNOLOGY, 2010, 39 (04) : 245 - 252
  • [4] Challenges in Model-Driven Software Engineering
    Van Der Straeten, Ragnhild
    Mens, Tom
    Van Baelen, Stefan
    [J]. MODELS IN SOFTWARE ENGINEERING, 2009, 5421 : 35 - +
  • [5] Cognifying Model-Driven Software Engineering
    Cabot, Jordi
    Clariso, Robert
    Brambilla, Marco
    Gerard, Sebastien
    [J]. SOFTWARE TECHNOLOGIES: APPLICATIONS AND FOUNDATIONS, STAF 2017, 2018, 10748 : 154 - 160
  • [6] Model-Driven Software Engineering in Practice
    Brambilla, Marco
    Cabot, Jordi
    Wimmer, Manuel
    [J]. Synthesis Lectures on Software Engineering, 2012, 1 (01): : 1 - 184
  • [7] Guest Editorial to the Special Issue on Language Engineering for Model-Driven Software Development
    Jean Bézivin
    Reiko Heckel
    [J]. Software & Systems Modeling, 2006, 5 (3) : 231 - 232
  • [8] The Impact of the Model-Driven Approach to Software Engineering on Software Engineering Education
    Hamou-Lhadj, Abdelwahab
    Gherbi, Abdelouahed
    Nandigam, Jagadeesh
    [J]. PROCEEDINGS OF THE 2009 SIXTH INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY: NEW GENERATIONS, VOLS 1-3, 2009, : 719 - +
  • [9] Language support for model-driven software development
    Cepa, Vasian
    Mezini, Mira
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2008, 73 (01) : 13 - 25
  • [10] Language Architecture: An Architecture Language for Model-Driven Engineering
    Brouwers, Niels
    Hamilton, Marc
    Kurtev, Ivan
    Luo, Yaping
    [J]. MODELSWARD: PROCEEDINGS OF THE 5TH INTERNATIONAL CONFERENCE ON MODEL-DRIVEN ENGINEERING AND SOFTWARE DEVELOPMENT, 2017, : 147 - 156