Research Article  Open Access
Ngo Van Hien, VanThuan Truong, NgocTam Bui, "An ObjectOriented Systems Engineering Point of View to Develop Controllers of Quadrotor Unmanned Aerial Vehicles", International Journal of Aerospace Engineering, vol. 2020, Article ID 8862864, 17 pages, 2020. https://doi.org/10.1155/2020/8862864
An ObjectOriented Systems Engineering Point of View to Develop Controllers of Quadrotor Unmanned Aerial Vehicles
Abstract
The aerospace industry needs to be provided with system solutions to technologically challenging and missioncritical problems. Based on the industrial control point of view, development engineers must take costs and existing standards into account in order to effectively design, implement, and deploy control systems with reasonable costs. The customization and reusability are important factors associated with the production of new applications in order to reduce their costs, resources, and development time. In this work, the ModelDriven Architecture (MDA)/ModelBased Systems Engineering (MBSE) approach combined with the realtime Unified Modeling Language (UML)/Systems Modeling Language (SysML), Unscented Kalman Filter (UKF) algorithm, and hybrid automata is specialized to obtain a hybrid control model in order to conveniently deploy controllers of Quadrotor Unmanned Aerial Vehicles (QUAVs). This hybrid control model also provides a realtime capsule pattern, which allows the designed elements to be customizable and reusable in new applications of various multirotor UAVs of the Vertical TakeOff and Landing (VTOL) type. The QUAV dynamics and control architecture are combined with the MDA/MBSE specialization as follows: the Computation Independent Model (CIM) is defined by specifying the usecase model together with the UKF algorithm and hybrid automata to intensively gather the control requirements. The Platform Independent Model (PIM) is then designed by specializing the realtime UML/SysML’s features to obtain the main control capsules, ports, and protocols, together with their dynamic evolution. The detailed PIM is subsequently transformed into the PSM by opensource platforms to rapidly implement and deploy the QUAV controller. The paper ends with trial flights and deployment results that show good feasibility to be used for a trajectorytracking controller of a lowcost QUAV. In this case study, the QUAV controller is implemented with the simulation model in the OpenModelica tool. The obtained simulation results then allow the main control elements and their properties to be defined, as well as building the implementation libraries in the Arduino environment based on C++ language to quickly perform the realization model in the ATMEGA32U2 and STM32 CortexM4 microcontrollers.
1. Introduction
Unmanned Aerial Vehicles (UAVs) have been used in many military applications for a long time. Currently, UAVs, especially quadrotor UAVs (QUAVs), are also being developed rapidly in civilian applications to enhance economic effectiveness, e.g., online shipping in ecommerce, precision agriculture, environmental monitoring, mapping, and surveillance. The QUAV is one of the microUAV types of which operating modes are capable of Vertical TakeOff and Landing (VTOL) and hovering and horizontal flight, so they can handle turbulence due to, for example, wind more easily and are easier to design and realize by using a compact airframe [1–3].
Systems engineering is an approach that has been widely accepted in the aerospace and defense industry to provide system solutions to technologically challenging and missioncritical problems. The solutions often include the use of hardware and equipment, software, data, people, and facilities [4]. In addition, the low development costs must be taken into account in the construction of applications. Thus, reusability must also be considered in the new development lifecycle of various applications for UAVs, such as the VTOL. According to the Object Management Group (OMG) [5], Unified Modeling Language (UML) has been standardized for analyzing and designing visual system components in the software industry. In addition, System Modeling Language (SysML) [6] is a UML profile for systems engineering that has been also standardized by OMG. SysML is used for analyzing, designing, verifying, and validating the development artifacts of industrial systems in various domains. Nevertheless, both UML and SysML lack the constructs for precise modeling of timing and communication evolutions between the control objects for realtime and embedded systems, e.g., the QUAV controller. Furthermore, the OMG has also standardized the ModelDriven Architecture (MDA) [7, 8] whose main idea is to separate the specifications of system operations from the details of the way that a system uses the capabilities of its platform. On the other hand, ModelBased Systems Engineering (MBSE) has been formalized by INCOSE [9, 10] to support the modeling of system requirements, design, analysis, verification, and validation artifacts in the development life cycle of complex systems.
In addition, the problem of designing autonomous flight controllers for QUAVs is equally challenging because these controllers are closely connected with the dynamic models [11–13]. Hence, the QUAV controller can be considered to be a model that combines discrete and continuous behaviors named the Hybrid Dynamic System (HDS), and it can be modeled by hybrid automata (HA) [14–16].
Following on from the above points, the MDA/MBSE’s features can be specialized by combining them with the realtime UML [17–20] together with the SysML (i.e., realtime UML/SysML) to depict the analysis and design components of control systems in detail. This study focuses on the development of a hybrid control model that integrates the QUAV dynamics specialized for the MDA/MBSE together with realtime object paradigms and the HA, which permits us to conveniently implement the QUAV controller. This model also allows the designed control components to be closely customized and reused for deploying new control applications of various UAV types capable of VTOL. In this work, the QUAV dynamics and control architecture are combined with the specialization of MDA/MBSE features, composed of the Computation Independent Model (CIM), Platform Independent Model (PIM), and Platform Specific Model (PSM). The control system permits a QUAV to track the desired trajectories. In detail, the CIM consists of the usecase model defined closely with an implemented function block diagram, the supplemented Unscented Kalman Filter (UKF) algorithm, and HA to accurately meet the control requirements for a QUAV controller. Based on the defined CIM, the PIM is designed by specifying the realtime UML/SysML that allows a realtime capsule pattern to be created to model the realtime control elements with their timing evolutions in detail. The detailed PIM components are then transformed into PSMs by using opensource platforms such as OpenModelica [21] and Arduino [22] in order to rapidly implement and deploy the QUAV controller. Finally, a trajectorytracking controller of an application of QUAV is deployed and used to test the ATMEGA U2 and STM32CortexM4 microcontrollers, which are linked with the Inertial Measurement Unit (IMU) MPU6000 with a working frequency of 100 Hz [23] and GPS Ublox Neo 6M with a working frequency of 10 Hz [24]. This controller is trialed through different experimental scenarios and is compared to existing solutions.
In this study, we followed the method of our author introduced in Van Hien et al. [25]. The main contributions of this paper are summarized as follows: (1)The MDA/MBSE approach combined with the realtime UML/SysML, UKF algorithm, and hybrid automata is specialized to conveniently analyze, design, implement, and deploy the QUAV controller(2)The main designed control capsules can be customized and reused for various UAV types capable of VTOL(3)The opensource platforms are used to rapidly implement and deploy the controller(4)A trajectorytracking controller of a lowcost QUAV is developed and tested
The rest of this paper is organized as follows: The second section introduces the related works that inspired us to build an MDA/MBSEoriented development life cycle for QUAV controllers. The QUAV dynamic model and control architecture are introduced in the third section. The fourth section presents the details of MDA/MBSEbased development to conveniently realize and deploy QUAV controllers, including the CIM, PIM, and PSM components. In the fifth section, this specialized model is applied to a case study. Conclusions and future work are shown in the final section.
2. Related Work
2.1. Structural Approaches for QUAV Controllers
In the present design of complex systems, many applications use standard control methods together with softcomputing approaches to make them more effective for controllers of such systems [26–30]. These have also been applied to the construction of QUAV controllers; for example, some of the main control methods and assessments for QUAV applications are summarized in Table 1.

