miércoles, 9 de septiembre de 2009

Smalltalks 2009 Tercera Conferencia de Smalltalk de Argentina

Del Jueves 19 al Sábado 21 de Noviembre del corriente año,
se llevará a cabo en la Facultad de Ciencias Exactas y Naturales (FCEN) de
la Universidad de Buenos Aires, la Tercera Conferencia de Smalltalk de Argentina,
denominada "Smalltalks 2009"

Todas aquellas personas que estén relacionadas con Smalltalk, sean
docentes, alumnos, investigadores, desarrolladores o empresarios, están
invitados a participar como oyentes o expositores de manera gratuita.
El sitio para inscribirse será anunciado en breve.

El objetivo de la conferencia es reunir a la comunidad Smalltalk Argentina e Internacional
para estrechar vínculos compartiendo trabajos,
experiencias y vivencias relacionadas con esta tecnología o temas afines.

Esta edición de la conferencia categorizará las presentaciones en "Industria y Desarrollo" e "Investigación y Educación", contará con un concurso de programación y nos visitará, nuevamente, gente reconocida de la comunidad Smalltalk internacional.

En la "Categoría de Investigación/Educación" se expondrán aquellos trabajos de
investigación y educación que se estén realizando o se hayan realizado con
Smalltalk, en ámbitos de universidades y establecimientos públicos o
privados.

En la "Categoría de Industria y Desarrollo" se expondrán trabajos relacionados a la
Creación de Software utilizando Smalltalk, por medio de empresas o personas, con fines comerciales o no.

Algunos temas sugeridos para las presentaciones, de manera no excluyente son:
* Herramientas de Desarrollo
* Desarrollo con Prototipos
* Model Driven Development
* Prácticas Ágiles (XP, TDD, etc)
* Desarrollos de Aplicaciones Web
* Meta-Modeling / Meta-Programación
* Nuevos Modelos o Frameworks implementados
* Material Educativo
* Sistemas Embebidos y Robótica
* SOA y Web services
* Reportes de Experiencias de Desarrollo o Investigación
* Sistemas comerciales
* Testing: Prácticas y automatización
* Interoperabilidad con otras tecnologías
* Best Practices de Diseño y Arquitectura

Aquellos interesados en exponer, deben tener en cuenta los siguientes
hitos y tareas:

1) Deben presentar un Resumen de la presentación a más tardar para el
Lunes 19 de Octubre de 2009. Dicho Resumen no debe superar una carilla
y debe incluir mínimamente una descripción del trabajo a presentar sin
omitir el objetivo del mismo y la categoría a la cuál pertenece la presentación.
El mecanismo de presentación del Resumen será anunciado en breve.

2) El Comité de Programa de la Conferencia definirá para el Lunes 26 de
Octubre aquellos trabajos que serán elegidos para ser presentados durante
la jornada a partir de los Resúmenes recibidos según lo especificado
en el punto anterior. Se dará mayor importancia a aquellos trabajos con
capacidad de mostrar ejemplos dinámicos y no únicamente presentaciones
estáticas.

3) Los trabajos y presentaciones realizadas serán publicadas en el sitio de la conferencia una vez finalizada la misma.

4) La definición del Cronograma de la Conferencia se publicará a través
de la página web el Miércoles 28 de Octubre.

Respecto del concurso de programación, todos aquellos que deseen participar pueden interiorisarse del mismo en el grupo smalltalks-2009-coding-contest@googlegroups.com
La intención del concurso es pasar un buen momento, disfrutar solucionando un problema en Smalltalk y ganar un premio como reconocimiento del trabajo realizado.
Estamos trabajando fuertemente para que todos puedan participar del mismo e iremos presentando ejemplos y prototipos que puedan ser tomados de ejemplo para desarrollar mejores soluciones.

Para información sobre cómo llegar a la FCEyN, pueden acceder al sitio del departamento de computación: http://dc.uba.ar
Por favor, difundan esta invitación en aquellas listas y grupos que consideren interesados.

