Next Article in Journal
Semantic Ontology-Based Approach to Enhance Arabic Text Classification
Previous Article in Journal
Replacing Rules by Neural Networks A Framework for Agent-Based Modelling
 
 
Article
Peer-Review Record

Human-Error Prevention for Autonomous Edge Software Using Minimalistic Modern C++

Big Data Cogn. Comput. 2019, 3(4), 52; https://doi.org/10.3390/bdcc3040052
by Ryo Fukano 1,* and Masato Ishikawa 2
Reviewer 1: Anonymous
Reviewer 2: Anonymous
Big Data Cogn. Comput. 2019, 3(4), 52; https://doi.org/10.3390/bdcc3040052
Submission received: 15 September 2019 / Revised: 16 October 2019 / Accepted: 18 October 2019 / Published: 4 November 2019

Round 1

Reviewer 1 Report

The authors seem to have addressed the issues highlighted in the previous review of the manuscript.

At 22 pages the paper is too long even for an review article, I would recommend it be condensed to not more than 16 pages.

A comparison table of various methods reviewed in the article would be ideal for summarizing the pros and cos in a glance.

Author Response

Thank you so much for your review.

> At 22 pages the paper is too long even for an review article, I would recommend it be condensed to not more than 16 pages.
The authors have restructured the main text less than 16 pages.

> A comparison table of various methods reviewed in the article would be ideal for summarizing the pros and cos in a glance.
The authors added Table 1 (5. Results) and its discussion to clarify the advantages and disadvantages of the proposed methods.

Additionally, we reviewed typo correction and lack of expression again.

Best regards.

Author Response File: Author Response.pdf

Reviewer 2 Report

I have reviewed the manuscript "Human Error Prevention for Autonomous Edge Software using Minimalistic Modern C++", Manuscript ID: BDCC-606211 that has been submitted for publication in the MDPI BDCC Journal and I have identified a series of aspects that in my opinion must be addressed in order to bring a benefit to the manuscript. In this paper, the authors start from the observation that when using edge embedded software in science and engineering, it is important to demonstrate the validity of results. Therefore, the authors aim in their study to ensure the validity of the sampled-time filter and time domain as fundamental elements of autonomous edge software. I consider that the article will benefit if the authors take into account the following remarks and address within the manuscript the signaled issues:

Overall comments regarding the manuscript. The Main Strong Point: The manuscript under review approaches a very interesting topic for the experts in the field. The Main Weak Point: I consider that the main weak point consists in the use of the English language. If the use of the English language is improved by means of a native speaker, I believe that the semantics of the paragraphs will come across clearer to the reader and the authors will arrive at an article that can bring a valuable insight to the current state of knowledge. Remarks regarding the quality of presentation. The reviewed paper is interesting and documented. However, due to the use of the English language, the paper is not completely clear, and due to the devised sections, it is not very well structured, being also difficult to follow and comprehend. In addition to this, I consider that the quality of presentation will be improved if the authors transform the numerous numbered lists/bullets that highlight important aspects of their study into written explained paragraphs. In the current form, the abundance of numbered lists (lines 183-187 from page 6, lines 195-202 from page 6, lines 230-234 from pages 6 and 7, lines 288-296 from page 10, lines 306-309 from page 11, lines 426-431 from page 15) resemble more of a conference PowerPoint presentation rather than a written scientific article, the ideas pin-pointed in the numbered items are valuable for the manuscript and it will benefit the paper if they are detailed under the form of written paragraphs. The sections of the manuscript. The manuscript under review will benefit if it is restructured in accordance with the MDPI BDCC Journal's Template that provides a more logical structure that is much more appropriate for a research article. The restructuring of the manuscript will also help the authors to better express the novelty of their work and the contribution that they have made to the current state of knowledge. Consequently, the manuscript under review should be restructured as follows: Abstract, Keywords, 1. Introduction, 2. Materials and Methods, 3. Results, 4. Discussion, 5. Conclusions (not mandatory), 6. Patents (not mandatory), Supplementary Materials (not mandatory), Author Contributions, Funding, Acknowledgments, Conflicts of Interest, Appendices and References. Lines 55-61, the "Introduction" section. In the "Introduction" section, the authors have presented the literature review of the cited papers in the following manner: "Attempts to improve the quality of embedded software have led to the proposal of many robot frameworks and middleware [9–14]. […] An alternative attempts to overcome the problem involved the proposal of a mathematical approach to detect inconsistencies of software specifications as a formal method [15–17] and logic programming [18]." I consider that the literature review should be improved by performing a careful analysis of the cited works. The authors must highlight exactly, for each of the involved referenced papers the main contribution that the authors of the referenced papers have brought to the current state of knowledge, the method used by the authors of the referenced papers, a brief presentation of the main obtained results and some limitations of the referenced article. This is the only way to contextualize the current state of the art in which the authors of the manuscript position their paper, identify and address aspects that have not been tackled/solved yet by the existing studies. In the "Introduction" section, the authors did not identify a clear gap in the current state of knowledge that needs to be filled, a gap that is being addressed by their manuscript. The manuscript will benefit if the authors state clearly the gap in the current state of knowledge that their manuscript addresses. In addition to this, in the "Introduction" section the authors must also state directly the novel aspects of their work. At the end of the Introduction, the authors should present the structure of their paper, under the form: "The rest of the paper is structured as follows: Section 2 contains…". The "Materials and Methods" section. It will benefit the paper if the authors restructure their paper and devise a proper "Materials and Methods" section, as requested by the MDPI BDCC Journal's Template. In order to bring a benefit to the manuscript, the authors should state and justify very clear in the "Materials and Methods" section, preferably within the first paragraph, the choices they have made when developing the final form of their proposed approach. In this section, the new developed methods should be described in detail while well-established methods (and information) can be briefly described and appropriately cited. In the "Materials and Methods" section, the authors should devise a flowchart that depicts the steps that they have processed in developing their research and most important of all, the final target. The "Discussion" section. In the "Discussion" section (that is missing from the manuscript) the authors should make a comparison between their developed approach and results from the manuscript and other ones that have been developed and used in the literature for the same or related purposes. In the "Discussion" section the authors should also highlight current limitations of their study, and briefly mention some precise directions that they intend to follow in their future research work. The "Discussion" section. The paper will benefit if the authors make a step further, beyond their approach and provide an insight at the end of the "Discussion" section regarding what they consider to be, based on the obtained results, the most important steps that all the interested parties should take in order to benefit from the results of the research conducted within the manuscript. The Figures within the manuscript. According to the BDCC MDPI Journal's Template, all the figures should be cited in the main text as "Figure 1", "Figure 2", etc. In the manuscript under review, in the main text the figures' citations appear under the form "Fig. 1", "Fig. 2". Please address this issue by modifying the way in which the figures are referred in the main text and their captions, according to the BDCC MDPI Journal's Template.

Author Response

Thank you so much for your careful review in spite of the limited time.

> Overall comments regarding the manuscript. The Main Strong Point: The manuscript under review approaches a very interesting topic for the experts in the field. The Main Weak Point: I consider that the main weak point consists in the use of the English language. If the use of the English language is improved by means of a native speaker, I believe that the semantics of the paragraphs will come across clearer to the reader and the authors will arrive at an article that can bring a valuable insight to the current state of knowledge.

The authors reconstructed our paper overall. We are very grateful for your considerable insight.

> Remarks regarding the quality of presentation. The reviewed paper is interesting and documented. However, due to the use of the English language, the paper is not completely clear, and due to the devised sections, it is not very well structured, being also difficult to follow and comprehend. In addition to this, I consider that the quality of presentation will be improved if the authors transform the numerous numbered lists/bullets that highlight important aspects of their study into written explained paragraphs. In the current form, the abundance of numbered lists (lines 183-187 from page 6, lines 195-202 from page 6, lines 230-234 from pages 6 and 7, lines 288-296 from page 10, lines 306-309 from page 11, lines 426-431 from page 15) resemble more of a conference PowerPoint presentation rather than a written scientific article, the ideas pin-pointed in the numbered items are valuable for the manuscript and it will benefit the paper if they are detailed under the form of written paragraphs.

The authors significantly reduced bullets and numbered lists. We improved the fluency of the paper. As a result, the remaining bullets and numbered list are:
1.2, Summary of reserch objectives
3.1 and 4.1, Summary of materials methods