The assessment results of the above control approaches suggest the use of a combination of PID and backstepping, the socalled Integral Backstepping (IB) technique. This is used to implement the continuous evolution of the QUAV controller by a functional block diagram in the fourth section.
In addition, the above traditional control models are based on structural approaches that focus on databasedriven architecture. Hence, the designed control components could be difficult to customize and reuse for realizing new controllers of different UAVs of the VTOL type and for deploying them appropriately into various software and hardware platforms. To achieve this goal, modeldriven approaches can be specialized to conveniently perform the whole development lifecycle focused on control systems such as the QUAV controller.
2.2. ModelDriven Approaches and Applications
As previously stated, the MDA has been standardized by OMG for system design, development, and implementation. The three main goals of the MDA are portability, interoperability, and reusability through an architectural separation of concerns. Furthermore, ModelBased Systems Engineering (MBSE) is the formalized application of modeling that is used to support system requirements and for design, analysis, verification, and validation activities beginning in the conceptual design phase and continuing throughout development and later life cycle phases [9, 10]. MDA is a system development paradigm that emphasizes the use of rigorous visual modeling techniques throughout the system development life cycle (SDLC), and MBSE is a specialization of MDA that applies MDA principles and best practices to systems engineering applications [25, 50]. Following the above modelbased approaches, Ragavan et al. [51] proposed the Bond Graphbased Unified MetaModeling Framework (BGUMF) to lead the complexity in model transformation, analysis, validation, verification, and automatic code generation, which are focused on the conceptual design and development of executable models for large engineering systems. Herrera et al. [52] introduced the complex UML/MARTE (Modeling and Analysis of RealTime and Embedded Systems) methodology to design embedded systems, which brought out a new integration of ModelDriven Engineering (MDE), electronic systems, and space exploration technologies. This platform could capture the set of possible design solutions by using the UML and the standard MARTE profile. Many industrial applications based on the realtime UML/SysML and modeldriven approaches for complex control systems can be found in [8, 25, 50, 53–56].
In particular, the demands of system complexity and design productivity for embedded control systems must be managed by simplifying and reusing the design. Thus, these systems need to be verified as early as possible in the development process to reduce the cost and effort in the context of MBSE [57]. To achieve these goals, the UML profile for SystemVerilog (UMLSV) [58, 59] and a novel Natural Language Processing (NLP) framework [60] were developed to completely model the design and verification requirements of systems.
In this section, we cited the structural realizations for QUAV controllers and the modelbased approaches for industrial control systems that could be used to create a hybrid control model based on the MDA/MBSE approach and realtime UML/SysML to conveniently deploy the QUAV controller.
3. QUAV Dynamics and Control Architecture
3.1. QUAV Dynamic Model for Control
The aim of modeling the dynamics of QUAV is to find differential equations that relate a system’s outputs (position and orientation) to its inputs (force and torque vectors). As determined from a large field of guidance, the navigation and control of aerial vehicles presented in [61–64], the 6 DoF dynamic model of a QUAV in the body coordinate frame can be written as equation system (1). Here, , , and are inertia moments; , , and are, respectively, Roll, Pitch, and Yaw (RPY) angles; presents the rotor inertia; is a set of hub forces; is a set of rolling moments; presents the thrust force (); is the overall residual propeller angular speed; is the fuselage area; is the propulsion group cost factor; is the air density; presents the drag moment; and are, respectively, the vertical distance and horizontal distance of the propeller center to the Center of Gravity (CoG); and , , and define the position in the body coordinate frame.
In this study, we proposed the following assumptions: the hub forces and rolling moments were ignored, and thrust and drag coefficients were considered constants in order to comply with the realtime constraints of the embedded control loop. The evolution of the control system can be rewritten in statespace form with the input vector and state vector as equations (2)–(4).
Here, is the control input () that is described by a set of equations (3), is the propeller angular rate, and and are, respectively, the thrust and drag factors.
is a 12dimensional state vector that is used to describe the motion of QUAV and is written as shown in
A discrete statespace representation is required to model the QUAV controller in order to use a recursive estimation filter of motion states, e.g., the Extended Kalman Filter (EKF) or UKF; the developed system can be then described by a set of equations (5):
Here, is the vector of state variables at the ^{th} instant of ; and are, respectively, the inputs and outputs of the system; , , and are, respectively, the measurement function, additive process, and measurement noise.
In fact, the EKF has been widely accepted as a standard tool in the control and machinelearning communities. In this study, we used the UKF to estimate the altitude, position, attitude, and velocity control of the QUAV. This addresses many of the approximation issues of the EKF and consistently achieves an equal or better level of performance at a comparable level of complexity. The performance benefits of UKFbased algorithms have been demonstrated in a number of application domains, including state estimation, dual estimation, and parameter estimation [65, 66]. There are a number of clear advantages to the UKF, e.g., the mean and covariance of the state estimate are calculated to secondorder or better, as opposed to firstorder in the EKF. This allows more accurate implementation of the optimal recursive estimation equations, which is the basis for both the EKF and the UKF. While equations specifying the UKF may appear more complicated than the EKF, the actual computational complexity is equivalent. More detail about the use of the UKF algorithm for the QUAV controller will be provided in the fourth section.
3.2. General Control Architecture for a QUAV
There are three main systems within the physical structure of a QUAV as follows: the guidance system is used to provide the desired path for the QUAV to track, the navigation system is responsible for estimating the current state of the QUAV, and the control system is used to calculate and apply the control forces and moments to conduct this QUAV. These subsystems have missions to be accomplished, yet they must also cooperatively operate to allow the QUAV to fulfill its tasks, even in the presence of unknown environmental disturbances. Figure 1 shows a general block definition diagram in SysML, which captures how these subsystems interact.
As previously stated, control systems and their actuators can be considered models including discrete events and continuous behaviors that can be named HDSs. Furthermore, controlled systems do not always have the same behavior because they are associated with validity hypotheses that need to be checked at any moment, as well as security forces to envisage events and behaviors different from nominal behaviors. In this paper, we are also interested in analyzing and designing an industrial HDS (IHDS). This IHDS contains two parts, which are the HDS controller and controlled HDS. These parts mutually exchange periodic signals and episodic events. The episodic event is either external or internal.
Figure 2 shows the block diagram of an IHDS. Here, and are, respectively, output and input events; and are, respectively, output and input signals; is a sampling period of the evolution model for control; and Actor_{1}, Actor_{2}, and Actor are descriptions of a coherent set of roles that users (i.e., persons or involved external systems) play when they interact with the developed IHDS.
As shown by the above QUAV dynamic and general control architecture together with the described characteristics of the IHDS, controllers of QUAVs are then considered as IHDSs whose dynamic behaviors can be modeled by HA. These control systems have continuous/discrete parts and they have interactions, such as those with motional components, e.g., horizontal transferring, VTOL, and rotation, external interacting events from the guidance and navigation system, and environmental disturbances. In this study, we are interested in developing a trajectorytracking controller of QUAVs, so this hybrid dynamic model can be used to form control algorithms combined with a specific guidance law such as the LineOfSight (LOS) guidance implemented in [67–70].
4. ModelDriven Development for a QUAV Controller
As previously stated, the CIM, PIM, and PSM components of MDA/MBSE combined with the realtime UML/SysML are specialized for analyzing and designing control components of complex control systems, e.g., the QUAV controller, in detail. Following the abovedescribed QUAV dynamics and general control architecture for the realtime UML/SysML specifications, we specialize the MDA/MBSE approach in detail for deploying the QUAV controller that consists of the following three models: CIM, PIM, and PSM. This separates the operation specifications of the system from the details of the way that the system uses the capabilities of its platform. All of the artefacts and activities in CIM, PIM, and PSM for a QUAV controller will be detailed in the next subsections.
4.1. CIM for a QUAV Controller
In the CIM, object collaborations with the realtime UML/SysML are based on the use case model, together with the specifications of continuous behaviors including the implemented functional block diagram, the IB, and UKF algorithms, and HA in order to closely depict the control requirements for a QUAV controller.
The main use case model of a QUAV controller is defined as shown in Figure 3. It encompasses an example of trajectorytracking scenarios and the local state machine of the “Track a desired trajectory” use case, which are, respectively, shown in Figures 4(a) and 4(b)). In Figure 4(a), the “loop(5)” fragment is a value typically seen in the practice of LOS guidance, as shown in [71],
(a)
(b)
where (i)MDS is the MeasurementcumDisplay System, consisting of the guidance and navigation systems, because both of them essentially act as a signal supplier for the controllers of QUAV(ii)AES is the Air Environment System including disturbances generated by the weather(iii)The “Track a desired trajectory” use case is performed for tracking the desired trajectory for the vehicle to follow(iv)The “Ensure safety” use case is used to maintain system safety when one of its components fails or its supplied power is low or there is bad weather(v)The “Configure” use case permits users or maintainers to configure and update control parameters for starting up the controllers(vi)The “Maintain” use case is performed for maintaining the whole system which includes activities, e.g., error identification and correction of the whole physical QUAV or periodical maintenance
In the use case model, industrial maneuvering constraints, e.g., the maximum tilted angle, velocity, altitude, and other safety modes of the QUAV, need to be set up. In this study, a functional block diagram must be built to model the continuous dynamics of the QUAV controller, because the realtime UML/SysML lacks the constructs for depicting internal continuous models for each state situated in the state machine diagram. Thus, we propose an implemented functional block diagram to gather the internal continuous behaviors of the QUAV controller, as shown in Figure 5,
where (i)Desired trajectory and takeoff/landing are events that are used for providing, respectively, the desired position and altitude to the blocks of position and altitude control(ii), are desired rotational speeds, which are applied to the four motors(iii) and are the overall output forces and moments acting on the QUAV
As previously mentioned, the UKF algorithm is used to estimate the altitude, position, attitude, and velocity control. Following the QUAV dynamics in equation systems (1)–(5), the application details of the UKF algorithm for a QUAV controller are shown in Algorithm 1.

