You are currently viewing a new version of our website. To view the old version click .
Sustainability
  • Article
  • Open Access

8 January 2023

A Customizable No-Code Realistic Motion Editor for VRM-Based Avatars

,
and
Department of Software Engineering and Management, National Kaohsiung Normal University, Kaohsiung 82444, Taiwan
*
Author to whom correspondence should be addressed.
This article belongs to the Special Issue Advances in Software and Hardware Engineering towards a Sustainable Technology Education

Abstract

Avatar actions can be captured using certain gesture sensors or can be predefined by game designers through desktop applications. In other words, developing an online avatar editor could be necessary to specify the detailed actions for use by people who are not game creators. Our research team proposed a web-based toolset, myKLA, to construct and design avatar actions with editor and player features. The goal of myKLA is to help users define the required behaviors of avatars within a set time frame without codes. We used cyber–physical system theory in a software reconstruction initiative. Additionally, an exchangeable JSON file format for predefining the avatar actions was opened and shared here. Furthermore, the cyclomatic complexity of the main code blocks in our toolset was measured and changed using the McCabe approach to fine-tune the performance. An algorithm was proposed for quickly calculating an integrated activity diagram from several sub-activity diagrams. Our research showed that it is easy to create an avatar head and embed it in other web-based applications for additional interaction utilization. Therefore, our findings will be useful in creating and designing new educational tools.

1. Introduction

As with most developed countries, Taiwan has deployed national technology education since the summer of 2019. Information education is part of technology education. On the basis of the government education policy, all junior high and senior high schools promote technology-based teaching activities. Courses, textbooks, and educational tools are published for educational usage and even shared on the Internet. Additionally, our research team discovered that most education tools are developed and shareable online for pupils to learn specific knowledge points. However, most educational tools are not funny, vivid, or lively. Such tools may not be engaging for most learners, especially school-age children.
On the other hand, school-age children seem to be more interested in the metaverse’s virtual idols. The metaverse has aroused attention in recent years. Several technologies are supported for designing virtual idols, developing virtual scenes, and even writing the required codes to control the virtual idol’s actions. However, there is a challenge for most graphic designers to cross from art design to programming design [1,2] For example, Chilana et al. collected feedback from their participants on using MarmalAid and were asked to extend it to other types of applications, such as image editing programs and programming environments [1]. Additionally, Jahanlou et al. mentioned that there are existing efforts in HCI to increase the participation of users and domain experts in various design tasks, such as programming, website creation, and interaction design [2].
Hence, an idea was born to build a bridge to help most visual art workers, even kids, school-age students, and teachers, control their virtual idols to execute predefined actions in a code-free environment. An online knowledge learning assistant, myKLA, was designed and developed, and its goal is to assist users in quickly defining the required actions of avatars within a specific time duration, as well as promoting the educational tools to share their materials with customizable and animated avatars. This research aimed to design, implement, refactor, and assess a proposed toolset to fill and bridge the gap between graphic designers and web-based programmers.

3. Methods

In the era of advanced technology, many things are gradually being replaced by technology. An intermediate tool, myKLA, was designed and developed as a bridge to cross the gap between art design and the field of programming. Firstly, the avatar development time was reduced by using VRM-based 3D avatars. Secondly, both a virtual designer and programmer used myKLA to replace the writing programs by defining the activities of the avatar. Such a tool can be embedded directly in educational agencies. The following sections include the system design and CPS adoption.

3.1. System Design