> The sections of the manuscript. The manuscript under review will benefit if it is restructured in accordance with the MDPI BDCC Journal's Template that provides a more logical structure that is much more appropriate for a research article. The restructuring of the manuscript will also help the authors to better express the novelty of their work and the contribution that they have made to the current state of knowledge. Consequently, the manuscript under review should be restructured as follows: Abstract, Keywords, 1. Introduction, 2. Materials and Methods, 3. Results, 4. Discussion, 5. Conclusions (not mandatory), 6. Patents (not mandatory), Supplementary Materials (not mandatory), Author Contributions, Funding, Acknowledgments, Conflicts of Interest, Appendices and References.

We introduced your recommended manuscript structure. Section 3 and 4 correspond to Materials and Methods, however their name are not Materials and Methods because we think it would be better for our manuscript. We would appreciate it if you could consider it once again. As a result, if integration of Section 3 and 4 into Materials and Methods is necessary, we are happy to do that.

We also moved redundant source code fragments to the appendix.

> Lines 55-61, the "Introduction" section. In the "Introduction" section, the authors have presented the literature review of the cited papers in the following manner: "Attempts to improve the quality of embedded software have led to the proposal of many robot frameworks and middleware [9–14]. […] An alternative attempts to overcome the problem involved the proposal of a mathematical approach to detect inconsistencies of software specifications as a formal method [15–17] and logic programming [18]." I consider that the literature review should be improved by performing a careful analysis of the cited works. The authors must highlight exactly, for each of the involved referenced papers the main contribution that the authors of the referenced papers have brought to the current state of knowledge, the method used by the authors of the referenced papers, a brief presentation of the main obtained results and some limitations of the referenced article. This is the only way to contextualize the current state of the art in which the authors of the manuscript position their paper, identify and address aspects that have not been tackled/solved yet by the existing studies.

We reorganized the previous Introduction and Section 2, and newly added them as new Introduction and Sectin 2. related work. The new Introduction redefined the issues to be solved.

> In the "Introduction" section, the authors did not identify a clear gap in the current state of knowledge that needs to be filled, a gap that is being addressed by their manuscript. The manuscript will benefit if the authors state clearly the gap in the current state of knowledge that their manuscript addresses. In addition to this, in the "Introduction" section the authors must also state directly the novel aspects of their work. At the end of the Introduction, the authors should present the structure of their paper, under the form: "The rest of the paper is structured as follows: Section 2 contains…".

We reorganized the previous Introduction and Section 2, and newly added them as new Introduction and Sectin 2. related work. The new Introduction redefined the issues to be solved.

> The "Materials and Methods" section. It will benefit the paper if the authors restructure their paper and devise a proper "Materials and Methods" section, as requested by the MDPI BDCC Journal's Template. In order to bring a benefit to the manuscript, the authors should state and justify very clear in the "Materials and Methods" section, preferably within the first paragraph, the choices they have made when developing the final form of their proposed approach. In this section, the new developed methods should be described in detail while well-established methods (and information) can be briefly described and appropriately cited. In the "Materials and Methods" section, the authors should devise a flowchart that depicts the steps that they have processed in developing their research and most important of all, the final target.

Section 3 and 4 correspond to Materials and Methods. We added new figures for our proposed approach (Figure 6 and 7). We apologize that this manuscript was our first submission for BDCC and the BDCC's template was not confirmed completely.

> The "Discussion" section. In the "Discussion" section (that is missing from the manuscript) the authors should make a comparison between their developed approach and results from the manuscript and other ones that have been developed and used in the literature for the same or related purposes. In the "Discussion" section the authors should also highlight current limitations of their study, and briefly mention some precise directions that they intend to follow in their future research work.

We revised the description of the comparison between the conventional methods(code review, formal methods) and our method. We also reexamined the direction of C++ development and our approach.

> The "Discussion" section. The paper will benefit if the authors make a step further, beyond their approach and provide an insight at the end of the "Discussion" section regarding what they consider to be, based on the obtained results, the most important steps that all the interested parties should take in order to benefit from the results of the research conducted within the manuscript.

We added Our approach is consistent with the direction of ISO C++ progress. For this reason, this approach is expected to apply in C++20 more easily.