Los esperamos a todos!
Comité Organizador de Smalltalks 2009

domingo, 19 de julio de 2009

Rumbo al gobierno digital con tecnologías libres

Chaco siempre apuesta a la modernización tal es el caso de la Historia Clínica Unificada que fue que en su momento de puesta en marcha fue único en su tipo en todo el país, permite que solo con el DNI del ciudadano el médico que lo atienda en cualquier hospital o centro de salud de la provincia pueda acceder a través de una computadora personal a su historia clínica, permitiendo en muchos casos conocer, por ejemplo, si es alérgico a algún medicamento o cuáles son sus afecciones preexistentes. Para dicho proyecto se incorporo un parque de 1000 pc de las cuales 800 tienen Linux (imaginasen lo que se ahorraron en licencias)
Ahora el gobierno del Chaco lanzo (hace poco más de 3 meses) un centro de gestión.
El objetivo del mismo es la concentración de las demandas e inquietudes de los ciudadanos en un solo espacio físico, a fin de agilizar los trámites y evitar los largos y tortuosos paseos que los ciudadanos deben realizar, muchas veces sin llegar a un resultado concreto, por cada una de las dependencias administrativas. El principal software empleado por el CG es el Pcmos Help Desk, funciona de la siguiente forma :
Cuando se recibe un requerimiento de un ciudadano, ya sea vía telefónica, chat, email o de forma presencial, el mismo es volcado en un ticket. En el caso de se pueda dar solución al requerimiento, el mismo es cerrado, caso contrario pasa a un estado de pendiente, para su posterior tratamiento.
Este software Open Source está desarrollado en la archiconocida dupla php/mysql .
http://pmoshelpdesk.sourceforge.net/
El centro de gestión se encuentra en M. T De Alvear 145 Planta Baja “B”
Teléfono: 0810 888 9222
www.chaco.gov.ar
Correo: cgc.info@chaco.gov.ar

miércoles, 18 de marzo de 2009

Seaside ,aunque no lo crean simplemente Seaside

Seaside es un framework libre(o sea gratis,si gratarola) y de codigo abierto para el desarrollo de aplicaciones web en Smalltalk,valga la redundancia este fremework esta escrito en Smalltalk y se distribuye bajo licencia MIT.
Seaside provee un conjuntos de capas de abstraccion(esto hace mucho mas facil la vida a cualquiera) por ensima de toda la complicacion que acarrrea el http y html permitiendo de esta manera desarrollar aplicaciones web de forma rapida y facil,ademas de permitir ahorrarnos dolores de cabeza con el tema del mantenimiento y reutilazacion.Con Seaside tenemos:
Generacion de html en forma programática:para esas cosas repetitivas que tenemos que hacer paginas por paginas(link,tablas formularios etc).
Links,forms y callbacks:nos permite pensar libremente en objetos y metodos sin atarnos a tipos de datos primitivos como lo son los strings u otros identificadores.
Componentes embebidos:Seaside permite construir interfaces de usuarios como si fuera un arbol de componentes de objetos individuales donde cada uno encapsula una pequeña parte de la pagina.
Modo de manejo de sesion:Seaside permite manejar un flujo complejo de trabajo de varias paginas con un solo metodo.Seaside permite el manejo de sesion de un usuario en una sola pieza de codigo.
pagina de Seaside:
http://www.seaside.st/
Una muy buena presentacion de Esteban Lorenzano



jueves, 26 de febrero de 2009

IBM presenta el libro Conociendo DB2 Express C

Este libro gratuito está destinado a todas aquellas personas que trabajan o tienen la intención de trabajar con bases de datos, como administradores de base de datos (DBAs), desarrolladores, consultores, arquitectos de software, gerentes de producto, docentes y estudiantes.