The myKLA application was designed and implemented with the goal of assisting users in defining the required actions of an avatar within a specific time duration. It contains at least four features: (1) the Editor web page helps users to upload a user-predefined JSON file, select a specific avatar, choose a body part, side, and action, list user-defined actions, demonstrate the user-defined actions online, and download and save user-defined actions in a JSON file; (2) the Player web page is used for uploading a user-predefined JSON file and for showing the user-defined actions online with two avatars; (3) the Move List web page offers a tree-view list for all editable parts of the human, such as the face, limbs, and body; and (4) the Guide web page provides a tutorial for the myKLA application.
Well-known international standards and popular programming languages, such as Hypertext Markup Language (HTML) [39], Cascading Style Sheets (CSS) [40], JavaScript [41], and JavaScript’s related jQuery [42] library, were used to design and develop the web-based application. A remote MariaDB v10.1.48 database stores all required data on the Ubuntu v18.04.6 server. Additionally, the JSON file format was chosen and designed as a data exchanging standard for storing the actions of specific avatars.
The system diagram for myKLA is shown in Figure 1a. Because the designed codes are native and use international standards, the client-side constraints are so flexible that users can browse on most browsers. Therefore, web pages can be shown on a browser that supports HTML5, CSS3, JavaScript, and jQuery. Inside myKLA, the Three.js library is used to create a 3D scene and import the virtual character model. Further, a back-end Node.js server was implemented to effectively support front-end rendering. Additionally, the required and complicated user interface of the editor controls was designed, as shown in Figure 1b. Although the diagrammatic sketch might have minor changes in the final release version, such a prototyped schematic diagram provides a communication path to programmers for further development reference.
Figure 1. myKLA (a) system diagram and (b) user interface diagram for editor controls.

3.2. CPS Adoption

To simplify the system complexity, CPS theory was adopted to analyze and design the processes using an FSM [20]. That is, a state diagram was used to let hazarded code blocks become easier to understand and decrease the risk of misunderstanding. The primary and complex critical control block was designed for sketching its state diagram, as shown in Figure 2.
Figure 2. State diagram of myKLA.
Let p ( t ) and c ( t ) present the program execution status and module selection at time t . When p ( t ) = a 10 , the user starts to define an action in the DefineAction state. When p ( t ) = a 20 , the user then enters the AddAction state. After completing all action definition processes, the user can enter the PlayAction state and p ( t ) = a 30 . If p ( t ) = a 30 and c ( t ) = 1 , then the user enters the PlayAction module. If p ( t ) = a 30 and c ( t ) = 2 , then the user enters the PausePlay module; otherwise, if p ( t ) = a 30 and c ( t ) = 3 , then the user enters the StopPlay module. When p ( t ) = a 30 with a specific c(t) value, the module is still playing, pausing, and stopping the execution cycle and will check the c ( t ) value iteratively. If p ( t ) = a 40 , then the user steps into the RenderAvatar state until p ( t ) = a 50 . When p ( t ) = a 50 , the avatar is displayed on the browser and exits. Thus, after the state transitions among features were identified, the application was developed by using the derived state diagram.

4. Results and Discussion

Our research team spent time designing, developing, implementing, and refactoring the myKLA toolset. It was in production on 4 July 2021. The following subsection illustrates the web-based myKLA toolset, including the user interface design, cyclomatic complexity measurement, performance metrics, and embedded solution.

4.1. User Interface Design

