<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\documentclass{article}

\usepackage[utf8]{inputenc}

\usepackage[english]{babel}
\usepackage{biblatex}
\addbibresource{mine.bib}
\usepackage{graphicx}
\graphicspath{{./figures/}}
\usepackage{listings}
\usepackage{float}

\title{A deep domain-specific model framework for self-reproducing robots control system}
\author{Wanqi Zhao}
\date{\today}

\begin{document}
\maketitle

\begin{abstract}
As robots play more and more important roles in diverse and complex scenarios in the real world, especially in remote cases, monomorphic robots can just be applied for duplicated and manageable tasks, and more research turn to compose multiple robots automatically to achieve more robust, flexible and scalable systems. In this paper, we propose a deep domain-specific model framework for the multi-robot system to escort reliable co-working tasks of diverse robots. We introduce the assemble and reconstruct proceed with a series of robots that are self-control and communicable to provide individual control modules and constraints between separate layers.
\end{abstract}

% \begin{keyword}
% Deep Model; Domain-specific languages; Multi-robot control system;
% \end{keyword}

\section{Introduction}
In modern software engineering, the application of a disciplined and robust system development is a big challenge. Much research consecrates to cope with the challenges of turning abstract requirements into concrete programs regularly. As current platforms and languages have limitations, especially in robotics, the diversity of hardware, demand, and agents increase the toughness of reuse codes in substantive development.  Model-driven software engineering (MDSE) has been proven as a reliable method to solve several vexing problems in software development, such as the integration of large-scale and platform-independent systems, embedded control systems and real-time systems development. 

For worldwide robotics software development research, one of the central deficiencies is the lack of architectural design that can afford the increasing, strict and even partially conflicting variegated requirements. More concretely, the request of robotic software systems are \cite{Frigerio1} \cite{Schlegel}:
\begin{itemize}
    \item Flexible and dependable control: often robotic systems have multiple and context-dependent goals, it requires the control system should have the ability to regulate robots' state, trajectory track and task process, etc. And the control system should be robust to adapt to the changes in conditioned sensors and components. 
    \item Real-time ability: some components of the program must have the capability to execute and update in real-time like network topology, robot status, mapping, task planning, force control loop, etc.
    \item Generation and integration of components: most robotic systems are developed for the specific domains(technical application domains) and the separation of appropriate components has a positive impact on recurring developments. The generation and integration of components include hardware parts(the virtual components for plug-in/plug-out sensors, joysticks, control modules, etc.) and software parts(navigation, localization, obstacles detection, mapping, etc.) is desired.
    \item Debug and safety of systems: generally the components of robotic systems are independent, distributed and abstract, this improves the difficulties of debugging especially to evaluate the constraints and relationships between components. Debugging is an important request for building a high-level robust software system. As more co-working scenarios of humans and robots, the safety problem should be valued as well.
    \item Constraints and context of the environment: as more and more utilization scenarios in robotic systems, robotic applications are not limited to unique and indoor environments and the research of robotics should face and meet the requirements of more real-world scenes like aviation, deep sea, etc. 
\end{itemize}
For self-replicating robots, except the requirements we mentioned before, the system should also have abilities to solve logic in task assignments, status updates of robots during moving, multi-robot coordination, and discrete or continuous communication, etc. In this paper, we discuss how to use model-driven software engineering (MDSE) to assemble, disassemble, reconstruct and control robot modules in the self-replicating system. Section 2 describes the definition and improvement of self-reproducing robots and the challenges we face. Section 3 describes the deep model and domain specific language(DSL) theory in robotics, which is the foundation of architecture in this paper. Section 4 describes the detail design of the system. Section 5 introduces some related research and what we will do in the future.