¡DESCARGUELO AHORA MISMO!
ftp://ftp.software.ibm.com/software/data/db2/express-c/wiki/Conociendo_DB2_Express_v9.5.pdf

jueves, 27 de noviembre de 2008

plc sobre linux



Esta info fue recopilada con la ayuda de Oscar Brites
Controlador lógico programable

Los PLC (Programmable Logic Controller en sus siglas en inglés) son dispositivos electrónicos muy usados en Automatización Industrial.
Su historia se remonta a finales de la década de 1960 cuando la industria buscó en las nuevas tecnologías electrónicas una solución más eficiente para reemplazar los sistemas de control basados en circuitos eléctricos con relés, interruptores y otros componentes comúnmente utilizados para el control de los sistemas de lógica combinacional.
Los PLC actuales pueden comunicarse con otros controladores y computadoras en redes de área local, y son una parte fundamental de los modernos sistemas de control distribuido.
Los PLC con forma de rack tienen módulos con procesadores y con módulos de E/S separados y opcionales, que pueden llegar a ocupar varios racks. Entre ellos podemos destacar:
· Entradas Digitales
· Salidas Digitales
· Entradas Analógicas
· Salidas Analógicas
· Módulos de Aplicación Específicas:
Reguladores PID
Enconders
Buses de campo. Comunicaciones industriales
Las docenas de líneas de productos de idéntica funcionalidad pero incompatibles entre ellos, limitan a los clientes a la solución propietaria de determinado vendedor.
PC Industriales
Son sistemas electrónicos constituidos por un computador de propósito general adecuadamente diseñado y montado para poder trabajar en un entorno de un proceso industrial continuo o discreto y soportar las condiciones ambientales adversas (polvo, temperaturas, interferencias electromagnéticas, vibraciones, etc.).

Sistemas Operativos de Tiempo Real
Es un sistema operativo que ha sido desarrollado para aplicaciones de tiempo real. Como tal, se le exige corrección en sus respuestas bajo ciertas restricciones de tiempo. Si no las respeta, se dirá que el sistema ha fallado. Para garantizar el comportamiento correcto en el tiempo requerido se necesita que el sistema sea predecible (determinista), algunas características son:
No utiliza mucha memoria
Cualquier evento en el soporte físico puede hacer que se ejecute una tarea
Multi-arquitectura (puertos de código para otro tipo de UCP)
Muchos tienen tiempos de respuesta predecibles para eventos electrónicos.

SOFT - PLC
La limitada utilización del PC industrial como un sistema de control de proceso está relaciona, en buena medida, con la tradicional resistencia al cambio, con cierta “fama” de inestabilidad de ciertos sistemas operativos del ámbito oficinista en el contexto empresarial y con la falta de conocimiento que el personal de automatización tiene de lenguajes de programación de alto nivel.
Para paliar este problema, algunos fabricantes proponen la combinación de un Sistema Operativo de Tiempo Real (RTOS) con programas Soft-PLC que emulan por software el comportamiento de un PLC. Este SOFT-PLC es una arquitectura abierta que respeta el estándar IEC 61131 – 3, dicho software permite transformar una PC, tanto industrial como común, en un PLC.