In 2018, a question about gender fitting was proposed. Then, a 3D model was utilized to replace the required actors in educational tools. However, we not only wanted to define, design, and implement the actors once but also adopt similar actors in all of the educational tools that we have implemented. After a couple of years of technique collection, skill training, prototype development, method adoption, and process verification, a web-based educational toolset, myKLA, was developed, which provides an environment that lets instructors design and reconfigure the required actor for their educational tool usage. Such a toolset can replace the actor for any type of gender to fit the preference of students.
Generally, at least three male college students were included in the research team and acted as part-time programmers to implement the myKLA web-based application in April 2021. The prototype was constructed in June 2021. In the meantime, three female college students were included in the same team in our laboratory, who provided many comments to improve the design and prepared to revise the next version. For example, Figure 3 shows a screen snapshot of the home page of the proposed myKLA educational toolset, which was designed and beautified by one of the female programmers.
Figure 3. myKLA educational toolset home page.
There are two primary functions, namely, the editor and player, in myKLA. As their names suggest, the former is used for editing the detailed actions of specific actors, and the latter can perform the predefined actions for the particular actor. The editor features are illustrated first. A web page is divided into two panels. In the left panel, there are two 3D models: one female stands on the left, and one male stands on the right. The right panel shows two sections. The upper Edit section selects and defines the action time interval for specific actions.
Inside the Edit section, there are five drop-down lists, including part, group, side, action, and gender from left to right, as well as a sequential identifier for assigning specific actions. Finally, every action accompanies a time interval scroll bar to define the action’s playing duration. Note that the default time interval for action play is limited to 60 s, which can be adjusted.
The part drop-down list includes face, limb, body, and location. Further, the group drop-down list is shown as a distinct part selection. For example, it shows three items, such as arm, finger, and leg, after selecting a limb item in the part list. All of the actions are listed in Table 2. The content is also labeled ‘Move List’ in the menu bar.
Table 2. Move list for myKLA.
After defining a specific action, the action definition will be shown in the lower actions section, as shown in Figure 4a. For example, the boy model can be defined as hanging his left arm for 3 s, swinging his left arm for the next 3 s, and then lifting his left arm for the last 3 s. Meanwhile, the girl model can be determined to lift her right leg in a walking style for 3 s, lift her right knee for the next 3 s, and then raise her right leg for another 3 s. All of the actions inside the move list can be predefined in this editor. Figure 4b demonstrates the player with an imported JSON file exported from the above action editor. Further, Figure 4c is the view of the editor from a small-sized mobile phone.
Figure 4. Screen snapshot of myKLA: (a) editor, (b) player, and (c) editor in mobile phone.
Additionally, at least five functions are provided to manage the editing process. These functions include adding an action with a plus sign, removing an activity with a trash can, sequential identifier selection using a drop-down list, uploading an external predefined action file with a cloud upload sign, and downloading currently defined actions and saving them in a JSON file format. Table 3 shows the action file syntax of myKLA.
Table 3. Action file syntax of myKLA.
Subsequently, the player can be used to perform the actions that are predefined by the JSON files. Figure 5 shows most of the gestures that can be edited by the myKLA editor. For example, Figure 5a–f demonstrates the actions of both limbs, including hanging arms, swinging arms, lifting arms, holding arms, waving arms, stroking arms, shrugging, saluting, heart shape with arms, raising arms, and arms at ease. Of course, the two models demonstrate different actions. Further, Figure 5g,h show that the gestures can be controlled for the left and right limbs by user definition.
Figure 5. Screen snapshot of the myKLA player. (af) demonstrates the actions of both limbs, including hanging arms, swinging arms, lifting arms, holding arms, waving arms, stroking arms, shrugging, saluting, heart shape with arms, raising arms, and arms at ease. (g,h) show that the gestures can be controlled for the left and right limbs by user definition.

4.2. Cyclomatic Complexity Measurement

To minimize the system complexity and promote software performance, the McCabe approach [36,38] was utilized to measure the cyclomatic complexity of major code blocks in myKLA. Firstly, the activity diagram of the main code blocks, such as the Editor web page, was drawn, as shown in Figure 6. The Editor web page shows at least two panels, such as the Edit panel and the Action panel. There are 33 nodes with 44 paths and 11 nodes with 12 paths for the Edit panel and the Action panel, respectively. Hence, the cyclomatic complexity could be calculated as 44 33 + 2 = 13 and 12 11 + 2 = 3 for the Edit panel and the Action panel, respectively. Although the cyclomatic complexity of the Edit panel is higher, most branches are required for extracting definitions from users.
Figure 6. Activity diagrams for cyclomatic complexity analysis: Edit panel of the Editor web page.
Additionally, the cyclomatic complexity of the whole Editor web page could be calculated. There are at least two approaches to quickly calculating the nodes and paths of the activity diagram. Firstly, the nodes and paths can be counted directly. Secondly, an algorithm can be derived, as shown in Table 4, to calculate the total nodes and paths of the central activity diagram more efficiently. On the basis of the proposed algorithm, the activity diagram of the Editor web page contains ( 33 + 11 ) + 8 3 = 49 nodes and ( 44 + 12 ) + 7 3 = 60 paths. Hence, there are 49 nodes with 60 paths on the Editor web page, and the cyclomatic complexity of myKLA is 60 49 + 2 = 13 , which is the same as the cyclomatic complexity of the Edit panel. The calculated complexity value shows that myKLA contains slightly complex codes with medium testability and moderate risk. If our development team wants to fine-tune the performance of the Editor web page, the Edit panel should be the first choice to concentrate on.
Table 4. Algorithm for counting nodes and paths of all subfigures.

