De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

El Proyecto de croquet es un proyecto de software que precedió croquet, y tenía la intención de promover el desarrollo continuado del croquet de código abierto kit de desarrollo de software para crear y ofrecer colaboración multiusuario en línea aplicaciones .

Implementado en Squeak Smalltalk , Croquet admite la comunicación, la colaboración , el intercambio de recursos y la computación sincrónica entre múltiples usuarios. Las aplicaciones creadas con el kit de desarrollo de software (SDK) de Croquet se pueden utilizar para admitir visualización de datos colaborativos altamente escalables, entornos de aprendizaje virtual y resolución de problemas, wikis 3D , entornos de juegos en línea (juegos de rol en línea multijugador masivo (MMORPG)) y de forma privada entornos virtuales multiusuario mantenidos o interconectados.

Un mayor desarrollo de la tecnología también se ha ramificado en los esfuerzos de Open Cobalt y Open Croquet. [3]

Funciones técnicas [ editar ]

Mapa 3D interactivo en tiempo real de este mismo mundo. Cambia algo en el mundo, el mapa cambia. Mueve algo en el mapa (como si fuera una pieza de ajedrez), el objeto en el mundo representado por él se mueve de la misma manera.

Croquet es un kit de desarrollo de software (SDK) que se utiliza en el desarrollo de aplicaciones colaborativas del mundo virtual .

Las aplicaciones creadas con el SDK de Croquet son automáticamente colaborativas, ya que los objetos de la aplicación en Croquet comparten un protocolo común que les permite cooperar entre sí empleando el principio de computación replicada (sincronización) junto con un protocolo de mensajería basado en pares. La tecnología está diseñada para facilitar dicha replicación entre pares, para reducir en gran medida la sobrecarga necesaria para la implementación generalizada de mundos virtuales colaborativos.

Esta eficiencia, combinada con la capacidad de implementar mundos virtuales basados ​​en Croquet en hardware de nivel de consumidor, hace posible que los desarrolladores implementen mundos colaborativos a gran escala y altamente participativos a un costo muy bajo en comparación con las tecnologías de mundo virtual que dependen completamente del servidor. -infraestructuras para apoyar las actividades de sus usuarios.

Máquina virtual [ editar ]

Agregar notas 3D vinculadas a objetos y lugares 3D

La máquina virtual (VM) de Croquet se ejecuta de manera idéntica en múltiples plataformas y admite múltiples habilidades que solo podrían ser proporcionadas por un verdadero lenguaje de envío de mensajes con destino tardío .

La relación de Croquet con Squeak le da a Croquet la propiedad de un sistema puramente orientado a objetos que permite una flexibilidad significativa en el diseño y la naturaleza de los protocolos y arquitecturas que se han desarrollado para el sistema.

Debido a esto, Croquet tiene la capacidad de seguir ejecutándose mientras se modifica y prueba el código, mientras se realizan cambios, una parte esencial de la capacidad de desarrollo colaborativo de Croquet. Los usuarios pueden cambiar el código que ejecuta el entorno mientras se ejecuta el entorno.

Croquet permite a los usuarios editar el código fuente del mundo 3D desde dentro del mundo y ver inmediatamente el resultado, mientras el mundo todavía está funcionando. No es necesario finalizar el programa en ejecución y no hay ningún bucle de desarrollo compilar-vincular-ejecutar-depurar. Se puede editar cualquier parte del programa, hasta las llamadas VM y OpenGL .

Arquitectura de sincronización [ editar ]

Las capacidades de sincronización basadas en el tiempo de Croquet permiten interacciones idénticas en tiempo real entre grupos de usuarios al tiempo que reducen drásticamente la necesidad de infraestructuras de servidor para respaldar la implementación del mundo virtual. La arquitectura de Croquet facilita el desarrollo de aplicaciones profundamente colaborativas sin tener que dedicar mucho esfuerzo y experiencia a comprender cómo funcionan las aplicaciones replicadas.