> The Figures within the manuscript. According to the BDCC MDPI Journal's Template, all the figures should be cited in the main text as "Figure 1", "Figure 2", etc. In the manuscript under review, in the main text the figures' citations appear under the form "Fig. 1", "Fig. 2". Please address this issue by modifying the way in which the figures are referred in the main text and their captions, according to the BDCC MDPI Journal's Template.

We reapplied the tempalte to the manuscript. We apologize that this manuscript was our first submission for BDCC and the BDCC's template was not confirmed completely. We reexamined typo correction and lack of expression again.

Best regards.

Author Response File: Author Response.pdf

 

This manuscript is a resubmission of an earlier submission. The following is a list of the peer review reports and author responses from that submission.

Round 1

Reviewer 1 Report

Paper deals with Domain Specific Language for Embedded Software to Prevent Human Error Using Modern C++ Meta-Programming. Topic is interesting and actual and also interesting for readers.

Technically sounds very good.

Comments:

Fig. 16: Missing units.

Conclusion is very briefly. It needs more detailed conclusion.

What is the significant novelties. Please make any notes about it in conclusion.

Also write about any future plans in this research.

Write here about possible application of your contribution.

In the references, there is no citation to any paper in this journal.

If this paper is suitable, I believe, that there are several papers suitable to be cited in this paper.

Author Response

Dear our reviewer.

Thank you so much for your kind support.

> Fig. 16: Missing units.

We add [m] as meter for the unit of the axes.

> Conclusion is very briefly. It needs more detailed conclusion.

> What is the significant novelties. Please make any notes about it in conclusion.

> Also write about any future plans in this research.

> Write here about possible application of your contribution.

We add the paragraph from line 462 to 470 in the conclusion. We also add line 413 to 421 in the results. These paragraphs describe our novelties that the minimalistic approach.

The first point is that our minimalistic approach depending on the pure C++ is very friendly with popular robot libraries like OpenCV, TensorFlow and so on.

The second point is the approach is valuable and helpful for small organization like start-ups and university labs.

The last point is linking the improvement of C++ specification. The next C++20 will reinforce template meta-programming "concept". Our approach is the same as the direction of C++ design and evolution. Future development is expected.

> In the references, there is no citation to any paper in this journal.

> If this paper is suitable, I believe, that there are several papers suitable to be cited in this paper.

We found valuable five papers for reference in MDPI by resurvey. We add these papers as prior research.

Leite, A.; Pinto, A.; Matos, A. A Safety Monitoring Model for a Faulty Mobile Robot. Robotics 2018, 7, 32.

Gonzalez, F.; Zalewski, J. Teaching Joint-Level Robot Programming with a New Robotics Software Tool. Robotics 2017, 6, 41.

Correal, R.; Pajares, G.; Ruz, J.J. A Matlab-Based Testbed for Integration, Evaluation and Comparison of Heterogeneous Stereo Vision Matching Algorithms. Robotics 2016, 5, 24.

Yan, Z.; Fabresse, L.; Laval, J.; Bouraqadi, N. Building a ROS-Based Testbed for Realistic Multi-Robot Simulation: Taking the Exploration as an Example. Robotics 2017, 6, 21.

Jensen, K.; Larsen, M.; Nielsen, S.H.; Larsen, L.B.; Olsen, K.S.; Jørgensen, R.N. Towards an Open Software Platform for Field Robots in Precision Agriculture. Robotics 2014, 3, 207-234.

Best regards.

Author Response File: Author Response.pdf

Reviewer 2 Report