4.3. Performance Metrics

After the implementation of myKLA, system metrics were explored to improve the performance of execution. The system allocated all of the computational components to the distinct Node.js servers at a remote VMware virtual machine under HP ProLiant DL360 Gen9 with two Intel Xeon CPU E5-2620 v4 2.10GHz in eight cores per CPU, 32GB memory, and a 500GB hard disk.
Firstly, Table 5 shows the last performance metrics of myKLA, which were measured on 2 September 2022. The client environment of our metrics was an Intel Core i7-8565U with 16GB memory, an Intel UHD Graphics 620 video card, and Google Chrome v106.0.5249.119 (64-bit). Both the Editor and Player pages showed boy and girl avatars with file sizes of approximately 10.0 MB and 14.2 MB, respectively. On the Editor web page, the average time expenses of our codes and the third-party libraries were 5858 ms (213 KB) and 1.107 ms (2591 KB), respectively. It makes sense that our codes call several libraries and wait for completion; however, our codes have a lot of optimization opportunities in terms of improving the execution performance. Additionally, this shows that loading the male avatar (10.312 MB) and female avatar (14.662 MB) takes approximately 4488 ms and 4266 ms, respectively. Thus, it is necessary to use a model with as small a file size as possible to reduce the average downloading time from the remote server.
Table 5. Performance metrics.
On the Player web page, the average time expenses of our codes and the third-party libraries were 1.107 ms (136 MB) and 779 ms (2267 KB), respectively. Additionally, our codes need further optimization. For the system to load the same pair of avatars, it takes approximately 4176 ms and 3607 ms, respectively. Alternatively, the JSON file size is so small, at 13.1 KB, that its average time expense, 12 ms, is negligible.

4.4. Embedded Solution

Within the COVID-19 disease period, due to the impact of the epidemic, many people began to use online environments and systems, but this also reduced the opportunity to communicate with others. If virtual characters are used in the system, we can not only achieve the effect of companionship and increase interactivity but also relatively improve users’ willingness to use the system. Therefore, users can use myKLA to establish virtual character action files so that virtual characters can assist in the role of companionship.
As the system can be opened anytime and anywhere, it increases convenience and improves efficiency. For example, a male avatar was created with a head component by using the myKLA intermediate tool. Then, such a head component was embedded in the bottom-left corner of another educational tool, myBlock2, which is used for Scratch and Python programming training, and the avatar squinted, blinked, and opened his eyes, as shown in Figure 7a–c, respectively.
Figure 7. Embedded myKLA avatar component in the myBlock2 tool. Python programming training, and the avatar squinted (a), blinked (b), and opened his eyes (c).
This research utilized the method of real-time detection of interactive computing between the front-end web page and the back-end server to avoid the computational delay due to the rendering of the 3D scene on the web page. It can effectively provide a real-time preview function of scenes that require a large number of renderings, which is convenient for users to confirm the recognition effect. Hence, external factors such as the lens angle can be adjusted in real time.
Additionally, by using JSON files as the storage format, future avatar system developers are able to apply their output files with greater scalability. Practitioners can select a different avatar to accompany the challenges based on their preferences because the avatar is not stored in the output JSON file. This proposed technology lowers the barrier to entry for specifying the specific action of a virtual character, capturing those activities in a JSON file, and playing back the avatar actions. Users may manage the system to carry out their ideas with little effort because it is so intuitive and friendly. This flexibility allows users to be more ready to take risks and lessen their sense of learned helplessness.
However, the myKLA tool has some limitations, including the following: (1) exploiting web browsers as target platforms; (2) integrating with the JavaScript interface; (3) employing a predefined JSON file format to record and exchange activities among the player and editor; (4) adopting the VRM file format for avatar models; (5) confining avatar activities with provided features, as shown in Table 1; and (6) using 60 s as the default time interval for activity playing. Certainly, these constraints can be resolved by further extending more features as needed.
For a graphic designer without web programming skills, myKLA can be used to define an avatar’s activities without the requirement of coding. On the other hand, if a web programmer is without avatar design capability, myKLA provides a lightweight user interface to handle the avatar directly. Hence, myKLA acts as a type of bridge to compensate for the gap between virtual art designers and web programmers.

