.. _G: Glossary -------- .. note:: Glossary is closely linked to the ontology developed by the consortium in order to support the definition of the :term:`RobotML` :term:`DSL`\ . The reader willing to know more about this subject is to follow `http://www.anr-proteus.fr/?q=node/111 `_ .. glossary:: Acceleo **Acceleo** is the tool used in the :term:`RobotML` platform to implement generators towards simulator and robotic middle-ware frameworks. More information can be found on `Acceleo website `_\ . Algorithm An algorithm is a recette describing elementary behaviour of module that can be found in robotic systems (see `wikipedia `_ for more information) Application It is a computing entity able to work upon a hardware that provides computing capabilities. It is also a computing entity capable of providing life to another software. At the bottom level, it is the OS of the computer. ANR **ANR** stands for **A**\ gence **N**\ ationale de la **R**\ echerche. More information can be found on `ANR website `_ ATHENA **ATHENA** is a language associated with generators to go towards specific simulator code. It was developed thanks to an open consortium during its infancy but in its later flavour is totally owned by Dassault Aviation and used in collaborative project to help integrate development of diverse contributors into a unique application (as an example do consider `http://www.pegase-project.eu `_\ ). ARROCAM ARROCAM is one of the existing Robotic middle-ware target that exists for the :term:`RobotML` JUNO flavour. This middle-ware is developped by EFFIDENCE company. More information is available following `www.effidence.com `_ blender BLENDER **BLENDER** is an open-source tool trying to provide the capabilities to model and animate 3D objects. It is very powerful and can be compared to existing 3D modeller such as `MAYA `_ . More information on the `BLENDER website `_ BRICS **BRICS** stands for **B**\ est p\ **R**\ actice in robot \ **ICS***\ . It is an European project which goals are overlapping PROTEUS project. More information can be found followin `http://www.best-of-robotics.org/ `_\ ) Cycab-Tk Cycab-Tk is one of the existing Environment simulator target that exists for the :term:`RobotML` JUNO flavour. This middle-ware is developped by a community under :term:`INRIA` direction. More information is available following `gforge.inria.fr/projects/cycabtk/ `_ developper The **developper** is someone intervening on the :term:`RobotML` platfrom development and thus that interacts with the development's repositories. DEVS **DEVS** stands for **D**\ iscrete **EV**\ vent system **S**\ pecification. It is a mathematical approach of how to model system and to simulate them. More information can be found on `DEVS wikipedia webpage `_ DSL **DSL** stands for **D**\ omain **S**\ pecific **L**\ anguage. Quotation from wikipedia: *It is a programming language or specification language dedicated to a particular problem domain, a particular problem representation technique, and/or a particular solution technique.* More information can be found following `http://en.wikipedia.org/wiki/Domain-specific_language `_ ECLIPSE **ECLIPSE** is the platform on which the :term:`RobotML` tooling was built. More information on it can be found on `eclipse project website `_\ . EMF **EMF** (**E**\ clipse **M**\ odeling **F**\ ramework) is an Eclipse-based modeling framework and code generation facility for building tools and other applications based on a structured data model. EPL **EPL** (**E**\ clipse **P**\ ublic **L**\ icense) is an open source software license used by the `Eclipse Foundation `_ for its software. EUROP / EURON `EUROP / EURON `_ stands for EUROpean Platform / EUropean RObotics Network. git **git** is a distributed revision control and source code management (SCM) system. GDR Robotique **GDR** stands for **G**\ roupement **De**\ **R**\ echerche. It is a community backed up by the French research group CNRS that groups the different laboratories concerned by Robotic research topics. It is associated to a club grouping interested Industrial partners. A `Portal `_ exists that allows interested readers to access this community. INRIA inria **INRIA** stands for **I**\ nstitut **N**\ ational de **R**\ echerche en **I**\ nformatique et en **A**\ utomatique. It is a French research organism that focussed primly on STIC. More information on its `website `_ . LAAS `LAAS `_ stands for **L**\ aboratoire d'**A**\ nalyse et d'**A**\ rchitecture des **S**\ ystèmes. It is the biggest French CNRS team and in the scope of :term:`RobotML` is supporting the :term:`MORSE` environment simulator. LIRMM `LIRMM `_ stands for **L**\ aboratoire d'\ **I**\ nformatique, de **R**\ obotique et de **M**\ icroelectronique de **M**\ ontpellier MARTE **MARTE** (**M**\ odeling and **A**\ nalysis of **R**\ eal **T**\ ime and **E**\ mbedded systems) is the :term:`OMG` standard for modeling real-time and embedded applications with UML2. MBD **MBD** (**M**\ odel-**B**\ ased **D**\ esign) is a mathematical and visual method of addressing problems associated with designing complex control, signal processing and communication systems. It is used in many motion control, industrial equipment, aerospace, and automotive applications. Model-based design is a methodology applied in designing embedded software. MDA **MDA** (**M**\ odel-**D**\ riven **A**\ rchitecture) is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model-driven architecture is a kind of domain engineering, and supports model-driven engineering of software systems. It was launched by the Object Management Group (:term:`OMG`) in 2001. middleware A middleware is a piece of software allowing its user to ignore complexities of the underlying software and / or hardware structure. As an example, robotic middleware try to promote a view where sensors and effectors are not to be programmed anymore but to be configured using the same methodology (see :term:`OROCOS` or :term:`RTMaps`) model A model provides an abstract view of the situation someone wants to convey to another person. This view if embodied using a Domain Specific Language can be used for other purposes such as documentation, generation of elements able to insert in a software application and so on and so forth module A **module** in our context is exclusively, as delivered from a portal, software. MORSE It is an add-on of the :term:`BLENDER` 3D modelling environment that allows to simulate Physical environment and physical objects deplyed into it. As an example, It is what create sensible information to the different sensors. OMG **OMG** (**O**\ bject **M**\ anagement **G**\ roup) is an international, open membership, not-for-profit computer industry standards consortium. :term:`OMG` Task Forces develop enterprise integration standards for a wide range of technologies and an even wider range of industries. :term:`OMG`'s modeling standards enable powerful visual design, execution and maintenance of software and other processes. Originally aimed at standardizing distributed object-oriented systems, the company now focuses on modeling (programs, systems and business processes) and model-based standards. OROCOS It stands for **O**\ pen **RO**\ bot **CO**\ ntrol **S**\ oftware. It is a component based architecture and its goal is to allow clear separation of behaviour implementation and architecture concerns. Another goal is to provide standard behaviour components for decision issues. More information can be found on `OROCOS website `_\ . OS **OS** stands for **O**\ perating **S**\ ystem. It is the software that makes everything run on a computer PAPYRUS Papyrus **Papyrus** is the toolset on which the :term:`RobotML` language has been based. More information can be found on `papyrus website `_\ . portal The portal is the commonplace where the robotic community will be able to upload and download data PRISME `PRISME `_ stands for institut **P**\ luridisciplaire de **R**\ echerche en **I**\ ngenierie des **S**\ ystemes **M**\ ecanique, **E**\ nergetique de Bourges problem A *problem* is 1. the definition of the architecture of one or more robots and their environment (in our case, using the proteus main tool); 2. the definition inside the robot(s) architecture of one or multiple components in which it is necessary to develop *solutions*; 3. the definition of *probes* that allow *simulation* exploitation; 4. the definition of the *metrics* and their associated validity domain in order to measure the *solution* quality and compare it to other *solutions*. provider A provider is someone able to connect to the :term:`portal` in order to upload to it the elements he/she can provide PROTEUS It is the project that allowed the creation of all the data, tools, resources described by this documentation. **PROTEUS** stands for **P**\ latform for **RO**\ botic modelling and **T**\ ransformations for **E**\ nd-**U**\ sers and **S**\ cientific communities (There is also a french reading of this acronym: **P**\ lateforme pour la **R**\ obotique **O**\ rganisant les **T**\ ransferts **E**\ ntre **U**\ tilisateurs et **S**\ cientifiques). More information are to be found on `PROTEUS website `_. RCP it stands for *R*\ ich *C*\ lient *P*\ latform. It is the tool used in order to create the :term:`RobotML` platform. RIM **RIM** stands for **R**\ obot **I**\ ndependant **M**\ odel. It is an attempt to create a repository of robotic architectures not linked to any particular robotic system and which, used in conjunction with :term:`RobotML` platform, may allow their user to share knowledge among the robotic community. RIM is specifically linked to a dedicated :term:`portal` that can be accessed through the `RIM portal link `_ robot **Robot** definition is of ambiguous nature. Considering its wikipedia embodiement: *A robot is usually an electro-mechanical machine that is guided by a program or circuitry. Robots can be autonomous, semi-autonomous or remotely controlled and range from humanoids such as ASIMO and TOPIO to Nano robots, 'swarm' robots, and industrial robots*\ . It is a definition large enough to include aircraft, cars, mobile aspirators, etc. Considering the context, we will stick to this definition not emphasising humanoïd robots. RobotML it stands for **Robot Modelling Language**. It is the Domain Specific Language that was developped during the PROTEUS project to allow Robotic community to create abstract views of robotic problems, solutions, etc. RobotML-sdk it stands for :term:`RobotML` **s**\ oftware **d**\ evelopment **t**\ oolkit. It is the set of tools associated with the RobotML platform in order to allow generation towards different simulators / robotic middlewares targets. This sdk is supported for the time being only on UBUNTU12.04. For more detail consult :ref:`the page dedicated to the sdk installation `\ . ROS `ROS `_ stands for Robot Operation System. its goal is to provide a standard framework allowing to make modules into application. In the :term:`RobotML` platform context it has been chosen as the default communication bus. RTMaps `RTMaps `_ stands for **R**\ eal-**T**\ ime **M**\ ultimodal **AP**\ plication\ **S**\ . It is in its 4th flavour and is an asynchronous high performance platform designed to face and win multisensor challenges and to allow engineers and researchers to take an advantage of an efficient and easy-to-use framework for fast and robust developments. simulator It is an application that in RobotML-sdk context must be generated by the RobotML platform and that after a configuration phase is executed solution 1. In a *problem* context, A *solution* is an *algorithm* itself possibly integrating an *architecture* that allows during the execution of a *simulator* to extract values from the defined *metrics* that remains in their validity domain. 2. Subpart of interest in the software system of a robot. Its implementation is provided by a *Solution Provider*. scenario A **Scenario** is a context defined loosely where its reader will understand what are the elements she / he will find in the :term:`problems ` that will be derived from it. In order to provide a scenario, there are no obligations to provide formalised elements such as required by a :term:`problem`\ . Video, documents, pictures, etc that are sufficient to let those willing to use them to understand this context. It can be detailed in many details as well as only explaining the different actors or only goals. sensor Equipment that detects, measures, and/or records physical phenomena, and indicates objects and activities by means of energy or particles emitted, reflected, or modified by the objects and activities. SVN **SVN** stands for `SubVersioN `_\ . It is a Version Control software that allows developers to synchronise source code in a distributed fashion. In the context of :term:`RobotML` platform, there is on the :term:`portal` a SVN erver allowing :term:`user`\s to share their experiences Subclipse **Subclipse** is an Eclipse Team Provider plug-in providing support for Subversion within the Eclipse IDE. The software is released under the Eclipse Public License (:term:`EPL`) 1.0 open source license. SysML **SysML** (**S**\ ystems **M**\ odeling **L**\ anguage) is a general-purpose modeling language for systems engineering applications. It supports the specification, analysis, design, verification and validation of a broad range of systems and systems-of-systems. user A user is someone able to connect to the :term:`portal` in order to download from it the elements he/she would like to use namely the :term:`RobotML` platform VLE **VLE** stands for **V**\ irtual **L**\ aboratory **E**\ nvironment. It is an implementation of the :term:`DEVS` theory allowing its users to have a safe approach of their system models. More information can be found on `VLE website `_ UML **UML** (**U**\ nified **M**\ odeling **L**\ anguage) is a standardized (ISO/IEC 19501:2005), general-purpose modeling language in the field of software engineering. The Unified Modeling Language includes a set of graphic notation techniques to create visual models of object-oriented software-intensive systems Xtext **Xtext** allows to define syntax, grammar. It is the basis of source coloured editor (in the platform case it is useful for the :term:`ATHENA` code edition)