In Algorithm 1, denotes an estimate; is the state covariance; and are, respectively, the covariance matrices of process and measurement noise, assumed to be zero mean stationary white noise with zero crosscorrelation; the state is recursively estimated starting from the assumed initial conditions as and ; and the Unscented Transform (UT) is a deterministic sampling technique that allows us to compute the mean and the covariance matrix of a random variable. It undergoes a generic nonlinear transformation by propagating a minimum set of its samples and exploiting the knowledge of the mean and the covariance of the starting variable.
In addition, the IB expansion combined with the CLF for QUAV controllers is well used in many QUAV control applications, for instance [72, 73]. PID regulators can be applied to the functional block of motor control to reduce the inertial and delay time caused by the physical QUAV actuators in the whole system’s evolution.
In the CIM, hybrid automata (HA) are specified to present the mathematical implementation model of the QUAV controller consisting of terms such as the situations, continuous state variables, event, transition, global continuous behavior, and invariants. An HA of the QUAV controller () is established by data as follows:
Here, is a set of operation modes called the situations of , e.g., the modes of hovering, transferring, taking off, and landing; is the initial situation; is the continuous statespace of continuous elements of the QUAV, e.g., the control blocks of a motor, position, altitude; is the initial value of this space; is a set of external interacting events for triggering movement from the current situation to the reached situation, which is issued from the guidance and navigation systems as well as environmental disturbances for the QUAV controller; is a set of transitions between the situations that are linked via appropriate events ; is called the invariant term of the situation and is used for verifying when the situation is ; the continuous state must be then ; and is the global continuous model issued from the 6 DoF dynamic model in equations (1)–(5) and the implemented functional block diagram (Figure 5). The global evolution of the continuous state is performed when a new situation is reached in the operation modes of the QUAV. The details of HA specialization and its hypotheses for the evolution of a control system can be seen in previous reports [74, 75].
4.2. PIM for a QUAV Controller
The abovedefined CIM is transformed into a PIM that is based on the use case approach [5, 6], realtime UML profile [17–20], and IBM Rational Rose RealTime or IBM Rational Software Architect RealTime tools [76]. The goal of the PIM is to closely build up the realtime control capsules, ports, protocols, and their timing evolutions, which allow the precise behaviors and structures of the QUAV controller to be designed. From the abovedefined CIM components, the five main control capsules have been specialized to participate in the HA evolution of the QUAV controller: the continuous part’s capsule, the discrete part’s capsule, the internal interface’s capsule, the external interface’s capsule, and the Instantaneous Global Continuous Behavior (IGCB’s capsule). Figures 6–8 indicate the realtime capsule pattern for the QUAV controller by using the realtime UML’s collaboration, class, and sequence diagrams.
In Figure 6, the discrete part’s capsule consists of the situations and transitions in the HA of the QUAV controller; the continuous part’s capsule contains the continuous statespace ; the IGCB’s capsule builds up concrete global continuous behaviors as , where is derived from equations (1)–(4) and the implemented functional block diagram (Figure 5) can be implemented in for estimating the values of the position, altitude, attitude, and velocity of the QUAV; the internal interface’s capsule permits the tool to generate internal events in the HA evolution; and the external interface’s capsule is an intermediary that receives or sends episodic events and periodic signals between the QUAV controller and their interacting systems, such as the AES and MDS.
In Figure 8, the messages exchanged between the main control capsules, which are defined by the protocols (Figure 7), are synchronous, and the interval between two adjacent timeout messages indicates the sampling period () of the IGCB’s capsule. The external interface’s capsule receives periodic signals coming from external continuous components. It then gives the ContinuousElement message to the IGCB’s capsule so that the IGCB’s capsule can call all of the continuous elements corresponding to the concrete “IGCB:IGCB1.” During the call of the IGCB’s capsule, the external interface’s capsule can receive an event named “3: InputEvent” issued from the MDS or AES, and this event, named “ee1: DetectedEvent”, is given to the discrete part’s capsule. The discrete part’s capsule then memorizes and later processes this event. If the IGCB’s capsule receives the LastContinuousTerminal message coming from the continuous part’s capsule, it gives the ContinuousEvolution message to the continuous part’s capsule so that the internal interface’s capsule can receive all updated variables. The internal interface’s capsule then verifies the invariant () of the situation . In this case, there is a generated internal event. The internal interface’s capsule gives this event to the discrete part’s capsule, which permits the IGCB’s capsule to identify the concrete “IGCB:IGCB2” and give output signals to the external interface’s capsule. At the end of this sampling period, the external interface’s capsule gives the output event and control signals to the external environment of the QUAV operating with its concrete”IGCB:IGCB2.”
Tools such as HyTech, CheckMate, PHAver, and HSolver [77] can be used to test a hybrid automaton to verify the generally dynamic behaviors of the QUAV controller. At this moment, formal tools, such as IBM Rational Test RealTime [76], also exist to directly test a capsule collaboration. This tool permits us to validate a set of input sequences and defined objects in order to make sure the behaviors of the system are well modeled. Moreover, we can find software tools such as IBM Rational Rose RealTime and IBM Rational Software Architect RealTime [76], which can be used to support the formal reuse of designed control components. They permit us to undergo reverse engineering of applications to track the requirements of the developed systems. In particular, we can also use the SystemVerilog tool [58, 59] and a novel NLP framework [60] to completely validate the control requirements and design models of the developed system.
In addition, the reusability is very important when implementing controllers for different applications of UAVs of the VTOL type because it can reduce the development time and cost. The specializations, which permit the capsule collaboration of a developed QUAV to be customizable and reusable in the new control application for various UAVs of the VTOL type, are summarized in Table 2.
 
