1
Creación de código Arduino para IoT con Acceleo
Pablo E. Mosquera1* Cesar Gallo, Kevin Marcillo
Departamento de Eléctica y Electrónica,1 Universidad de las Fuerzas Armadas ESPE, Sangolguı́,Ecuador
*
Autor principal/Corresponding author, e-mail: psmosquera@[Link]
In the following document, the concept of metamodeling is applied, using the Eclipse platform
Abstract :
with its Acceleo plugin, to create a model and a particular Arduino code.
Keywords—Acceleo, UML, Modelado. Metamodelado
Resumen: En el siguiente documento se aplica el concepto de metamodelado, utilizando la plataforma de
Eclipse con su plugin Acceleo, para crear un modelo y un codigo particular de Arduino.
Palabra Clave—Acceleo, UML, Modelado. Metamodelado.
I. I NTRODUCCI ÓN Arquitectura de cuatro Niveles
Acceleo es un lenguaje y un entorno de ejecución para generar M0. Nivel de datos del usuario o del mundo real: caracteriza
texto a partir de modelos y a través de la programación que este le los del mundo real que son manipulados por el software.
puede ofrecer al arduino podemos obtener una interconexión digital Utilizamos el término “objeto” en un sentido amplio para
entre objetos de uso cotidiano con internet. significar también “procesos”, “conceptos”, “estados”, etcétera.
M1. Nivel de modelo: caracteriza a los modelos que represen-
II. O BJETIVOS tan los datos del nivel M0.
M2. Nivel de metamodelo: caracteriza a metamodelos que
General describen los modelos del nivel M1, en este nivel se encuentra
el diagrama realizado en Eclipse.
Crear codigo para Arduino mediante metamodelado utilizando M3. Nivel de metametamodelo: caracteriza a los metametamo-
el plugin Eclipse, Acceleo. delos que describen los metamodelos del nivel M2.
Especı́ficos
Comprender el concepto de los distintos niveles de abstracción Lenguaje unificado de modelado (UML)
Comprender y aplicar UML Es el lenguaje de modelado de sistemas de software más co-
Desarrollar un ejemplo especı́fico para un circuito/instancia del nocido y utilizado en la actualidad; está respaldado por el Object
modelo. en particular. Management Group (OMG). Es un lenguaje gráfico para visualizar,
especificar, construir y documentar un sistema. UML ofrece un
III. M ARCO TE ÓRICO estándar para describir un ”plano”del sistema (modelo), incluyendo
aspectos conceptuales tales como procesos, funciones del sistema, y
IOT aspectos concretos como expresiones de lenguajes de programación,
esquemas de bases de datos y compuestos reciclados.
El internet de las cosas es un concepto que se refiere a una inter-
conexión digital de objetos cotidianos con internet. Alternativamente,
el internet de las cosas es la conexión de internet con más cosas u
objetos que con personas. IV. E STADO DEL A RTE
En el artı́culo “Evaluación de calidad en el desarrollo de software
dirigido por modelos”, de Viviana Esterkin y Claudia Pons, se
Acceleo explica al MDD como alternativa a los métodos convencionales de
Acceleo es un generador de código de fuente abierta de la producción de software, y la calidad que este debe poseer para que
Fundación Eclipse que permite a las personas utilizar un enfoque pueda ser implementado en plataformas virtuales, de igual manera en
basado en modelos para crear aplicaciones. Es una implementación la presentación “Transformaciones de modelo a texto con Acceleo”,
del estándar ”MOFM2T ”, del Object Management Group(OMG), Iván Ruiz Rube, explica caracterı́sticas esenciales que tiene la tras-
para realizar la transformación de modelo a texto. formación de modelo a texto con la herramienta Acceleo. Realizar
ducha transformación ayuda elevar el nivel de abstracción y de auto-
matización de los programas y con ello atacar el principal problema
Lenguajes de Metamodelado en la creación de software, el dominio de la complejidad, además
Para representar un metamodelo necesitamos un lenguaje que nos de permitir mejorar diferentes aspectos de la calidad del software
proporcione un conjunto de construcciones destinado a este fin. Estos como la productividad y el mantenimiento. El planteamiento de un
lenguajes se denominan lenguajes de metamodelado, y, sin duda, texto a partir de modelos como el de la presentación ya mencionada,
Ecore es el más utilizado en la actualidad, el cual es parte de la permite brindar a los estudiantes un medio para la comprensión de
arquitectura de metamodelado EMF que proporciona Eclipse para los principios de diseño e implementación de módulos de generación
crear entornos y herramientas destinados a aplicar MDE. de entornos útiles ya sea de páginas web, arduino, etc.
V. D ESARROLLO
Para comenzar a desarrollar es necesario tener instalada todas las
herramientas que nos ayudaran a trabajar a traves de la transformación
modelo a texto, y se da de la siguiente manera:
Se descarga el programa Eclipse ya configurado, este se
encuentra en la página del Ing. Darwin Alulema, sección de
descargas.
Fig. 4 Diagrama UML
Fig.1 Pagina Web donde se puede descargar Eclipse
Se descomprime la carpeta y se ejecuta el programa
Fig. 5 Tipos de Datos
Se relacionan los elementos acordes al proyecto y se agregan
atributos a cada uno, especificando el tipo de atributo.
Se genera el modelo para luego instanciarlo, es decir crear el
proyecto particular
Fig.6 Generación de Modelo
En la última instancia, el proyecto final, se crean los elementos
Fig.2 Ejecución de la carpeta descargada necesarios creados en el metamodelo, agregando los valores de
inicialización a cada atributo
Se cambia la ruta para el espacio de trabajo o workspace
Fig.3 Espacio de Trabajo
Fig.7 Creación de Elementos
Se crea un nuevo proyecto Ecore Modeling Project, el meta- Se genera y se estructura el código que se busca y mediante
modelo, Acorde a UML se crean todos los elementos que el Acceleo, se transforma este código a Codigo Arduino, el cual
proyecto pueda tener de manera general. será utilizado para implementar el proyecto final
Fig.8 Generación del Codigo
VI. C ONCLUSIONES
El diagrama creado en Eclipse resulta ser una abstracción de
la abstracción de nuestra instancia en particular
El metamodelado reduce enormemente la complejidad al pro-
gramador al momento de crear el código
Mediante el metamodelado se pueden crear varios modelos del
presente proyecto con cualquier número deseado de elementos.
VII. R ECOMENDACIONES
Es necesario tener un buen grado de conocimiento acerca del
desarrollo de software dirigido por modelos (MDD), ya que es
una ayuda para comenzar el con la estructura del programa,
ya sabiendo con qué parámetros debemos comenzar.
Debido al tamaño y a la complejidad del código es necesario
tener en cuenta que este debe hacerse de manera secuencial
y ordenada, es decir paso tras paso, de esta forma se podra
tener un grado de comprensión del proceso y será posible las
modificaciones o correcciones necesarias.
Al momento de generar el modelo a partir del diagrama
es recomendable fijarse en el concepto de prueba y error
para poder entender que atributos de cada objeto deberán ser
adecuados implementar en el código final.
A PARTACIONES
El programa suministrado al estar ya configurado tiene un
directorio particular de trabajo o ”workspace a definido, por
2
lo cual debe ser reconfigurado para cada usuario.
Ademas se explican los niveles de abstracción con su respec-
tiva etapa en el proceso de metamodelado.
R EFERENCIAS
[1] arcı́a Molina [Link] Felix O. Garcı́a Rubio , Desarrollo de Sot-
ware Dirigido por Modelos. Octava edición. México: Pearson,
2012.
[2] DM, “Architecture-Driven Modernization: Transforming the
enterprise”. [Link] 2007.
[3] Buttner,F. y Gogolla, M Realizing UML Metamodel Transfor-
mations with AGG”.Electronic Notes in Theoretical Computer
Science, 109(14), pp. 3142, 2004.