\section{Self-reproducing robots}
The concept of self-reproducing can be tracked over 60 years ago that was proposed by John von Neumann \cite{Schwartz1967TheoryOS} and he presented a theoretical perspective of automata theory in self-reproducing machines. He donated the logical design of self-reproducing cellular automaton that provides connection between natural organisms and computers. With more manufacture design to achieve self-reproducing robots such as \cite{Chirikjian2002}\cite{Jorgensen2005}\cite{Tuci2006} and automatic algorithms for navigation and transmutation such as \cite{Kaloutsakis2011}\cite{Suthakorn2003}, self-reproducing robots are not just generalization and utopian thoughts. Software is vital nexus in task assignments \cite{Gerkey2004}, distributed locomotion \cite{Butler2003}, genetic generation \cite{Menezes2012}, and multi-robot coordination transformation \cite{Yan2013}. Because of the booming of other areas such as new materials \cite{Polygerinos2015ModelingOS} and 3D printing \cite{Ellery2016}, self-reproducing robots have more organizations. The integration, constraints, and hierarchies of diverse code modules become an issue that is worth considering in software engineering structure. 

In \cite{Suthakorn2003-1} they divided self-reproducing robots into two primary categories: \textit{Directly reproducing} and \textit{Indirectly reproducing} robots. Directly reproducing means the robots can produce a replica of itself in one generation. For directly reproducing, each robot should have one or several basic abilities such as communication, mobility, and electricity and so on or depend on external passive fixtures. Indirectly reproducing means several automatic work cells that are composed of several independent robots or a group of co-working robots to manufacture replicas of robots. 

For modeling these two categories of self-reproducing robots, we define modules in groups:
\begin{itemize}
    \item Master robots: An entirely functional robot that can reproduce itself or other types of robots by assembling robot modules.
    \item Robot modules: A set of robot modules equipped to master robots to compose and reproduce themselves. These modules can include different resources such as sensors, emitter, and actuators or can be solid objects.
    \item Environments:A world model that can describe the confinement of working robots. The world model can provide additional information for the whole system.
    \item Robot work cells: in indirectly reproducing, robot work cells conclude one or more original robots to assist processes of producing and constructing.
\end{itemize}
    
% In \cite{Chirikjian2002TowardSR}


% In \cite{Gerkey2004} they proposed three axes describe the multi-task robots: \textit{Multi-robot tasks mean robots can execute several tasks simultaneously}, \textit{Multi-robot tasks mean various tasks need various robots}, \textit{Multi-robot tasks should consider Instantaneous assignment and Time-extended assignment}.


% \cite{Jones} concluded three design considerations of heterogeneous robots:
% \begin{enumerate}
%     \item 
% \end{enumerate}






\section{Deep domain-specific model in robotics}

Deep modeling is fundamentally originated for deep instantiation between hierarchies and domains of meta-models which has outside-hierarchy linguistic and ontological classifications. We usually use domain-specific language as abstract models to focus on behavioral concepts. These behavioral concepts have context and constraints with different layers. Deep modeling is based on these scenarios which can help us to separate concerns in case to pollute elements in the exact domain with fixed-level models. A deep model employs the notion called clabject which can be classes and objects at the same time. For multi-level modeling, elements need to have both inherent type and instance facet. To clear the instantiation of multi-levels in deep modeling, each clabject has a positive integer denominated "potency" to present how many following levels a clabject can be instantiated.
% how to use this in robotics

When it comes to robotic programming, for example, the concept of a robot described by codes should include types of robots like humanoid robots, mobile robots or robot arms, components of robots like wheels, legs or arms, references to other classes like sensors.  Figure \ref{fig:robot_model} shows a universal robotic system model,  there are three fundamental models we should consider to design a robotic system: \textit{Robot Model} includes static and dynamic properties of robots. The \textit{Robot Model} not only describes the compose of robots but also the transformation during the progress; The \textit{Environment Model} should consider all external constraints and accessorial information; The \textit{Control Model} represents the behavior robots can have with the limits of circumstances and features. Considering the reusability, extendibility, modularization concepts of DSMLs (Domain-Specific Modelling Languages), we should define generic methods instead of individual models as much as possible, but not to contaminate the elements, for example, all mobile robots have "move" function, but not all of them can "avoid obstacles" and components to be used in "move" action can be "legs" or "wheels". 

\begin{figure}[h]
    \centering
    \includegraphics[width=\textwidth]{figures/Robot_model_new.png}
    \caption{Universal robotic system model}
    \label{fig:robot_model}
\end{figure}

