Desenvolvendo Aplicações Distribuídas em Cm

Cm é uma linguagem baseada em C, com extensões para permitir programação modular e orientada a objetos, oferecendo funcionalidade equivalente a C++. A versão distribuída de Cm, denominada Cm Distribuído, busca estender a linguagem com mecanismos de programação concorrente e distribuída. Basicamente, pretende-se com ela definir um modelo de programação baseado em objetos distribuídos, que podem residir em diferentes pontos de uma rede, interagindo transparentemente através de chamadas de métodos. Aplicações distribuídas são construídas pela criação e configuração de objetos espalhados por uma rede, servindo como unidades de abstração e distribuição de recursos. Para a transferência de massas de dados para outros objetos, arquivos e periféricos, a linguagem oferece portas de dados, que podem ser tipadas com qualquer tipo complexo especificado na linguagem. Objetos podem ter referências para outros objetos que podem, como as portas de dados, ser configuradas externamente, aumentando sua flexibilidade. Servidores multitarefa podem ser implementados por classes com facilidades de multi-threading, onde cada chamada de método causa a criação de uma nova thread; o controle de concorrência é feito pelo mecanismo de regiões críticas condicionais estendidas.

1997