Generalidades del proyecto PLC Linux
Cuando hablamos de PLC en Linux, nos referimos típicamente al autómata entero: componentes de hardware, sistemas, y software de uso corriente. En general, el hardware consiste en una CPU, puertos de entrada/salida y algún dispositivo de entrada/salida analógico o digital directo.
El soporte lógico garantiza que, una vez corriendo, el PLC repite eternamente una secuencia de instrucciones de control (software de uso), que puede ser modificado en línea o fuera de ella por un sistema de programación al que está conectado. Desde el punto de vista del programador, un PLC tradicional es visto como un solo proceso que corre en la PC.
En el contexto que nos ocupa, destacamos la existencia de la versión en tiempo real denominada RTLinux. Este se sitúa entre el hardware y el propio sistema operativo, creando una máquina virtual para que Linux pueda seguir funcionando. RTLinux es el encargado de gestionar las interrupciones y del acceso al hardware.
Las tareas de tiempo real comparten el mismo espacio de memoria que el núcleo y se ejecutan con todos los privilegios; es decir, pueden ejecutar
cualquier instrucción del procesador y tienen acceso a las entradas/salidas. Las tareas tienen prioridades fijas y pueden hacerse periódicas, compartir recursos
mediante FIFOs o memoria compartida, sincronizarse etc, lo que representa una serie de capacidades típicas de los sistemas operativos de
tiempo real. De forma sucinta, podemos considerar que Linux es la tarea de más baja prioridad, que sólo se ejecutará cuando no haya una tarea de tiempo real preparada. De esta forma, podemos mantener todas las aplicaciones típicas de Linux en una capa superior. Implementación
En la primera versión, la aplicación se ejecuta desde la línea de comandos. El usuario introduce introduce la información acerca de los siguientes aspectos:
La configuración SW
La configuración HW
Los programas en la lista en la lista de instrucciones asociadas a cada tarea.
Las características de las tareas.
Esta información se almacena en un fichero de configuración, utilizado por el gestor de la aplicación. También se posibilita la edición directa de dicho fichero.
A partir de este fichero de configuración, el gestor comprueba la coherencia (por ejemplo, que no intentamos acceder a un bit de entrada que no está presente en el hardware escogido), y compila los programas asociados en lista de instrucciones. La salida son programas en código C que contienen las funciones a realizar dentro de cada ciclo de una tarea del autómata y el fichero necesario en el paso final de compilación habitual en Linux (Makefile). Este fichero Makefile hace referencia a una serie de ficheros patrón, predefinidos, así como a los ficheros específicos generados por el gestor.

Se ha decidido que el compilador de lista de instrucciones obtenga como salida directamente código C, de similar manera a como se ha realizado en casos precedentes encontrados en la literatura. Esta es la solución que proporciona una ejecución posterior más rápida. No obstante, uno de los ficheros intermedios de la compilación contiene códigos de operación y operandos, que podrían ser llevados a memoria e interpretados en tiempo de ejecución si se prefiere esta alternativa.
El programa final para RTLinux es en realidad un módulo insertable en el kernel de Linux. En el inicio del módulo se crean los hilos (cada uno asociado a una tarea periódica del autómata), se solicitan las interrupciones (tareas por eventos) y puertos de E/S dependiendo del hardware, y se asignan las zonas de memoria para los objetos del lenguaje (imagen de entrada/salida, memoria y bloques funcionales). Al terminar el módulo, se liberan todos los recursos.
Por ejemplo, la estructura de una tarea periódica, que se encuentra en un fichero patrón, es sencilla:


void *task1 (void *arg)
{
struct sched_param p;
p.sched_priority = 2;
pthread_setschedparam (pthread_self(), \
SCHED_FIFO, &p);
pthread_make_periodic_np (pthread_self(),\
gethrtime(), \
PERIOD1);
while (1)
{
pthread_wait_np ();
/* Read physical inputs */
update_input_image();
/* Execute user program */
do_plc_program[0]();
/* Set physical outputs */
update_output();
}

return 0;

}

