logo logo
Inicio arrow Blog
Wednesday, 19 de November de 2008
 
 
English English  Español Español  
Próximos Eventos
10.Jun. 2009

IWANN 2009
Salamanca, Spain
International Work-Conference on Artificial Neural Networks
11.Jun. 2009

Toward a Science of Consciousness
Hong Kong, China
15.Jun. 2009

International Workshop on Machine Consciousness
Hong Kong, China
15.Jun. 2009

The 8th IEEE International Conference on Cognitive Informatics
Hong Kong, China
22.Jun. 2009

IWINAC 2009
Santiago de Compostela, Spain
Work-Conference in the Interplay between Natural and Artificial Computation
Etiquetas
Análisis Artificial Associations Científicos Conciencia Consciencia Consciencia Artificial Conscientes Consciousness Howto Investigación Investigadores Microsoft Máquinas Publicaciones Researchers Reviews Robot Robotics Robots Servicios Studio artificial conciencia
Destacados
Titulares RSS
 Conscious Robots RSS FeedFuente RSS de Conscious Robots
Blog
Introducción a DSS (Decentralized Software Services) Imprimir E-Mail
Documentación en Español (Spanish Documentation)
escrito por Ana Santos y Raúl Arrabales   
Thursday, 31 de January de 2008

Robotics Studio DSS - Introducción a DSS (Decentralized Software Services)

Como ya se ha mencionado anteriormente, el DSS combina la arquitectura tradicional Web con partes de la arquitectura de Servicios de Web. La arquitectura resultante se basa en servicios para coordinar las aplicaciones distribuidas. A continuación se especifica qué es un servicio y cómo se usa.

Los servicios son los bloques básicos que se utilizan en MSRS para construir aplicaciones. Todos los servicios de MSRS están basados en el modelo de aplicación DSS. Una parte importante en el manejo de servicios son los nodos DSS. Un nodo DSS es un ambiente de ejecución que proporciona soporte a los servicios para ser creados y manejados hasta que se eliminan o el nodo DSS se para.

DSS Service Model
Modelo de Servicios DSS


El modelo de servicios DSS ha sido diseñado para facilitar el reutilización de los servicios, consiguiendo un manejo sencillo.  Los principales componentes de un servicio se describen a continuación:

  • Service Identifier (Identificador de Servicio): Proporciona identidad al servicio, dando opción a que otros servicios se puedan comunicar con él o incluso permitir a un navegador Web acceder a él.

  • Contract Identifier (Identificador de Contrato): Es una descripción (identificación única) de la funcionalidad que implementa el servicio, de modo que otros servicios puedan reutilizarlo.

  • Service State (Estado del Servicio): Contiene el estado del servicio en cualquier momento de la ejecución. Cualquier información que deba ser recuperada, modificada o supervisada de un servicio del DSS se debe expresar como parte de su estado.

  • Service Partners (Servicios Asociados): Son servicios especiales que interactúan con otros y que se encargan de que funcionen adecuadamente. Se declaran usando el atributo Partner.

  • Main Port (Puerto Principal): Es un puerto CCR donde llegan mensajes de otros servicios. Este puerto es un miembro privado de la clase Service y se identifica con el atributo ServicePort.

  • Service Handlers (Manejadores de Servicio): Registro de todas las operaciones DSS definidas sobre el puerto principal. Se definen utilizando el atributo ServiceHandlers.

 

 

 

 

 

 

 

 

 

 

Sea el primero en comentar el artículo | Add as favourites (64) | Cite este artículo en su sitio | Views: 2223 | E-Mail

Modificado el ( Saturday, 02 de February de 2008 )
Leer más...
 
1er Seminario Internacional sobre Nuevos Temas de la IA Imprimir E-Mail
Biologicaly Inspired AI
escrito por Raúl Arrabales Moreno   
Wednesday, 30 de January de 2008

1er Seminario Internacional sobre Nuevos Temas de la Inteligencia Artificial

(1st International Seminar on New Issues of Artificial Intelligence)

Departamento de Informática - Universidad Carlos III de Madrid

Image

 

 

Comentarios (1) | Add as favourites (109) | Cite este artículo en su sitio | Views: 1905 | E-Mail

Modificado el ( Wednesday, 30 de January de 2008 )
Leer más...
 
Introducción a CCR (Concurrency and Coordination Runtime) Imprimir E-Mail
Documentación en Español (Spanish Documentation)
escrito por Ana Santos y Raúl Arrabales   
Wednesday, 30 de January de 2008

Robotics Studio Introducción a C.C.R.: Concurrency and Coordination Runtime

Un aspecto muy importante en el desarrollo de una aplicación de control para un robot es la coordinación de múltiples tareas interactivas y simultáneas. Este paradigma se conoce como programación asíncrona y concurrente. Como se ha comentado anteriormente, MSRS utiliza las funciones definidas en el CCR para mitigar la complejidad de este tipo de entornos. El CCR ofrece un gran número de clases que permiten al programador expresar fácilmente diversos modelos de coordinación. Existen tres conceptos o componentes claves del CCR que merece la pena estudiar en detalle:

  • Los puertos (clases Port y PortSet).
  • Las primitivas de coordinación (clase Arbiter).
  • Las tareas y colas de ejecución (clases Dispatcher, DispatcherQueue y Task).

 

 

 