5. Conclusions

Most advanced countries have listed information technology as fundamental education. However, not many tools can be reconfigured to act as a bridge between art design and programming educational tools. Therefore, CPS theory was adopted to implement a toolset, myKLA, to design and record the required actions for a selected avatar without programming skills. Additionally, the actor model can be designed by users that do not have programming skills or can be directly downloaded from certain VRM-based repositories, such as VRoid Hub, which can be found on the Internet. In addition, an exchangeable JSON file format for predefining the avatar actions was opened and shared here, and an algorithm was proposed for quickly calculating an integrated activity diagram from several sub-activity diagrams. The proposed toolset can be embedded easily into educational tools and act as a learning assistant. The customizability and absence of code in the proposed toolset contribute to the sustainability of software usage. Furthermore, we utilized McCabe’s complexity metric to reduce the complexity of the toolset to increase its development and maintenance sustainability.

Author Contributions

Conceptualization, P.-H.C. and C.-H.L.; methodology, P.-H.C., L.-W.C. and C.-H.L.; software, C.-H.L.; validation, P.-H.C., L.-W.C. and C.-H.L.; formal analysis, P.-H.C. and L.-W.C.; investigation, P.-H.C.; resources, P.-H.C.; data curation, P.-H.C. and C.-H.L.; writing—original draft preparation, P.-H.C.; writing—review and editing, P.-H.C. and L.-W.C.; visualization, P.-H.C.; supervision, P.-H.C.; project administration, P.-H.C.; funding acquisition, P.-H.C. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the 2021 Ministry of Science and Technology, Taiwan grant number MOST 110-2629-E-017-001.

Institutional Review Board Statement

This study does not contain identifying information, so it did not require ethical approval. No animal studies are presented in this manuscript. No potentially identifiable human images or data is presented in this study.

Data Availability Statement

The datasets used and/or analyzed during the current study are available from the corresponding author upon reasonable request.

Acknowledgments