This work aims to guarantee the validity of the sampled-time filter and time domain as fundamental elements of embedded software without relying on auxiliary verification and validation toolchains.
For that, the authors propose a set of meta-programming design pattern to be used with C++11 (or later) targeting robotic software implemented using the Subsumption Architecture (SA).
Such patterns aim to detect human errors (e.g. multiple and erroneous calls to update control law function, increased coupling among components and the target implementation platform) introduced in the implementation of sampled-time filters using the mentioned implementation technology.
The text presents a very limited discussion on the results of the feasibility of the proposed approach applied to the implementation of a robot using the SA.
The main issues of this manuscript are the following:
1. From the software/systems engineering point of view, there is no novelty of the proposed approach. The use of metaprogramming as a mean to address crosscutting concerns has been studied since the end of the 90s' (see, for instance [1-4]); the issues addressed by this work have also been tackled at earlier stages of design (i.e. before implementation) in the context of model-based engineering and code generation from high-level models (i.e. correct by construction) for real-time cyber-physical systems such as robots (see, for instance [5-8]).
There seems to exist a technical contribution to the implementation of robotics application using the SA architecture. However, it lacks generality and seems to be valid only for implementations using SA. In other words,  there is no novelty nor contributions to the state of the art in software/systems engineering for real-time cyber-physical systems.
2. Misunderstanding of software engineering concepts.
2.1. Authors seem to misunderstand the concept of aspect (from the Aspect-Oriented Software Development paradigm). An aspect is a unit of encapsulation for one crosscutting concern, which, in turn, cannot be encapsulated in OOAD or another traditional paradigm due to their intrinsic and well-know modularity issues. Thus, implementing an aspect as a design pattern do not tackle these intrinsic modularity issues of a crosscutting concern. Once the design pattern is applied to an OO design, the modularity issues associated with the crosscutting concern are introduced into this design.
2.2. Other misunderstood concept is "Domain Specific Language". DSL is a language whose vocabulary is related to a given and specific domain; it is not a "methodology" as the authors wrote in page 2, line 54. A method defines how the engineers must use the DSL, not the opposite. As an example, look for and analyze the numerous UML-based methods that have been proposed so far.
2.3. Finally, the last mistake is the concept of a design pattern. A software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design. It is not a finished design that can be transformed directly into source or machine code. The proposed design patterns seem the latter instead of the former. In addition, the authors do not describe the essential parts of the design pattern they propose (according to [9]):  (i) pattern name; (ii) the problem it solves and its context; (iii) the solution that does not describe a particular concrete design or implementation; (iv) the consequences and trade-offs of applying the pattern.
3. Lack of comparison with related works that represent the current state-of-the-art. The paper does not provide any comparison nor assessment of the proposed work in light of the current state-of-the-art. Moreover, there are no references from articles or paper that have been published after 2015, and thus, this indicates that the authors performed a poor literature review.
4. Lack of solid and sound results to support some claims and conclusions. The authors provide a very shallow discussion on the evaluation of the proposed approach. Although section 5 mentions a concrete case study, no code excerpt or another software artifact was presented. There are no quantitative results or analysis that depict any expected improvement in the software design using the SA. There is no comparison with any previous method. Section 5.2 presents results from others (table 1) and try to convince the reader that the proposed approach could reach similar results, however, there is no link between that work and the one presented in this paper (the case study seems completely different). Section 5.3 overviews a simulation experiment however no data is presented or analyzed. Therefore, if "the method prevents failures in the time domain and increases the productivity of complex and robust robot embedded software" (as claimed in lines 403-404),  these issues must be assessed in a sound evaluation and convincing arguing.
Finally, it is important to mention that the text needs professional proofreading before it can be submitted to this or other journals. The text presents many typos, grammar mistakes, confusing sentences, and other language issues that need to be corrected.
[1] http://dl.acm.org/citation.cfm?id=564092.564100
[2] http://www.lisha.ufsc.br/pub/Frohlich_2001.pdf
[3] http://www.academia.edu/download/42458866/FogToolsEE2.pdf
[4] https://doi.org/10.1007/11561347_8
[5] https://doi.org/10.1016/j.mechatronics.2013.12.008
[6] https://doi.org/10.1145/1809049.1809078
[7] https://doi.org/10.1145/2491411.2491414
[8] https://doi.org/10.5772%2F5765
[9] https://dl.acm.org/citation.cfm?id=186897

Author Response

Dear our reviewer.

Thank you so much for your kind support. Your review is fantastic and improve the value of our paper.

The main issues of this manuscript are the following:
> 1. From the software/systems engineering point of view, there is no novelty of the proposed approach. 