TeaTime es una arquitectura multiusuario escalable en tiempo real que es la base para la comunicación y sincronización objeto-objeto de Croquet. Está diseñado para admitir aplicaciones multiusuario que se pueden escalar a cantidades masivas de usuarios que interactúan simultáneamente en un espacio virtual compartido. La parte más directamente visible de esta arquitectura es la clase TObject que se utiliza para definir y construir objetos Tea en subclases. Todos los objetos interesantes dentro de Croquet se construyen a partir de subclases de TObject.

Un objeto Tea actúa con la propiedad de que los mensajes que se le envían se redirigen a copias replicadas de sí mismo en las máquinas participantes de otros usuarios en una red de igual a igual . Este protocolo de mensajería admite un compromiso distribuido coordinado de dos fasesque se utiliza para controlar la progresión de los cálculos en los sitios de los usuarios participantes. De esta manera, los mensajes se pueden redirigir dinámicamente a un gran número de usuarios mientras se mantiene la programación adecuada basada en la fecha límite. Por lo tanto, TeaTime está diseñado para permitir una gran capacidad de adaptación y resiliencia y funciona con un conjunto heterogéneo de recursos. Es un marco de abstracción que funciona en una variedad de implementaciones y que puede evolucionar y ajustarse con el tiempo, tanto dentro de una aplicación como entre aplicaciones.

Los elementos clave de la arquitectura de sincronización TeaTime incluyen:

  • Una base de tiempo universal coordinada incorporada en el protocolo de comunicación
  • Objetos replicados y versionados que unifican el cálculo replicado y la distribución de resultados.
  • Estrategias de replicación que separan los mecanismos de replicación de la semántica conductual de los objetos.
  • Programación basada en fechas límite extendida con fallas y anidamiento
  • Compromiso coordinado y distribuido en dos fases que se utiliza para controlar el progreso de los cálculos en varios sitios, para proporcionar resistencia, resultados deterministas y adaptación a los recursos disponibles.
  • Utiliza conjuntos distribuidos
Avatar de croquet con portal de estructura metálica, eToy y espejo

Terf inmersivo [ editar ]

Los autores originales de Croquet abrieron una empresa comercial llamada Qwaq, que luego pasó a llamarse Teleplace. Esa tecnología se vendió más tarde a un grupo de desarrolladores originales de Croquet y se convirtió en Immersive Terf. [4] [5]

Historia [ editar ]

Croquet es la confluencia de varias líneas de trabajo independientes que estaban llevando a cabo sus seis arquitectos principales, Alan Kay , David A. Smith . David P. Reed , Andreas Raab , Julian Lombardi y Mark McCahill . La identidad actual del proyecto tiene su origen en una conversación entre Smith y Kay en 1990, donde ambos expresaron su frustración con el estado de los sistemas operativos en ese momento.

En 1994 Smith construyó ICE, un prototipo funcional de un sistema colaborativo de dos usuarios que fue un predecesor del núcleo de lo que es hoy Croquet. También en 1994, el equipo de Mark McCahill en la Universidad de Minnesota desarrolló GopherVR , una interfaz de usuario 3D para Internet Gopher para explorar cómo las metáforas espaciales podrían usarse para organizar información y crear espacios sociales. En 1996, Julian Lombardi se acercó a Smith para explorar el desarrollo de interfaces colaborativas altamente extensibles para la WWW . Más tarde, en 1999, Smith construyó un sistema llamado OpenSpace, que fue una de las primerasvariante de Croquet. También en 1999, Lombardi comenzó a trabajar con Smith en implementaciones de prototipos de entornos colaborativos en línea altamente extensibles basados ​​en OpenSpace. Una de estas implementaciones fue una implementación prototipo de ViOS , una forma de organizar espacialmente todos los recursos que se pueden entregar por Internet (incluidas las páginas web) en un entorno 3D multiusuario de escala masiva.