The authors express their gratitude for all of the participants from the Department of Software Engineering and Management (SEM) and the Information Education Center (IEC) of the National Kaohsiung Normal University, Kaohsiung, Taiwan.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Chilana, P.K.; Hudson, N.; Bhaduri, S.; Shashikumar, P.; Kane, S. Supporting Remote Real-Time Expert Help: Opportunities and Challenges for Novice 3D Modelers. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), Lisbon, Portugal, 25 October 2018; pp. 157–166. [Google Scholar]
  2. Jahanlou, A.H.; Odom, W.; Chilana, P. Challenges in Getting Started in Motion Graphic Design: Perspectives from Casual and Professional Motion Designers. In Proceedings of the Graphics Interface, Virtual Event, 28–29 May 2021; pp. 33–45. [Google Scholar]
  3. Terton, U.; Smyth, G.; Wright, H. CliNCare: An Educational Game—The Reasoning Behind the Graphic Choices and Their Impact on Player Opinions. Comput. Games J. 2020, 9, 331–347. [Google Scholar] [CrossRef]
  4. Han, A.; Wohn, K.; Ahn, J. Towards new fashion design education: Learning virtual prototyping using E-textiles. Int. J. Technol. Des. Educ. 2021, 31, 379–400. [Google Scholar] [CrossRef]
  5. Lichty, P. Making Inside the Augment: Augmented Reality and Art/Design Education. In Augmented Reality in Education; Geroimenko, V., Ed.; Springer Series on Cultural Computing; Springer: Cham, Switzerland, 2020; pp. 261–278. ISBN 978-3-030-42156-4. [Google Scholar]
  6. Xing, Y.; Liang, Z.; Fahy, C.; Shell, J.; Guan, K.; Liu, Y.; Zhang, Q. Virtual Reality Research: Design Virtual Education System for Epidemic (COVID-19) Knowledge to the Public. Appl. Sci. 2021, 11, 10586. [Google Scholar] [CrossRef]
  7. Cabatuan, M. Dismath: Discrete Math Gamified Educational Tool in Logic with Minimax Algorithm and Pruning. In Proceedings of the IEEE 11th International Conference on Humanoid, Nanotechnology, Information Technology, Communication and Control, Environment, and Management (HNICEM), Laoag, Philppines, 29 November–1 December 2019; pp. 1–6. [Google Scholar]
  8. Ruiz, J.; Serral Asensio, E.; Snoeck, M. Learning UI Functional Design Principles Through Simulation With Feedback. IEEE Trans. Learn. Technol. 2020, 13, 833–846. [Google Scholar] [CrossRef]
  9. Zamani, P.; Haghighi, S.B.; Ravanbakhsh, M. The use of crossword puzzles as an educational tool. J. Adv. Med. Educ. Prof. 2021, 9, 102. [Google Scholar]
  10. Komninos, T.; Paraskevas, M.; Smyrnaiou, Z.; Serpanos, D. Cyberphysical Systems in K–12 Education. Computer 2022, 55, 81–84. [Google Scholar] [CrossRef]
  11. Bell, J.T.; Fogler, H.S. The investigation and application of virtual reality as an educational tool. In Proceedings of the American Society for Engineering Education Annual Conference, Anaheim, CA, USA, 28 June 1995; pp. 1718–1728. [Google Scholar]
  12. Zhang, N.; Chen, X.; Yin, H. Significance and Possibility of VR Technology Embedded in the Teaching of Ideological and Political Theory Course in Colleges and Universities. IEEE Access 2020, 8, 209835–209843. [Google Scholar] [CrossRef]
  13. Yoon, K.; Kim, S.K.; Jeong, S.P.; Choi, J.H. Interfacing Cyber and Physical Worlds: Introduction to IEEE 2888 Standards. In Proceedings of the IEEE International Conference on Intelligent Reality (ICIR), Virtual Event, 14–16 December 2021; pp. 49–50. [Google Scholar]
  14. IEEE Standards Association IEEE 2888 Interfacing Cyber and Physical World Working Group. Available online: https://sagroups.ieee.org/2888/ (accessed on 1 October 2022).
  15. VRM consortium, Inc. VRM: 3D Avatar File Format for VR. Available online: https://vrm.dev/en/ (accessed on 1 October 2022).
  16. VRoid Studio, VRoid. Available online: https://vroid.com/en/studio (accessed on 1 October 2022).
  17. Wakaru ver. beta, Eeeee! Are you angry? Available online: https://store.steampowered.com/app/870820/Wakaru_ver_beta/ (accessed on 1 October 2022).
  18. PrprLive, 1-Reality. Available online: https://store.steampowered.com/app/1279610/PrprLive/ (accessed on 1 October 2022).
  19. Haru, H. VRM4U. Available online: https://github.com/ruyo/VRM4U (accessed on 1 October 2022).
  20. Lee, E.A.; Seshia, S.A. Introduction to Embedded Systems: A Cyber-Physical Systems Approach, 2nd ed.; MIT Press: Cambridge, MA, USA, 2014; ISBN 978-0-262-53381-2. [Google Scholar]
  21. Chaudhry, N.; Yousaf, M.M.; Khan, M.T. Security assessment of data management systems for cyber-physical system applications. J. Softw. Evol. Proc. 2019, e2241. [Google Scholar] [CrossRef]
  22. Jiang, Y.; Chen, C.L.P.; Duan, J. A new practice-driven approach to developing software in a cyber-physical system environment. Enterp. Inf. Syst. 2016, 10, 211–227. [Google Scholar] [CrossRef]
  23. Yu, H.; Qi, H.; Li, K. A powerful software-defined cyber-physical system to expand CPS adoption. Softw. Pract. Exp. 2019, 52, 904–916. [Google Scholar] [CrossRef]
  24. Garcia-Valls, M.; Bellavista, P.; Gokhale, A. Reliable software technologies and communication middleware: A perspective and evolution directions for the cyber-physical system, mobility, and cloud computing. Future Gener. Comp. Syst. 2017, 71, 171–176. [Google Scholar] [CrossRef]
  25. Sztipanovits, J.; Bapty, T.; Koutsoukos, X. Model and Tool Integration Platforms for Cyber-Physical System Design. Proc. IEEE Inst. Electr. Electron. Eng. 2018, 106, 1501–1526. [Google Scholar] [CrossRef]
  26. Lv, C.; Hu, X.; Sangiovanni-Vincentelli, A. Driving-Style-Based Codesign Optimization of an Automated Electric Vehicle: A Cyber-Physical System Approach. IEEE Trans. Ind. Electron. 2019, 66, 2965–2975. [Google Scholar] [CrossRef]
  27. Song, J.; Zhang, Y.; Duan, K. TOLA: Topic-oriented learning assistance based on cyber-physical systems and big data. Future Gener. Comp. Syst. 2017, 75, 200–205. [Google Scholar] [CrossRef]
  28. Luo, S.; Liu, H.; Qi, E. Big data analytics—enabled cyber-physical system: Model and applications. Ind. Manage. Data Syst. 2019, 119, 1072–1088. [Google Scholar] [CrossRef]
  29. Vellaithurai, C.B.; Biswas, S.S.; Srivastava, A.K. Development and Application of a Real-Time Test Bed for Cyber-Physical System. IEEE Syst. J. 2017, 11, 2192–2203. [Google Scholar] [CrossRef]
  30. Park, S.O.; Xiao, B.; Leung, V. Advanced technologies and applications for Highly-Reliable Cyber-Physical Systems (HRCPS). J. Supercomput. 2013, 66, 1–3. [Google Scholar] [CrossRef]
  31. Nawa, K.; Chandrasiri, N.P.; Yanagihara, T. Cyber-physical system for vehicle application. Trans. Inst. Meas. Control 2013, 36, 898–905. [Google Scholar] [CrossRef]
  32. Chen, J.; Yang, J.; Zhou, H. CPS Modeling of CNC Machine Tool Work Processes Using an Instruction-Domain Based Approach. Eng. J. 2015, 1, 247–260. [Google Scholar] [CrossRef]
  33. Mueller, E.; Chen, X.L.; Riedel, R. Challenges and Requirements for the Application of Industry 4.0: A Special Insight with the Usage of Cyber-Physical System. Chin. J. Mech. Eng. 2017, 30, 1050–1057. [Google Scholar] [CrossRef]
  34. Cheng, P.H. Wearable Ultrasonic Guiding Device with White Cane for Visually Impaired: A Preliminary Verisimilitude Experiment. Assist. Technol. 2016, 28, 127–136. [Google Scholar] [CrossRef]
  35. Farrell, L.; Bourgeois-Law, G.; Buydens, S.; Regehr, G. Your Goals, My Goals, Our Goals: The Complexity of Coconstructing Goals with Learners in Medical Education. Teach. Learn. Med. 2019, 31, 370–377. [Google Scholar] [CrossRef] [PubMed]
  36. McCabe, T.J. A Complexity Measure. IEEE Trans. Softw. Eng. 1976, SE-2, 308–320. [Google Scholar] [CrossRef]
  37. Hutajulu, D.D.; Simaremare, M.E.; Pangaribuan, Y.S.; Ginting, A.R. Measuring Programmer Quality from Complexity Point of View. In Proceedings of the International Conference on Informatics, Multimedia, Cyber and Information System (ICIMCIS), Jakarta, Indonesia, 28–29 October 2021; pp. 62–266. [Google Scholar]
  38. Chai, C.; Xu, X.; Zhang, Z.; Liang, Y.; Wang, L. Topological Structure Analysis of Software Using Complex Network Theory. Math. Probl. Eng. 2022, 2022, 4283995. [Google Scholar]
  39. World Wide Web Consortium. Hypertext Markup Language (HTML). Available online: https://html.spec.whatwg.org/multipage/ (accessed on 1 October 2022).
  40. World Wide Web Consortium. Cascading Style Sheets. Available online: https://www.w3.org/Style/CSS/Overview.en.html (accessed on 1 October 2022).
  41. Ecma International. JavaScript. Available online: https://www.ecma-international.org/publications-and-standards/standards/ecma-262/ (accessed on 1 October 2022).
  42. OpenJS Foundation. jQuery. Available online: https://jquery.com/ (accessed on 1 October 2022).
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.