# SASE 2014 y la Computadora Industrial Abierta Argentina (CIAA)



## Ardogan (Ago 18, 2014)

Estimados, hago un copiar-pegar de mi última entrada de blog, aprovechando el alcance y prestigio del foro para difundir este tema:

* SASE 2014 y la CIAA *

   La semana pasada tuve la suerte de poder concurrir a este evento de 3  días que se desarrolla anualmente en la Facultad de Ingeniería de la  UBA.

Normalmente se dan charlas y workshops de un amplio rango de temas:  bioelectrónica, FPGA, microcontroladores con mucho énfasis en ARM; linux  embebido, android, WSN, etc, etc.
En el 2do piso hay stands de empresas proveedoras de componentes, equipos, servicios (manufactura PCB, ensamblado).
En el 1er piso hay proyectos estudiantiles de materias o proyectos  finales de carrera que participan en concursos donde se premian los  mejores proyectos.
En el sitio se puede encontrar el programa completo, y también ver material de años anteriores:
www.sase.com.ar

Pero este año hubo un tema que fue el corazón del evento y es la CIAA: Computadora Industrial Abierta Argentina.







Es un proyecto que está hecho a pulmón con colaboradores de la academia, la industria, y coordinado por el Laboratorio de Sistemas Embebidos LSE encabezado por el Dr. Ing. Ariel Lutenberg.

Para no extenderme en la descripción, que se puede encontrar en la página de la CIAA,  basta decir que es un PLC abierto que busca ser una plataforma de  desarrollo común para la industria nacional. Hay distintas versiones de  hardware basadas en micros de distintos fabricantes (NXP, Freescale,  etc), todo el desarrollo se realiza con herramientas libres: KiCAD para  el hardware, toolchain arm-none-eabi + openocd para el firmware, QT +  libboost + etc para el software.











No se trata de un proyecto gubernamental (si bien hay apoyo concreto  desde el INTI, ministerio de industria, etc), no dependen de que ninguna  institución pública o privada los financie, todo se realiza a través de  donaciones de empresas particulares para los componentes electrónicos,  manufactura de PCB, ensamblado; y lo más importante, gente que haga el  diseño de firmware, software y hardware.Son personas con experiencia en  hacer cosas reales (no se trata de un grupo de académicos escribiendo  papers), conocen de normas, procedimientos, necesidades de la industria,  etc.

Por mencionar un solo caso: Mariano Cerdeiro trabaja muy activamente en  el desarrollo de firmware y tiene 10 años de experiencia en la industria  automotriz Alemana. Pone tiempo que le podría dedicar a su familia, o  para su propio disfrute en un proyecto que lo mantiene despierto hasta  altas horas, lidiando con la diferencia horaria de coordinar su trabajo  con gente de Argentina.
He asistido a casi todas sus charlas porque ha mostrado un know how que  poco se ve por estos lares: desarrollo basado en unit testing, mocking,  integración contínua, uso estandar OSEK y Posix.
Y así también con otras personas que ponen un esfuerzo admirable: Pablo  Ridolfi, Gustavo Muro, Juan Cecconi, han dado charlas en el SASE y se  notaba que había pasión y orgullo del proyecto.

Ese fue un tópico que se abordó muy fuerte este año en el SASE: calidad  de diseño, verificación, metodologías, certificación, etc 

Pero que los videos anteriores no engañen, faltan personas y horas  hombre para hacer la mayor parte del trabajo, en software están recién  empezando, y en firmware hay mucho por hacer, si bien han logrado  avances significativos desarrollando el esqueleto del sistema.

*¿Podrá convertirse la CIAA en la plataforma industrial de nuestro país?*.
Yo *creo que sí*, por lo siguiente:
Es un proyecto que no nació del gobierno o de una facultad... ojo!!!  no estoy diciendo que eso en sí sea malo, sino que para que algo se  adopte y sea utilizado ampliamente es necesario que se involucren la  mayor cantidad de actores posibles: universidades, empresas, estado,  profesionales, estudiantes, aficionados...
¿Qué pasa con un proyecto solo de la universidad?: termina siendo académico, con poca o nula adopción en la industria.
Similarmente, con iniciativas unilaterales desde el estado, o desde una  empresa, o un individuo; terminan teniendo una visión y alcance  limitados.

Para el caso de la CIAA:


Se precisa que alguien lo desarrolle: ahí están las facultades y gente idónea de la industria.
Se precisa que alguien lo use: el proyecto tiene el patrocinio de  CAME y muchas industrias han mostrado interés activo en usarlo. Y el  motivo para adoptarla es claro: van a ahorrar dinero y van a poder  automatizar cosas que antes no podían por no contar con recursos para  comprar productos a precios internacionales o para mantener un  departamento de desarrollo propio.
Se precisa que haya gente capaz de hacer extensiones (ejemplo:  agregar un módulo M2M por red celular), personalización, y programación  del PLC: está el proyecto EDU-CIAA que es una versión barata para uso en  Universidades y escuelas secundarias. Va a haber gente capacitada que  pueda utilizarla en casos concretos.
Se precisan proveedores para manufactura de la CIAA: las empresas  locales han realizado donaciones proporcionando componentes, servicios  de manufactura, diseño y ensamblado de PCB. Eso ya elimina el temor a  estar ligado a un solo proveedor, o no tener proveedores locales. Hay 5  plataformas de hardware de distintos fabricantes: Fresscale, NXP, TI,  Atmel, PIC, Renesas.
Se precisa que el equipo cumpla con las certificaciones necesarias  para el ámbito industrial: el INTI está a disposición para todo tipo de  ensayos.
Se precisa que el desarrollo no esté sujeto a vaivenes financieros:  no pasará, porque todo el trabajo se realiza con donaciones de empresas y  voluntarios.
Se precisa soporte: más allá de los aportes concretos, hace falta  que haya una institución o ente que esté detrás para la continuidad a  largo término; cuando cambie el hardware, se adopten nuevos estandares,  etc. Y ese es el rol del LSE.
 En un momento tenía algo de tiempo para tratar de aportar algo al  desarrollo de firmware (ahora ya no lo tengo), pero me encontré con que  necesito aprender sobre mocking, unit testing, diseño en base a  requerimientos, posix, OSEK como sistema operativo... una serie de  cuestiones a las que uno no se enfrenta cuando trabaja en proyectos  pequeños o uni-personales.

Tampoco conozco con soltura el hardware (NXP) sobre el que están  trabajando ahora como para poder aportar un driver para el conversor  analógico digital por ejemplo...

De todas formas, voy a bajar el código y tratar de experimentar con esas  metodologías de trabajo, y quizás el día de mañana pueda hacer aportes  concretos en alguna plataforma de TI o ST, o para aplicaciones de bajo  consumo.
Mientras tanto puedo ir viendo todo el diseño y aprender de la CIAA para  mis propios proyectos, por eso no dudo que a futuro la CIAA volverá a  aparecer en nuevas entradas.

Solo queda felicitar a toda la gente detrás de la CIAA, y ojalá que más  gente se sume al desarrollo para lograr hacer un aporte al desarrollo  del país.

Enlaces:


Laboratorio de sistemas embebidos, Facultad de Ingeniería de la UBA: no dejen de ver los cursos dictados.
SASE: Simposio  Argentino de Sistemas Embebidos. Se pueden bajar las presentaciones de  la mayoría de las charlas y workshops de años anteriores.
Proyecto CIAA: interesante para ver un proyecto de desarrollo complejo, totalmente abierto, forma de trabajo, etc.


----------