With model build in \cite{Atkinson2014}, they defined \emph{Robot Modelling Language Types}, \emph{Robot Modelling Language},
 \emph{Robot Behavior Model} and \emph{Behavior Enactment Model} levels between linguistic Meta-model 
 and real-world to instantiate a robotic entity in deep modeling. For the specific robot and task, 
 it is easy to build a static model without taking the task sequences and execution time into account. Self-reproducing robots are endowed with more comprehensive missions. We will expand the model to represent the self-reproducing robots system in section 4.



\section{Deep model design for self-reproducing robots}
Figure \ref{fig:deep_model} shows an illustration of the traditional three linguistic levels in orthogonal classification architecture (OCA) \cite{Atkinson2009AFI}, which is composed of three linguistic classification levels, L2 - L0. From left to right, the L2 level is the linguistic metamodel that defines the abstract syntax of the model structure. The middle column, level L1 illustrates the ontological domain models that can achieve deep instantiation by the concept of \textit{potency}. The L0 level represents the entities and concepts in the real world. The domain-specific modeling language in the middle level is to provide concrete syntax of clabjects at Robot System Modeling Language Types, which standardize the textual definition of the framework. Further, it specifies other domain models, such as the semantics to describe models in \textit{Robot System Modeling Language}, the features to model robots in \textit{Robot Modeling}, the self-reproducing progresses in \textit{Process Modeling}, and state transition in \textit{Specific State Modeling}.

% whole architecture of design
\begin{figure}[H]
    \centering
    \includegraphics[height=9cm,width=\textwidth]{figures/Deep_Model_Design.png}
    \caption{An overview of the deep model modelling framework for self-reproducing robots}
    \label{fig:deep_model}
\end{figure}

\subsection{Robot System Modeling Language Types}
The Robot System Modeling Language Types (RSMLT) model is the fundamental epitome of the whole self-reproducing robotic system model concept.  It comprises not only the entities in the model like robots and components but also precise processes and states.  These types are the foundation of the robotic programming language that gives a full range of robotic models. We propose seven types in RSMLT: RobotSystemType, ProcessType, BehaviorType, StateType, ComponentType, RobotType, EnvironmentType as we show in Figure \ref{fig:RobotTypes}. 

\begin{figure}[H]
    \centering
    \includegraphics[scale=0.5]{figures/RobotSystemType.png}
    \caption{Robot System Modeling Language Types}
    \label{fig:RobotTypes}
\end{figure}

\begin{itemize}
    \item RobotSystemType:
\end{itemize}

\subsection{Robot System Modeling Language}
The Robot System Modeling Language is to instantiate a cluster of robot models that compose the robot system, initial the environment for the robot system, including the information and criterion, stipulate hierarchies of robots with processes. 
\subsection{Robot Modeling}
Robot Modeling is an explicit model of robots that instantiated from the last Robot System Modeling level. Robot Modeling defines features of robots that serve a series of actions in robotic system control. 
\subsection{Process Modeling}
Process modeling encompasses a set of established behaviors of multiple robots that are defined in the last Robot Modeling level. During self-reproducing workflows, robots should "follow the steps" or "make decisions" when they face various scenarios and Robot Modeling boundary what kind of actions robots can execute. Further, Process Modeling can support the robot system to choose suitable robots to run appropriate activities. 
\subsection{Specific State Modeling}
The hierarchies and synchronizing in the robotic control system is the main subject that should be considered in programming. Finite state machines can ensure the functioning of operations by a limited number of states and outputs on state transitions after receiving inputs \cite{Lee1996PrinciplesAM}. Thus, we define state modeling to guarantee the reliability of processed propagation. 


\section{Related work}
% In \cite{Frigerio} they defined a DSL to calculate the transformation in robotic system.
\section{Conclusion and Future work}
After the theory of self-reproducing robots emerged, more and more research about hardware and manufacturing applications have been proposed and achieved. However, most study weakens the role of software architecture plays in robotic control systems.  It is essential to model robotic programming for reuse and integration of robot components considering the constraints and context of the environment.  In this paper, we have presented a deep-domain specific model framework to provide an efficient, extensive, and flexible prototype for support of general utilization. Furthermore, it builds comprehensive models and concrete syntaxes to characterize the single-robot and multi-robot systems. In the future, we will implement more synthesized models to assist the whole formation better, such as algorithms behind processes, state transition, and system optimization. 


\printbibliography


\end{document}</pre></body></html>