4.3. PSM for a QUAV Controller
To realize and deploy the QUAV controller, the PIM is first implemented in the PSM (i.e., the simulation model) that is transformed from the abovebuilt PIM by using tools such as the IBM Rational Rose RealTime or IBM Rational Software Architect RealTime [76] or Papyrus for RealTime (PapyrusRT) [78] and Modelica/OpenModelica [21, 79]. Here, the IBM Rational provides a rich set of capabilities delivered as part of a collaborative and integrated range of products to support the realtime UML design of industrial software systems. PapyrusRT is an industrialgrade, complete opensource modeling environment that is used for the development of complex, softwareintensive, realtime, embedded, and cyberphysical systems. It acts as an implementation of the realtime UML together with editors, a code generator for C++, and a supporting runtime system. In addition, OpenModelica is an opensource modeling and simulation environment intended for industrial and academic usage. It is an objectoriented declarative multidomain modeling language that is used for complex dynamic systems. The OpenModelica environment allows most of the expression, algorithm, and function parts of Modelica to be executed interactively, as well as equation models and Modelica functions to be compiled into efficient C/C++ codes. The simulation results in OpenModelica allow us to theoretically assess the control performance and to choose the properties of control elements before they are deployed.
In this study, the PIM with optimized control elements in the simulation model was updated to obtain a new PIM for the deployment model of QUAV called PIM^{+}. Finally, this PIM^{+} was transformed into the new PSM^{+} (i.e., the realization model) by using various specific platforms based on the objectoriented Implementation Development Environment (IDE), e.g., the Arduino’s IDE [22], to construct a QUAV controller with compatible microcontrollers, e.g., the ATMEGA32U2 and STM32 CortexM4 microcontrollers [22]. The above PIMPSM transformations were performed through roundtrip engineering (i.e., forward and reverse engineering) of the intermediate C++ codes, including about 80% of the generated codes and 20% of the handcrafted codes issued from the models depicted in IBM Rational Rose RealTime or IBM Rational Software Architect RealTime or PapyrusRT, OpenModelica tools, and the Arduino’s IDE. The transformation rules that were used to convert the PIM into the PSM or the PIM into the PSM and vice versa through the roundtrip engineering of the intermediate C++ codes can be found in the authors’ reports [50, 74, 75].
In addition, the abovedefined HA can be automatically implemented by using the State pattern described in [80, 81]. The State pattern represents either of the following cases: (i) an object’s behavior depends on its state, and the object must change its behavior at runtime depending on that state, and (ii) operations have large, multipart, conditional statements that depend on the object’s state. This state is usually represented by one or more enumerated constants. Often, several operations contain this same conditional structure. The State pattern puts each branch of the conditional structure in a separate class. This lets us treat the object’s state as an object in its own right that can vary independently from other objects. Following this pattern, the detailed implementation structure and codes of HA have been found in the author’s report [74] to enhance the significant programming effectiveness of the control program of QUAV.
5. Application
5.1. Physical System Configurations
Based on the aboveproposed hybrid model, a trajectorytracking controller that permits a lowcost QUAV to reach and follow the predetermined trajectory was developed. Figure 9 shows the ComputerAided Design (CAD) model of this QUAV used for the case study. The main operational parameters of the QUAV are summarized in Table 3.