Sea el primero en comentar el artículo | Add as favourites (61) | Cite este artículo en su sitio | Views: 1622 | E-Mail

Modificado el ( Friday, 01 de February de 2008 )
Leer más...
 
Introducción a los Iteradores (Iterators) en C# 2.0 Imprimir E-Mail
Documentación en Español (Spanish Documentation)
escrito por Ana Santos y Raúl Arrabales   
Tuesday, 29 de January de 2008

Robotics Studio Introducción a los Iteradores (Iterators) en C# 2.0

Una característica novedosa del lenguaje C# 2.0 usada por CCR son los Iteradores (Iterators), que permiten que en lugar de usar delegados para conseguir el comportamiento asíncrono, el programador pueda reescribir el código de una manera secuencial, dejando que los Arbiters se centren en otras tareas.  Todo esto se puede programar en un único método “iterador”, mejorando la legibilidad del código y manteniendo el comportamiento asíncrono.

Vamos a poner un ejemplo para poder explicar la funcionalidad de los iteradores:


IEnumerator
<ITask> IteratorExample()
{
  int totalSum = 0;
  Port<int> portInt = new PortSet<int>();
  for (int i = 0; i < 10; i++)
  {
      portInt.Post(i);
      yield return Arbiter.Receive<int>(false, portInt,
            delegate(int j){totalSum += j;});
  }
  Console.WriteLine("Total:" + totalSum);
}

Para que las clases admitan la iteración es necesario que implementen el "modelo de enumerador", como podemos ver en el ejemplo (interfaz IEnumerator). Cabe destacar el uso de la palabra clave “yield return”, que permite al programa devolver inmediatamente el control a la instrucción que llamó al iterador, en este caso, un “for”. De forma que la suma (es decir el cuerpo del delegado) se ejecuta en paralelo. Esto se puede ver como una manera de conseguir programación asíncrona.

En el ejemplo anterior, cuando se ejecuta la línea que contiene yield return, devuelve una instancia de la interfaz ITask implementada por ReceirverTask, que ha sido creada cuando llamamos a Arbiter.Receive. El CCR activa la devolución de Task y también asocia el iterador con la tarea. Cuando se ha realizado la tarea, el iterador continúa con la ejecución. De hecho, si el primer parámetro en la llamada a Arbiter.Receive (la persistencia), no es “true”, el Arbiter no seguirá escuchando el puerto indicado.

Las ventajas de usar iteradores proviene de dos características del lenguaje C#:

- Métodos anónimos: permite a los programadores crear bloques de código que se pueden encapsular en un delegado para su posterior ejecución.

- El compilador captura todas las variables locales que actúan dentro del cuerpo del método anónimo. Esto permite que el delegado pueda usar las variables definidas en el método padre, y además pueda comunicar los resultados, ya que siempre está procesando otros hilos, de la iteración.


Información relacionada en: Como usar las nuevas características de C Sharp 2.0

Comparte tus dudas, comentarios o sugerencias en el Foro de Robotics Studio en Español.

 

Sea el primero en comentar el artículo | Add as favourites (71) | Cite este artículo en su sitio | Views: 1436 | E-Mail

Modificado el ( Friday, 01 de February de 2008 )
 
Entorno de Simulación Visual Imprimir E-Mail
Documentación en Español (Spanish Documentation)
escrito por Ana Santos y Raúl Arrabales   
Monday, 28 de January de 2008

Robotics Studio Entorno de Simulación Visual de Microsoft Robotics Studio

Uno de los mayores motivos por el que se creó MSRS era acelerar el desarrollo y adopción de la robótica. Gran parte de este esfuerzo está centrado en la simulación. Se ha diseñado una simulación con una alta fidelidad, escalabilidad y visualización, que permite a cualquier persona usarlo como si fuera un juego (ver Figura).

La simulación permite a los desarrolladores experimentar con robots nuevos incluso antes de construirlos físicamente. También se pueden desarrollar aplicaciones para robots existentes y luego probar los resultados en los robots físicos. Además, permite al programador eliminar fallos básicos que se podrán probar con antelación en el entorno virtual.

 Otra característica del simulador de MSRS es que se puede simular exactamente la misma aplicación que se ejecutará en el robot real. Pero la simulación tiene sus límites, ya que el mundo real es complejo y está lleno de imprevistos y de ruido.

Simulador Robotics Studio
Simulador de Robotics Studio

El entorno de simulación de MSRS está compuesto de varios módulos:

Simulation Engine Service: responsable del progreso del tiempo en el motor físico de la simulación.

Managed Physics Engine Wrapper: abstrae al programador del nivel bajo del motor físico.

Native Physics Engine Library: permite la aceleración del hardware a través de AGEIA PhysX Technology.

Entities: representa el hardware y los objetos físicos en el mundo simulado. Un gran número de entidades están definidas en MSRS y permiten al usuario crear rápidamente un entorno de simulación.

 

Sea el primero en comentar el artículo | Add as favourites (71) | Cite este artículo en su sitio | Views: 1838 | E-Mail

 
<< Inicio < Anterior 1 2 3 4 5 6 7 8 9 10 Siguiente > Final >>

Resultados 41 - 45 de 187





¿Recuperar contraseña?
¿Quieres registrarte? Hazlo aquí
Categorías
Mensajes en el Foro
 
Top!
Advertising links: Rent Games - Loans - Loan - Credit Counseling
Top!