Automatic generation of software code from system design models remains an actively explored research area for the past several years. A number of tools are currently available to facilitate and automate the task of generating code from software models. To the best of our knowledge, existing software tools rely on an explicitly defined transformation rule set to perform the model-to-code transformation process. In this paper, we introduce a novel tool named Code Swarm, abbreviated as CodS, that automatically generates implementation code from system design models by utilizing a swarm-based approach. Specifically, CodS is capable of generating Java code from the class and state models of the software system by making use of the previously solved model-to-code transformation examples. Our tool enables the designers to specify behavioural actions in the input models using the Action Specification Language (ASL). We use an industrial case study of the Elevator Control System (ECS) to perform the experimental validation of our tool. Our results indicate that the code generated by CodS is correct and consistent with the input design models. CodS performs the process of automatic code generation without taking the explicit transformation rule set or languages metamodels information as input, which distinguishes it from all the existing automatic code generation tools.
翻译:从系统设计模型自动生成软件代码在过去的几年中一直是一个积极探索的研究领域。目前已有多种工具可用于促进和自动化从软件模型生成代码的任务。据我们所知,现有软件工具依赖于明确定义的转换规则集来执行模型到代码的转换过程。在本文中,我们介绍了一种名为Code Swarm(缩写为CodS)的新工具,它利用群体智能方法从系统设计模型自动生成实现代码。具体而言,CodS能够通过利用先前解决的模型到代码转换示例,从软件系统的类模型和状态模型生成Java代码。我们的工具使设计者能够使用动作规范语言(ASL)在输入模型中指定行为动作。我们采用电梯控制系统(ECS)的工业案例研究来对我们的工具进行实验验证。结果表明,CodS生成的代码是正确且与输入设计模型一致的。CodS无需将明确的转换规则集或语言元模型信息作为输入即可执行自动代码生成过程,这使其区别于所有现有的自动代码生成工具。