Design and validation of a C++ code generator from Abstract State Machines specifications. Issue 2 (24th November 2019)
- Record Type:
- Journal Article
- Title:
- Design and validation of a C++ code generator from Abstract State Machines specifications. Issue 2 (24th November 2019)
- Main Title:
- Design and validation of a C++ code generator from Abstract State Machines specifications
- Authors:
- Bonfanti, Silvia
Gargantini, Angelo
Mashkoor, Atif - Other Names:
- Mashkoor Atif guestEditor.
Sametinger Johannes guestEditor.
Biro Miklós guestEditor.
Egyed Alexander guestEditor. - Abstract:
- Abstract: According to best practices of model‐driven engineering, the implementation of a system should be obtained from its model through a systematic model‐to‐code transformation. We present in this paper a methodology supported by the Asm2C++ tool, which allows the users to generate C++ code from abstract state machine models. Thanks to Asm2C++, the implementation is generated in a seamless manner with an assurance of potential bug freeness of the generated code. Following the same approach, model‐based testing suggests deriving also (unit) tests from abstract models. We extend the Asm2C++ tool such that it can automatically produce unit tests for the generated code. Abstract test sequences, either generated randomly or through model checking, are translated to concrete C++ unit tests using the Boost library. In a similar manner, also, scenarios are generated in a behavior‐driven development (BDD) approach. To guarantee the correctness of the transformation process, we define a mechanism to test the correctness of the model‐to‐code transformation with respect to two main criteria: syntactical correctness and semantic correctness, which is based on the definition of conformance between the specification and the code. Using this approach, we have devised a process able to test the generated code by reusing unit tests. The process has been used to validate our model‐to‐code transformations.
- Is Part Of:
- Journal of software. Volume 32:Issue 2(2020)
- Journal:
- Journal of software
- Issue:
- Volume 32:Issue 2(2020)
- Issue Display:
- Volume 32, Issue 2 (2020)
- Year:
- 2020
- Volume:
- 32
- Issue:
- 2
- Issue Sort Value:
- 2020-0032-0002-0000
- Page Start:
- n/a
- Page End:
- n/a
- Publication Date:
- 2019-11-24
- Subjects:
- abstract state machine -- automatic code generation -- C++ -- model‐driven engineering -- transformation validation -- unit tests generation
Software engineering -- Periodicals
Computer software -- Development -- Periodicals
Software maintenance -- Periodicals
005.1 - Journal URLs:
- http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)2047-7481 ↗
http://onlinelibrary.wiley.com/ ↗ - DOI:
- 10.1002/smr.2205 ↗
- Languages:
- English
- ISSNs:
- 2047-7473
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - BLDSS-3PM
British Library HMNTS - ELD Digital store - Ingest File:
- 12694.xml