Smith y Kay iniciaron oficialmente el Croquet Project a finales de 2001 y se les unieron inmediatamente David Reed y Andreas Raab. Reed aportó al proyecto su trabajo de larga data sobre arquitecturas de mensajería peer-to-peer escalables masivamente en una forma derivada de su tesis doctoral que se publicó en 1978. El primer código Croquet en funcionamiento se desarrolló en enero de 2002. Simultáneamente e independientemente, Lombardi y McCahill comenzó a colaborar en la definición e implementación de arquitecturas integradas en la empresa y altamente escalables para la colaboración de múltiples usuarios y Kay los invitó a unirse al grupo de arquitectura central en 2003.

De 2003 a 2006, la tecnología se desarrolló bajo el liderazgo de sus seis arquitectos principales con el apoyo financiero de Hewlett-Packard , Viewpoints Research Institute Inc., la Universidad de Wisconsin-Madison , la Universidad de Minnesota , el Instituto Nacional Japonés de Tecnología de la Comunicación (NICT ), y particulares. El 18 de abril de 2006, el proyecto lanzó una versión beta del Croquet SDK 1.0 en código abierto.. Desde entonces, la industria privada ha utilizado con éxito la infraestructura de la tecnología Croquet para construir e implementar aplicaciones colaborativas de código cerrado de grado comercial. Al mismo tiempo, se han desarrollado e implementado implementaciones de software de producción de código abierto para brindar espacios de trabajo virtuales seguros, interactivos, persistentes para la educación y la capacitación en la Universidad de Minnesota, la Universidad de Wisconsin – Madison, la Universidad de Columbia Británica y la Universidad de Duke. .

A partir de 2009 , el desarrollo continuo de la tecnología original de Croquet también se ha llevado a cabo a través de los proyectos Open Cobalt y Open Croquet. [3]

Edición de texto multiusuario y multilingüe en 3D
Hoja de cálculo de croquet

Aspectos singulares [ editar ]

  • Es independiente de la plataforma y el dispositivo.
  • Los usuarios y desarrolladores pueden compartir, modificar y ver libremente el código fuente de todo el sistema, debido a una licencia liberal
  • La tecnología no está alojada en el servidor de una organización y, por lo tanto, no se rige por ninguna de estas organizaciones.
  • Proporciona un lenguaje de programador profesional completo (Squeak Smalltalk), un entorno de desarrollo integrado (IDE) y una biblioteca de clases en cada copia distribuida y en ejecución del participante; el entorno de desarrollo de programación en sí mismo se puede compartir y ampliar simultáneamente
  • Los mundos basados ​​en croquet también se pueden actualizar mientras el sistema está activo y funcionando.

Ver también [ editar ]

  • Open Wonderland , un kit de herramientas 3D de código abierto basado en Java para crear mundos virtuales colaborativos
  • Motor irreal

Referencias [ editar ]

  1. ^ "Proyecto de croquet" . Consultado el 17 de febrero de 2021 .
  2. ^ "Inicio - Croquet SDK 0.4.0" . Consultado el 17 de febrero de 2021 .
  3. ↑ a b Suslov, Nikolay (2021-02-06), NikolaySuslov / croquet-squeak: Open Croquet for Squeak 5.x , recuperado 2021-02-18
  4. ^ Lugares virtuales para el trabajo real - 3dicc.com
  5. ^ "Teleplace desapareció; 3D ICC interviene para ayudar a los clientes" .
  • Documento introductorio ( copia en archive.org) que describe Croquet por David Smith y Alan Kay
  • Conferencia C5 y artículos relacionados
  • Los papeles de David P. Reed

Enlaces externos [ editar ]

  • Sitio web oficial [ enlace muerto permanente ] Croquet Consortium, (extinto)
  • Entrevista con Julian Lombardi en la reunión del grupo de trabajo de otoño de 2007 de la Coalición para la información en red.
  • Video de David Smith y Alan Kay realizado para una charla en Stanford (2003)
  • Video realizado para O'Reilly etech por David Smith y Alan Kay (dividido en bonitos trozos pequeños, también incluye la demostración completa de Squeak de Kay)