La tarea se marca a sí misma como de prioridad 2 en este ejemplo, (en nuestra implementación, la tarea de menor periodo sería la más prioritaria), y con la
política del planificador SCHED_FIFO, la única posible en RTLinux. Después se hace periódica, con periodo denominado PERIOD1, a través de pthread_make_periodic_np, una función no definida en POSIX. Con pthread_wait_np, se suspende la ejecución del thread hasta el próximo periodo.
En cada periodo se ejecuta el clásico ciclo del autómata. Las funciones update_input_image y update_output dependen del hardware y están definidas en un fichero externo, realizado a priori. La primera actualiza la imagen de entradas, mientras que la segunda copia la imagen de las salidas en la salida física. El gestor de la aplicación las hará visibles a través del Makefile. La función do_plc_program[0] está definida en un fichero externo generado tras la compilación de los programas de lista de instrucciones, y es el que ejecutará realmente el programa introducido por el usuario, accediendo a la imagen de entradas, salidas, bits de memoria internos y bloques funcionales, cada uno con su espacio de memoria compartida. El Makefile generado por el gestor permite compilar todos los ficheros adecuados conjuntamente.
Una aplicación en Linux (baja prioridad) permite obtener información de las tareas, objetos del sistema (entradas, salidas, etc) a través de la memoria compartida, para realizar una supervisión del trabajo del autómata.
OpenPCS
El entorno de programación OpenPCS es un framework abierto basado en el Active Document Server Technology(una versión especial del active X controls).Esto permite una fácil integración con cualquier herramienta especifica de un fabricante(OEM)
OpenPCS es un producto, que sigue el concepto moderno de software de código abierto.
Se compra el software de Infoteam una vez y entonces se puede vender junto con el hardware de forma gratuita.
SmartPLC
El smartPlc es el runtime de OpenPCS, es un SoftPLC compatible con IEC 61131-3
Esta maquina vitual se ejecuta en UCODE, un codigo universal, independiente que emula un PLC. Dado que existe una amplia gama de distintos sistemas, el objetivo fue implementar un kernel runtime portable, el cual puede ser fácilmente adaptable a cualquier controlador y sistema operativo.Esta escrito en ANSI c,permitiendo de esta manera una alta portabilidad.
Corre en forma nativa para WinCE , MS C.NET y XP Embedded en procesadores de 8 a 64 bit.
Pero como esta escrito en ansi c ,puede correr en linux con pequeñas modificaciones.
CoDeSys
CoDeSys es un entorno de desarrollo para la programación de controladores conforme con el estándar industrial internacional IEC 61131-3. El término CoDeSys es un acrónimo y significa Sistema de Desarrollo de Controladores. Más 200 fabricantes de dispositivos de diferentes sectores industriales ofrecen sus dispositivos de automatización inteligente programable con la interfaz de programación CoDeSys. En consecuencia, miles de usuarios finales en todo el mundo emplean CoDeSys para su trabajo diario en todo tipo de tareas de automatización. Hoy en día, CoDeSys es la herramienta de desarrollo basada en IEC 61131-3 más extendida en Europa. Codesys sp run time system
El run time convierte cualquier sistema embebido o basado en pc en un dispositivo considerado por el estándar IEC 61131-3 como un PLC.
La aplicación del run time es realizada por el fabricante del dispositivo de automatización que es asistida por el 3S-Smart Software Solutions. El usuario final no participa en este proceso. Entre las familias de cpu que soportan al Codesy sp run time se encuentran:
Infineon SAB80C167 family
Infineon TriCore
ARM based CPU
Renesas SH 2/3/4
Motorola ColdFire
PowerPC
Intel 80186/80x86/Pentium x
MIPS
Analog Devices BlackFin
Altera NiosII
CoDeSys Automation Alliance (CAA)
La CoDeSys Automation Alliance (CAA) es una alianza internacional de fabricantes que ofrecen dispositivos de automatización programables con CoDeSys. El Principal objetivo de la CAA es ofrecer un conjunto de dispositivos para diferentes tareas industriales con un único instrumento de programación, CoDeSys. La plena interoperabilidad y el intercambio de datos a nivel de aplicación están garantizados por las empresas del CAA que se reúnen en talleres periódicos para seguir el proceso de normalización.

viernes, 21 de noviembre de 2008

quien usa Smalltalk?

Hola mi gente¡¡¡¡
Navegando el otro dia ,buscando informacion sobre soft-plc(de lo cual voy a publicar en este mismo canal) me encontre con una pagina muy buena
http://www.goodstart.com/whousessmalltalk.php?page=1
visitenla "asombro garantizado"