5.2. Results of Control Implementation
All elements of the analysis and design models were created to allow the implementation of the trajectorytracking controller of this QUAV. Here, we present some of the control simulation results that were obtained through the following simulation cases: the guidance system addressed a desired event of takingoff to the QUAV with an altitude of 15 m; the transient control response in the direction is illustrated in Figure 10(a); Figure 10(b) shows the transient control response in the direction when the QUAV received the desired event of transferring with a desired distance of 15 m in the direction from the current position. All of the obtained simulation results allow the control performance of the system to be assessed theoretically within the control criteria such as the admissible timing response, the transition, and static errors. The assessed simulation results permitted us to choose the designed control elements and their properties that were used to perform the deployment phase.
(a)
(b)
In this case study, the defined statespace models presented in equation systems (4) and (5) were implemented by the UKF algorithm (Algorithm 1) to predict the motion states corresponding to the sensors installed on this QUAV, such as the IMU MPU6000 with a working frequency of 100 Hz [23] and the GPS Ublox Neo 6M with a working frequency of 10 Hz [24]. The ATMEGA32U2 and STM32 CortexM4 microcontrollers [22] were used on the main board, and the control program was installed with Arduino’s IDE [22] based on C++ language. The QUAV installation for trial flights is shown in Figure 11.
The main test cases and obtained results for the QUAV are illustrated and were used to assess the control performance of this QUAV as follows: (i)First test scenario: the QUAV autonomously reached and followed a desired polygonshaped trajectory with heading angles of about 90° and 110° and an average velocity of 2.5 m/s (Figure 12). The maximum trajectory error was about 1.40 m against each WayPoint (WP) position at these heading angles.(ii)Second test case: the QUAV was capable of Vertical TakeOff and Landing (VTOL) with a maximum altitude of 480 m (Figure 13); the landed position error was 0.30 m against the initial takeoff position(iii)Third test scenario: the QUAV autonomously reached and followed a desired zigzaglined trajectory with various heading angles and an average velocity of 2.5 m/s (Figure 14). The maximum trajectory error was about 1.20 m against each WP position at these heading angles
Following the comparison between the aboveobtained experimental data and the existing experimental results presented in [74], in which the EKF algorithm was used to implement the same physical QUAV model, the trajectorytracking controller of this QUAV had an improved stabilized trajectory error, which decreased by about 0.2–0.4 m. From this case, we also found that the UKF can provide considerable improvement over the EKF in the control implementation for VTOLtype UAVs.
6. Conclusions and Future Work
This paper presented a hybrid control that can be used to conveniently realize controllers for QUAVs whose global behaviors mean that they can be considered industrial HDSs (IHDSs). This model is mainly based on the specialization of MDA/MBSE features combined with the realtime UML/SysML, UKF algorithm, and HA to closely implement and realize the control parts of the system. The QUAV dynamics and control architecture were firstly adapted for the control and combined with the specialization of MDA/MBSE features including the CIM, PIM, and PSM components. In the CIM, the use case model was specialized with continuous behaviors, the UKF algorithm, and HA to closely capture the requirements of the analysis for a QUAV controller. The PIM was built to obtain a detailed design model by specifying the control capsules, ports, and protocols enclosed with their timing evolutions in order to model the behaviors and structures of the QUAV controllers in detail. The designed PIM components were also used to create a realtime capsule pattern that can be customized and reused in new UAV applications, of which operating modes are capable of VTOL, hovering, and horizontal flight. The updated PIM with the optimized control elements of the simulation model (PIM^{+}) was then transformed into PSM^{+} through the roundtrip engineering of the intermediate C++ codes in order to form a QUAV controller with compatible microcontrollers. Based on this proposed hybrid control model, a trajectorytracking controller of a lowcost quadrotor UAV was deployed and tested out on the Arduino ATMEGA U2 and STM32CortexM4 microcontrollers.
Furthermore, the abovedeveloped control application confirms that the MDA/MBSE approach combined with the realtime UML/SysML provides a framework for, and enables, tools to be provided to specify a system independently of the platform that supports it, specify platforms, choose a particular platform for the system, and transform the system’s specifications into one for a particular platform. However, the realtime UML/SysML versions lack the constructs required for modeling internal continuous behaviors for each state on the state machine diagram, so an implemented functional block diagram must then be defined in the CIM to model continuous behaviors for industrial HDSs such as the QUAV controller with events issued from outside.
We only applied the aboveproposed control model in the lowcost QUAV controller and intend to implement it in new control applications for autonomous coordinated vehicles. Eventually, if we get positive feedback, we will investigate our application strategy to make it more effective. This will permit us to create controllers to effectively balance the search and target response in cooperative teams of a VTOLtype UAV with an unmanned ship and multiple autonomous underwater vehicles for ocean exploration. This will be specialized with design and verification models of safetycritical systems, as indicated by [58–60].
Abbreviations
CIM:  Computation Independent Model 
MDE:  ModelDriven Engineering 
CLF:  Control Lyapunov Functions 
NLP:  Natural Language Processing 
DoF:  Degrees of Freedom 
OMG:  Object Management Group 
GPS:  Global Positioning System 
PID:  Proportional–Integral–Derivative 
HA:  Hybrid automata 
PIM:  Platform Independent Model 
HDS:  Hybrid Dynamic Systems 
PSM:  Platform Specific Model 
IB:  Integral Backstepping 
QUAV:  Quadrotor Unmanned Aerial Vehicles 
IDE:  Implementation Development Environment 
SDLC:  System Development Life Cycle 
IGCB:  Instantaneous Global Continuous Behavior 
SMC:  SlidingMode Control 
IMU:  Inertial Measurement Unit 
SysML:  System Modeling Language 
LQ:  Linear Quadratic 
UKF:  Unscented Kalman Filter 
LOS:  LineOfSight 
UML:  Unified Modeling Language 
MBSE:  ModelBased Systems Engineering 
UMLSV:  UML profile for SystemVerilog 
MDA:  ModelDriven Architecture 
WP:  WayPoint. 
Data Availability
No data were used to support this study.
Conflicts of Interest
The authors declare that they have no conflicts of interest.
Acknowledgments
This work was supported by the Centennial SIT Action for the 100^{th} anniversary of Shibaura Institute of Technology to enter the top ten Asian Institute of Technology.
References
 P. RadoglouGrammatikis, P. Sarigiannidis, T. Lagkas, and I. Moscholios, “A compilation of UAV applications for precision agriculture,” Computer Networks, vol. 172, article 107148, 2020. View at: Publisher Site  Google Scholar
 R. Woellner and T. C. Wagner, “Saving species, time and money: application of unmanned aerial vehicles (UAVs) for monitoring of an endangered alpine river specialist in a small nature reserve,” Biological Conservation, vol. 233, pp. 162–175, 2019. View at: Publisher Site  Google Scholar
 H. Shakhatreh, A. H. Sawalmeh, A. AlFuqaha et al., “Unmanned aerial vehicles (UAVs): a survey on civil applications and key research challenges,” IEEE Access, vol. 7, pp. 48572–48634, 2019. View at: Publisher Site  Google Scholar
 S. Friedenthal, A. Moore, and R. Steiner, A Practical Guide to SysML  the Systems Modeling Language, Elsevier, Waltham, MA, USA, 3rd edition, 2015.
 OMG, “Unified Modeling Language (UML® Version 2.5.1): a specification defining a graphical language for visualizing, specifying, constructing, and documenting the artifacts of distributed object systems,” 2017, https://www.omg.org/spec/UML/2.5.1. View at: Google Scholar
 OMG, “SysML specifications version 1.6,” 2019, https://www.omg.org/spec/SysML/1.6. View at: Google Scholar
 OMG, “Model Driven Architecture (MDA): guide revision 2.0 of MDA guide,” 2014, https://www.omg.org/mda. View at: Google Scholar
 OMG, “The architecture of choice for a changing world: success atories,” 2020, http://www.omg.org/mda/products_success.htm. View at: Google Scholar
 INCOSE, Systems Engineering Vision 2025, INCOSE, San Diego, CA, USA, 2014.
 INCOSE, “Objectoriented systems engineering method,” 2019, https://www.incose.org/incosememberresources/workinggroups/transformational/objectorientedsemethod. View at: Google Scholar
 L. Ding and H. Wu, “Dynamical modelling and robust control for an unmanned aerial robot using hexarotor with 2DOF manipulator,” International Journal of Aerospace Engineering, vol. 2019, Article ID 5483073, 12 pages, 2019. View at: Publisher Site  Google Scholar
 K. Lu, C. Liu, C. Li, and R. Chen, “Flight dynamics modeling and dynamic stability analysis of tiltrotor aircraft,” International Journal of Aerospace Engineering, vol. 2019, Article ID 5737212, 15 pages, 2019. View at: Publisher Site  Google Scholar
 X. Yao and Y. Yang, “Adaptive fault compensation and disturbance suppression design for nonlinear systems with an aircraft control application,” International Journal of Aerospace Engineering, vol. 2020, Article ID 4531302, 16 pages, 2020. View at: Publisher Site  Google Scholar
 T. A. Henzinger, P. W. Kopke, A. Puri, and P. Varaiya, “What's decidable about hybrid automata?” Journal of Computer and System Sciences, vol. 57, no. 1, pp. 94–124, 1998. View at: Publisher Site  Google Scholar
 P. G. Diem, An objectoriented design method for controllers of quadrotor unmanned aerial vehicles (UAV), [Ph.D. Thesis], Hanoi University of Science and Technology, Vietnam, 2017.
 N. V. Hien and T. Soriano, “Implementing hybrid automata for developing industrial control systems,” in Proceedings of 8th IEEEETFA, pp. 129–137, Antibes  Juan les Pins, France, 2001. View at: Google Scholar
 OMG, “UML profile for MARTE: UML for modeldriven development of real time and embedded systems (RTES),” 2019, https://www.omg.org/spec/MARTE. View at: Google Scholar
 B. P. Douglass, RealTime UML Workshop for Embedded Systems, Elsevier, Oxford, UK, 2nd edition, 2014.
 B. Selic and S. Gerard, Modeling and Analysis of RealTime and Embedded Systems with UML and MARTE, Elsevier, USA, 2014.
 B. Selic, “Using UML for modeling complex realtime systems,” Tech. Rep., Springer, 1998. View at: Publisher Site  Google Scholar
 OpenModelica, “OpenModelica Software, Version 1.14,” January 2020, https://www.openmodelica.org. View at: Google Scholar
 Arduino, “Opensource electronics prototyping platform for hardware and software,” December 2019, https://www.arduino.cc. View at: Google Scholar
 InvenSense, “Sensor system on chip,” February 2020, https://invensense.tdk.com. View at: Google Scholar
 ublox, “Global leader in wireless communications and positioning semiconductors and modules for the industrial, automotive and consumer markets,” December 2019, https://www.ublox.com/en. View at: Google Scholar
 N. Van Hien, N. Van He, and P. G. Diem, “A modeldriven implementation to realize controllers for autonomous underwater vehicles,” Applied Ocean Research, vol. 78, pp. 307–319, 2018. View at: Publisher Site  Google Scholar
 Z. Wang, J. Yu, S. Lin, J. Dong, and Z. Yu, “Distributed robust adaptive faulttolerant mechanism for quadrotor UAV realtime wireless network systems with random delay and packet loss,” IEEE Access, vol. 7, pp. 134055–134062, 2019. View at: Publisher Site  Google Scholar
 Z. Fu, J. Yu, G. Xie, Y. Chen, and Y. Mao, “A heuristic evolutionary algorithm of UAV path planning,” Wireless Communications and Mobile Computing, vol. 2018, Article ID 2851964, 11 pages, 2018. View at: Publisher Site  Google Scholar
 C. Zhu and Z. Guo, “Design of headpursuit guidance law based on backstepping sliding mode control,” International Journal of Aerospace Engineering, vol. 2019, Article ID 8214042, 18 pages, 2019, 2019. View at: Publisher Site  Google Scholar
 Z. Chen and H. Jia, “Design of flight control system for a novel tiltrotor UAV,” Complexity, vol. 2020, Article ID 4757381, 14 pages, 2020. View at: Publisher Site  Google Scholar
 X. Liu and X. Liang, “Integrated guidance and control of interceptor missile based on asymmetric barrier Lyapunov function,” International Journal of Aerospace Engineering, vol. 2019, Article ID 8531584, 17 pages, 2019. View at: Publisher Site  Google Scholar
 Q. Xu, Z. Wang, and Z. Zhen, “Information fusion estimationbased path following control of quadrotor UAVs subjected to Gaussian random disturbance,” ISA Transactions, vol. 99, pp. 84–94, 2020. View at: Publisher Site  Google Scholar
 Y. Huang, W. Liu, B. Li, Y. Yang, and B. Xiao, “Finitetime formation tracking control with collision avoidance for quadrotor UAVs,” Journal of the Franklin Institute, vol. 357, no. 7, pp. 4034–4058, 2020. View at: Publisher Site  Google Scholar
 J. Muliadi and B. Kusumoputro, “Neural network control system of UAV altitude dynamics and its comparison with the PID control system,” Journal of Advanced Transportation, vol. 2018, Article ID 3823201, 18 pages, 2018. View at: Publisher Site  Google Scholar
 R. MirandaColorado and L. T. Aguilar, “Robust PID control of quadrotors with power reduction analysis,” ISA Transactions, vol. 98, pp. 47–62, 2020. View at: Publisher Site  Google Scholar
 A. A. Najm and I. K. Ibraheem, “Nonlinear PID controller design for a 6DOF UAV quadrotor system,” Engineering Science and Technology, an International Journal, vol. 22, no. 4, pp. 1087–1097, 2019. View at: Publisher Site  Google Scholar
 L. Martins, C. Cardeira, and P. Oliveira, “Linear quadratic regulator for trajectory tracking of a quadrotor,” IFACPapersOnLine, vol. 52, no. 12, pp. 176–181, 2019. View at: Publisher Site  Google Scholar
 H. I. Lee, D. W. Yoo, B. Y. Lee et al., “Parameterrobust linear quadratic Gaussian technique for multiagent slung load transportation,” Aerospace Science and Technology, vol. 71, pp. 119–127, 2017. View at: Publisher Site  Google Scholar
 P. Bader, S. Blanes, and E. Ponsoda, “Structure preserving integrators for solving (non)linear quadratic optimal control problems with applications to describe the flight of a quadrotor,” Journal of Computational and Applied Mathematics, vol. 262, pp. 223–233, 2014. View at: Publisher Site  Google Scholar
 Y. Liu, J. Ma, and H. Tu, “Robust command filtered adaptive backstepping control for a quadrotor aircraft,” Journal of Control Science and Engineering, vol. 2018, Article ID 1854648, 9 pages, 2018. View at: Publisher Site  Google Scholar
 Z. Chen, K. Niu, and L. Li, “Research on adaptive trajectory tracking algorithm for a quadrotor based on backstepping and the sigmapi neural network,” International Journal of Aerospace Engineering, vol. 2019, Article ID 1510341, 9 pages, 2019. View at: Publisher Site  Google Scholar
 R. Wang and J. Liu, “Trajectory tracking control of a 6DOF quadrotor UAV with input saturation via backstepping,” Journal of the Franklin Institute, vol. 355, no. 7, pp. 3288–3309, 2018. View at: Publisher Site  Google Scholar
 M. Labbadi and M. Cherkaoui, “Robust adaptive backstepping fast terminal sliding mode controller for uncertain quadrotor UAV,” Aerospace Science and Technology, vol. 93, article 105306, 2019. View at: Publisher Site  Google Scholar
 M. Labbadi and M. Cherkaoui, “Robust integral terminal sliding mode control for quadrotor UAV with external disturbances,” International Journal of Aerospace Engineering, vol. 2019, Article ID 2016416, 10 pages, 2019. View at: Publisher Site  Google Scholar
 T. Kusznir and J. Smoczek, “Sliding ModeBased Control of a UAV Quadrotor for Suppressing the Cable Suspended Payload Vibration,” Journal of Control Science and Engineering, vol. 2020, Article ID 5058039, 12 pages, 2020. View at: Publisher Site  Google Scholar
 T. Huang, D. Huang, Z. Wang, and A. Shah, “Robust tracking control of a quadrotor UAV based on adaptive sliding mode controller,” Complexity, vol. 2019, Article ID 7931632, 15 pages, 2019. View at: Publisher Site  Google Scholar
 M. E. AntonioToledo, E. N. Sanchez, A. Y. Alanis, J. A. Flórez, and M. A. PerezCisneros, “Realtime integral backstepping with sliding mode control for a quadrotor UAV,” IFACPapersOnLine, vol. 51, no. 13, pp. 549–554, 2018. View at: Publisher Site  Google Scholar
 M. Labbadi and M. Cherkaoui, “Robust adaptive nonsingular fast terminal slidingmode tracking control for an uncertain quadrotor UAV subjected to disturbances,” ISA Transactions, vol. 99, pp. 290–304, 2020. View at: Publisher Site  Google Scholar
 D. J. Almakhles, “Robust backstepping sliding mode control for a quadrotor trajectory tracking application,” IEEE Access, vol. 8, pp. 5515–5525, 2020. View at: Publisher Site  Google Scholar
 S. Li, Y. Wang, J. Tan, and Y. Zheng, “Adaptive RBFNNs/integral sliding mode control for a quadrotor aircraft,” Neurocomputing, vol. 216, pp. 126–134, 2016. View at: Publisher Site  Google Scholar
 T. Soriano, N. V. Hien, K. M. Tuan, and T. V. Anh, “An objectunified approach to develop controllers for autonomous underwater vehicles,” Mechatronics  The Science of Intelligent Machines, vol. 35, pp. 54–70, 2016. View at: Publisher Site  Google Scholar
 S. K. V. Ragavan, M. Shanmugavel, V. Ganapathy, and B. Shirinzadeh, “Unified metamodeling framework using bond graph grammars for conceptual modeling,” Robotics and Autonomous Systems, vol. 72, pp. 114–130, 2015. View at: Publisher Site  Google Scholar
 F. Herrera, H. Posadas, P. Peñil et al., “The COMPLEX methodology for UML/MARTE modeling and design space exploration of embedded systems,” Journal of Systems Architecture, vol. 60, no. 1, pp. 55–78, 2014. View at: Publisher Site  Google Scholar
 L. T. W. Agner, I. W. Soares, P. C. Stadzisz, and J. M. Simão, “A Brazilian survey on UML and modeldriven practices for embedded software development,” Journal of Systems and Software, vol. 86, no. 4, pp. 997–1005, 2013. View at: Publisher Site  Google Scholar
 M. Rashid, M. W. Anwar, and A. M. Khan, “Toward the tools selection in model based system engineering for embedded systemsA systematic literature review,” Journal of Systems and Software, vol. 106, pp. 150–163, 2015. View at: Publisher Site  Google Scholar
 F. Ciccozzi, I. Malavolta, and B. Selic, “Execution of UML models: a systematic review of research and practice,” Software & Systems Modeling, vol. 18, no. 3, pp. 2313–2360, 2019. View at: Publisher Site  Google Scholar
 L. O. Freire, L. M. Oliveira, R. T. S. Vale et al., “Development of an AUV control architecture based on systems engineering concepts,” Ocean Engineering, vol. 151, pp. 157–169, 2018. View at: Publisher Site  Google Scholar
 M. Rashid, M. W. Anwar, F. Azam, and M. Kashif, “Modelbased requirements and properties specifications trends for early design verification of embedded systems,” in Proceedings of 11th System of Systems Engineering Conference (SoSE), pp. 1–7, Kongsberg, Norway, 2016. View at: Google Scholar
 M. W. Anwar, M. Rashid, F. Azam, and M. Kashif, “Modelbased design verification for embedded systems through SVOCL: an OCL extension for SystemVerilog,” Design Automation for Embedded Systems, vol. 21, no. 1, pp. 1–36, 2017. View at: Publisher Site  Google Scholar
 M. W. Anwar, M. Rashid, F. Azam, M. Kashif, and B. Butt, “A modeldriven framework for design and verification of embedded systems through SystemVerilog,” Design Automation for Embedded Systems, vol. 23, no. 34, pp. 179–223, 2019. View at: Publisher Site  Google Scholar
 M. W. Anwar, I. Ahsan, F. Azam, H. W. Butt, and M. Rashid, “A natural language processing (NLP) framework for embedded systems to automatically extract verification aspects from textual design requirements,” in Proceedings of 12th International Conference on Computer and Automation Engineering, pp. 7–12, Sydney, Australia, 2020. View at: Google Scholar
 R. C. Nelson, Flight Stability and Automatic Control, McGraw Hill, Singapore, 2nd edition, 1998.
 K. P. Valavanis and G. J. Vachtsevanos, Eds., Handbook of Unmanned Aerial Vehicles, Springer, Dordrecht, Heidelberg, New York, London, 2015. View at: Publisher Site
 B. B. Kocer, T. Tjahjowidodo, and G. G. L. Seet, “Model predictive UAVtool interaction control enhanced by external forces,” Mechatronics, vol. 58, pp. 47–57, 2019. View at: Publisher Site  Google Scholar
 J. Huang, H. Zhang, G. Tang, and W. Bao, “Profiletrackingbased adaptive guidance law against maneuvering targets,” International Journal of Aerospace Engineering, vol. 2019, Article ID 8056342, 17 pages, 2019. View at: Publisher Site  Google Scholar
 E. A. Wan and R. V. D. Merwe, “The unscented Kalman filter,” in Kalman Filtering and Neural Networks, S. Haykin, Ed., pp. 221–280, Wiley, New York, USA, 2001. View at: Google Scholar
 Y. BarShalom, X. R. Li, and T. Kirubarajan, Estimation with Applications to Tracking and Navigation Theory Algorithms and Software, Wiley & Sons, USA, 2001. View at: Publisher Site
 A. M. Lekkas and T. I. Fossen, “Integral LOS path following for curved paths based on a monotone cubic Hermite spline parametrization,” IEEE Transactions on Control Systems Technology, vol. 22, no. 6, pp. 2287–2301, 2014. View at: Publisher Site  Google Scholar
 H. Choset, K. M. Lynch, S. Hutchinson et al., Principles of Robot Motion: Theory, Algorithms, and Implementation, the MIT Press, Cambridge, MA, USA; London, UK, 2005.
 J. H. Liu, J. Y. Shan, and Q. Liu, “Optimal pulsed guidance law with terminal impact angle constraint,” Proceedings of the Institution of Mechanical Engineers, Part G: Journal of Aerospace Engineering, vol. 231, pp. 1993–2005, 2016. View at: Publisher Site  Google Scholar
 Z. Zheng and Y. Zou, “Adaptive integral LOS path following for an unmanned airship with uncertainties based on robust RBFNN backstepping,” ISA Transactions, vol. 65, pp. 210–219, 2016. View at: Publisher Site  Google Scholar
 L. Béla and M. Lorinc, Nonlinear Control of Vehicles and Robots, Springer, UK, 2011.
 M. Bouchoucha, S. Seghour, H. Osmani, and M. Bouri, “Integralbackstepping for tracking of a System,” Electronics and Electrical Engineering, vol. 116, no. 10, pp. 75–80, 2011. View at: Publisher Site  Google Scholar
 J. J. Xiong and E. H. Zheng, “Position and attitude tracking control for a quadrotor UAV,” ISA Transactions, vol. 53, no. 3, pp. 725–731, 2014. View at: Publisher Site  Google Scholar
 N. P. Hung, N. V. Hien, P. G. Diem et al., “Research on, design and manufacture a microunmanned aerial flying autonomously at desired trajectories,” Tech. Rep., final report of research project, code: KC03.TN03/1115, Hanoi University of Science and Technology, Hanoi, Vietnam, 2013. View at: Google Scholar
 N. V. Hien, L. T. Thai, V. T. Truong, P. G. Diem et al., “Research, design and manufacture control systems with the integration of objectoriented technology (MDA & RealTime UML) and navigation units (INS/GPS) for autonomous underwater vehicles,” Tech. Rep., final report of research project, funded by the state, code: KC03.TN05/1115; Hanoi University of Science and Technology, Hanoi, Vietnam, 2013. View at: Google Scholar
 IBM, “IBM rational software and training kit,” January 2020, https://my15.digitalexperience.ibm.com/b73a5759c6a64033ab6bd9d4f9a6d65b/dxsites/151914d103d248fe97d9d21166848e65/academic/home. View at: Google Scholar
 L. P. Carloni, R. Passerone, A. Pinto, and A. L. SangiovanniVincentelli, Languages and Tools for Hybrid Systems Design, now Publishers Inc., Boston, MA, USA, 2006.
 Papyrus, “Eclipse Papyrus for RealTime ("PapyrusRT"),” February 2020, https://projects.eclipse.org/projects/polarsys. View at: Google Scholar
 P. Fritzson, Principles of Object Oriented Modeling and Simulation with Modelica 3.3: A CyberPhysical Approach, Wiley & Sons, USA, 2011. View at: Publisher Site
 E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable ObjectOriented Software, AddisonWesley, Oxford, UK, 1995.
 B. P. Douglass, Design Patterns for Embedded Systems in C  An Embedded Software Engineering Toolkit, Elsevier, Oxford, UK, 1st edition, 2011.
Copyright
Copyright © 2020 Ngo Van Hien et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.