We agree with your comment that the technique we used is traditional. However, this minimalist approach based on a modern programming language capability, is a completely new application that can be applied to the fundamental components of robot software, time elements and sampled-time filters. These two are used by virtually all robots. It is desirable to advance traditional techniques in line with today's industrial progress.
This  assignment was discussed with the additional new section 2.1 (Line 72 to 117). For high-level code generation, conversion from model to executable code is still an issue. In addition, in the domain of machine learning and IoT, collaboration with general AI software (OpenCV, TensoFlow...) is required. Therefore our approach focusing on the programming language itself is needed.

> 2. Misunderstanding of software engineering concepts.
> 2.1. Authors seem to misunderstand the concept of aspect (from the Aspect-Oriented Software Development paradigm). 

We agree with your comment that object-oriented language can not handle aspects directly. However, C language, a non OO language, can implement primitive object oriented software by using void pointer and union. According to previous researches that you recomended (AOP++: A Generic Aspect-Oriented Programming Framework in C++, Preprocessing C++: Meta-class aspects), they represent that C++ can implement an aspect using its generics.

In this paper, each aspect-oriented "cross-cutting concern" in robot software is encapsulated as an object by C++ generics. It may be somewhat unnatural, however we think that targeting robot software is worth telling readers.

> 2.2. Other misunderstood concept is "Domain Specific Language".

We revised the expression "DSL method" suitable for robot domain because the expression of methodology is inappropriate.

> 3. Lack of comparison with related works that represent the current state-of-the-art.

Additional literature search has been introduced mainly in Section 2.1 (A Safety Monitoring Model for a Faulty Mobile Robot, Teaching Joint-Level Robot Programming with a New Robotics Software Tool, A Matlab-Based Testbed for Integration, Evaluation and Comparison of Heterogeneous Stereo Vision Matching Algorithms, Building a ROS-Based Testbed for Realistic Multi-Robot Simulation: Taking the Exploration as an Example, Towards an Open Software Platform for Field Robots in Precision Agriculture, Towards manipulation planning with temporal logic specifications).

The positioning was clarified by comparison with conventional methods such as formal methods, design methods, and frameworks. Moreover, the added research later than 2015 also indicated that the issues addressed in this study have not been solved yet.

> 4. Lack of solid and sound results to support some claims and conclusions.

We reinforced the evaluation of the proposal (line 411 to 419) and the discussion by code of SA implementation (Fig. 16). We also added quantitative analysis using metric tools (Table 2). This result indicates that the proposed method encapsulates the complexity of the robot software in terms of quantitative and qualitative aspects. The simulation results show that the proposed method can implement robot software in which the behaviors are closely coupled even by the implementation that is loosely coupled (line 447 to 461).

> Finally, it is important to mention that the text needs professional proofreading before it can be submitted to this or other journals.

We revised the paper again. We also received the support of a proofreading company (line 519).

We include the literatures you recommended to reinforce our paper.

[1] http://dl.acm.org/citation.cfm?id=564092.564100
[2] http://www.lisha.ufsc.br/pub/Frohlich_2001.pdf
[3] http://www.academia.edu/download/42458866/FogToolsEE2.pdf
[4] https://doi.org/10.1007/11561347_8
[5] https://doi.org/10.1016/j.mechatronics.2013.12.008
[6] https://doi.org/10.1145/1809049.1809078
[7] https://doi.org/10.1145/2491411.2491414
[8] https://doi.org/10.5772%2F5765
[9] https://dl.acm.org/citation.cfm?id=186897

We have to say thank to you for your patience again.

Best regards.

Author Response File: Author Response.pdf

Reviewer 3 Report

The paper focuses too much on limitation of modern C++. Sample robot specific application should be shown and discussed in the paper

Author Response

Dear our reviewer.

Thank you so much for your kind support.

> The paper focuses too much on limitation of modern C++. Sample robot specific application should be shown and discussed in the paper

We add the paragraph from line 462 to 470 in the conclusion. We also add line 413 to 421 in the results. These paragraphs describe the specific robot application.
The first point is that our approach depending on the pure C++ is very friendly with popular robot libraries, so called Artificial Intelligence, like OpenCV, TensorFlow and so on. Our approach will support many robot software using them.
The second point is the approach is valuable and helpful for small organization like start-ups and university labs. We add the discussion of small controller like Arduino from line 437 to 443. This kind of controllers is preferred by maker movement and IoT.

Best regards.

Author Response File: Author Response.pdf

Back to TopTop