Uso da técnica de mixins do paradigma orientado a objetos baseado em protótipos para a implementação das relações de subgrupos nos grupos cristalográficos do plano para geração da forma arquitetônica no desenvolvimento de um sistema baseado em conhecimento

Resumo

 

Introdução e justificativa

 

Um modelo de ecodesign intitulado o Modelo de Ondas Primárias, Secundárias e Terciárias para a projetação e planejamento de cidades sustentáveis vem sendo desenvolvido desde 1985 [Lour88], [Lour98]. A partir do Relatório Brundtland de 1987 elaborado por solicitação da ONU, a noção de desenvolvimento sustentável ganha aceitação mundial e teve sua primeira definição: O desenvolvimento sustentável é um desenvolvimento que responde às necessidades do presente sem comprometer a capacidade das gerações futuras de responder às suas. A década de 90 assistiu a uma movimentação planetária através de cúpulas internacionais promovidas sob os auspícios da ONU: Rio-92 (ambiente e desenvolvimento); Viena (direitos humanos); Cairo (população e desenvolvimento); Copenhagen (desenvolvimento social), Beijing (direito das mulheres) e a cúpula última Habitat II de Istambul (1996). Seu nome oficial é Conferência das Nações Unidas sobre Assentamentos Humanos.

O principal resultado da Rio-92 foi a Agenda 21, um plano de ação para a década de 90 bem como para o século XXI, elaborando estratégias e medidas de um programa integrado para parar e reverter os efeitos de degradação do ambiente e promover desenvolvimento sustentável em todos os países.

A partir da Habitat II, o princípio fundamental para formular uma política de habitação realista é a sua interdependência com as políticas globais de desenvolvimento ambiental, macroeconômico e social. Essa cúpula concluiu em primeiro plano que para coordenar essa ampla mobilização da sociedade indo do poder local ao poder global a nível internacional, integrando todos os segmentos da sociedade humana inclusive descamisados e mulheres pobres em particular, faz-se necessário o gerenciamento dos recursos naturais e energéticos de modo a colocá-los ao alcance de todos.

Evidentemente o conjunto de medidas, ações e regulamentos bem como procedimentos e o conhecimento científico, técnico e tecnológico para implementar essas metas de sustentabilidade urbana deverão ser transformados em sistemas baseados em conhecimento (SBC) e colocados necessariamente em redes de comunicação internacionais tal como a Internet, devendo-se garantir acesso a toda a população.

A estrutura política mais adequada para se atingir esse objetivo são as organizações não-governamentais (ONGs) que vem tendo um crescimento exponencial desde 1980. Cabe aqui uma advertência já feita em palestra pelo Dr. Flávio Fava de Moraes na EESC em 1997. Caso as universidades não tomem providências no sentido de uma rápida e eficiente atualização para responder aos problemas da sociedade, o comando do ensino poderá passar para os sites da Internet. E a autora reforça que a união de ONGs e Internet poderá exercer uma influência no sentido de ultrapassar as universidades. Vem participando de de conferências, seminários, listas e extensões de conferências reais pela Internet sobre desenvolvimento sustentável e discussões nas listas de gruos de computação da Internet desde 1994.

Em função dessa mudança de paradigma para o desenvolvimento sustentável, uma nova consciência emerge plasmando concepções arrojadas a nível da ecologia, desenvolvimento social e humano, geometria e computação.

A definição de desenvolvimento sustentável que se ajusta melhor ao espírito do modelo de ecodesign proposto tem de necessariamente estar centrada no indivíduo. Axel Dorscht do Institute

propõe: Desenvolvimento sustentável significa gerenciar e sustentar a existência humana individual num e como parte de um universo natural mutante e em evolução. Significa desenvolver a compreensão e habilidades para compreender, gerenciar e responder à experiência, percepções, sentimentos e realidade e condições mutantes satisfazendo as necessidades físicas básicas e mentais dos seres humanos enquanto indivíduos em evolução para manter a estabilidade física e mental, o equilíbrio e a ordem.

As revoluções na biotecnologia, informação e telecomunicação, o conhecimento do efeito estufa, a ameaça à biodiversidade, a distribuição desigual dos recursos da biosfera e energia, o despontar da consciência sobre a desigualdade social e de sexos e suas catastróficas conseqüências, a emergência do poder local substituindo o poder central do estado, a mudança do fordismo para sistemas mais flexíveis na economia são preocupações globais que se introjetam nas vidas diárias das pessoas.

Essa nova realidade permite ao planejamento urbano adotar uma orientação a processo que introduz o diálogo no planejamento, capacitando o cidadão ou a cidadã a expandir sua consciência para níveis cada vez mais abrangentes. Há uma urgência pairando no ar para a substituição dos assim chamados quatro modelos de planejamento que surgiram após a revolução industrial: a cidade, a unidade de vizinhança, o modelo da família e as favelas.

A degradação das relações sociais e ambientais traz como conseqüência positiva a percepção de que as cidades são fenômenos culturais e ecológicos e como tais podem ser medidas, modeladas e monitoradas como sistemas dinâmicos.

A aquisição de conhecimento emergiu como uma área distinta de pesquisa e desenvolvimento no início da década dos oitenta com o objetivo de construir sistemas baseados em conhecimento. A aquisição de conhecimento em sistemas dinâmicos é controlada pelos usuários ‘espertos’ (experts). Humanos e máquinas são vistos como agentes que interagem um com o outro. O conhecimento a ser adquirido é o conhecimento envolvido na interação entre agentes humanos e máquinas. O processo de aquisição de conhecimento é realizado, usando o paradigma de inteligência humana-máquina integrada. A noção de situação é desenvolvida bem como os procedimentos que as pessoas usam para controlar os sistemas dinâmicos. O nível de conhecimento não pode ser dissociado dos níveis mais baixos do comportamento humano no controle dos sistemas dinâmicos. A questão que se coloca é como conciliar o conhecimento do saber como com o saber que: Kant advertia que o primeiro sem o último é cego, e o último sem o primeiro é vazio. Urge ocupar-se do status epistemológico da informação que é classificada como conhecimento. O termo software é melhor aplicado apenas ao controle programado dos componentes computacionais de um sistema, enquanto o termo conhecimento engloba os fluxos e armazenamento da informação tanto nos componenentes computacionais e humanos. Os processos computacionais mais interessantes suportam os processos de conhecimento do expert, antes que substituem sua expertise. Os loci de conhecimento dentro de tais sistemas se tornam distribuídos através de uma rede social de computadores e pessoas, e muito da justificativa de se aplicar o termo conhecimento à informação num computador se dá ao fato de que é irrelevante distinguir se a informação está localizada no computador ou na pessoa. Um sistema baseado em conhecimento é um sistema de informação reflexivo [Gain93]. Busca no caso da projetação e planejamento de cidades sustentáveis recriar um mundo que é flexível, idiossincrático, persistente, dinâmico, distribuído, aberto e interativo. As relações num mundo sustentável favorecem as sinergias e as descobertas e o conhecimento como tal se revela como consciência, se esclarece e se desdobra no processo de sua aplicação. Teoria e prática coalescem no ato de interpretação, princípios gerais são revelados em sua natureza intrínsica, para ser o que são e para virem a ser entendidos no seu ser no desdobramento de sua aplicação ao event. Exige a modelagem do mundo por partes que por aproximações sucessivas vão cobrindo a visão do todo. Equivale a introduzir a aproximação fenomenológica ao campo de aquisição do conhecimento ou a exploração da thingness of things. Em síntese, introduzir o método indutivo da Física aos problemas do design e do planejamento . O resultado se aproxima mais do evento hermenêutico do que do evento epistemológico que predomina na computação formalista majoritária.

A tendência oposicionista caracterizada como hermenêutica nos debates de inteligência artificial acentua os conceitos de autonomia, perspectiva múltipla, significado efêmero e negociado, interpretação, emergência, auto-organização, mudança, evolução e flexibilidade. Seus seguidores argumental que qualquer sintaxe formal dissociada da situação, do contexto falha em capturar a semântica do mundo natural. As visões formalistas do mundo estão fundamentadas na filosofia de Descartes, Hobbes, Leibniz (tentaram construir máquinas pensantes com ênfase nas máquinas), Russel e Whitehead. Expoentes da ciência da computação incluem Babbage, Turing e von Neumann e exemplificam a filosofia formalista no novo domínio. Também Newell, Simon e Minsky na inteligência artificial.

O pensamento hermenêutico é bem menos divulgado e na filosofia inclui os trabalhos de Husserl, Heidegger, Gadamer (Gada ], Vygotsky e Foucault. Os exemplares contemporâneos são Maturana, Varela, Prigogine e Gell-Mann. Na ciência da computação,Floyd e seus colegas, o arquiteto da Faculdade de Ciências Arquitetônicas de Sydney [Coyn ], os irmãos Dreyfus e os trabalhos de Winograd pós-inteligência artificial [West97].

A assim chamada computação hermenêutica é representada por avanços em redes neurais; autômatas celulares; algoritmos genéticos; fuzzy logic, a teoria da complexidade e aquisição de conhecimento. Atualmente se ramifica não só na direção a padrões do design e protótipos no âmbito do paradigma OO [Lour98] bem como à noção de sistemas abertos e arquiteturas reflexivas.

Essa última tendência representa em potencial a melhor aproximação para o desenvolvimento de uma proposta de um sistema baseado em conhecimento para implementar o modelo de ecodesign da autora. Se esse projeto for bem sucedido a ponto de se tornar um SBC robusto na próxima década, certamente exercerá influência decisiva na introdução de uma inovação tecnológica no âmago da emergente ciência da computação hermenêutica.

 

Objetivos

 

O sistema baseado em conhecimento (SBC) consiste de dois níveis principais: o nível do modelo dependente do domínio e o nível do modelo computacional.

A nível de Mestrado, desenvolveu-se a concepção do MOPST através da aplicação da teoria da catástrofe, semiótica, lingüística e grafos. Resultou na elaboração de um modelo de ecodesign caracterizado pelas ondas primárias responsáveis pelos processos de interação do objeto arquitetônico com o meio ambiente, a saber homeostase, continuidade, diferenciação e redundância (figura 1) e ondas secundárias responsáveis pelos processos do design com o potencial de definir os planos da forma e da função juntamente com os stratas substância da função, forma da função, substância da forma e forma da forma da linguagem arquitetônica e as ondas terciárias através do processo redundância fundem design e planejamento.. No Mestrado, desenvolvido com bolsa da FAPESP, modelou-se os elementos de atividade, sistema estrutural, sistemas construtivos e conforto ambiental. Experimentou-se a potencialidade do modelo de ecodesign em gerar projeto arquitetônico/urbano através da aplicação a um grupo de residências para família com crianças com creche e escola maternal no centro em duas e em três dimensões. Publicou-se o resultado em [Lour94].

Em síntese, a representação dos artefatos arquitetônicos como eco-sistemas com hífen que são gerados por subeco-sistemas correspondendo aos elementos atividade, sistemas estruturais, conforto ambiental, etc que por sua vez são desdobrados em processos de interação do eco-sistema (objeto arquitetônico) com o meio ambiente confere-lhes a propriedade de definirem e serem definidos por ecossistemas. Essa modelagem constitui o nível do modelo dependente do domínio do SBC.

A nível de doutorado, partiu-se para o desenvolvimento de uma nova consciência geométrica que imitasse a concepção orgânica característica do ecodesigner em termos do nascer de uma planta livre. Inspirada nas xilogravuras de Escher, a autora descobriu que as teorias matemáticas dos tilings e grupos de simetria do plano e do plano sem ponto eram a solução. As formas clássicas da geometria euclidiana foram saudadas por sua beleza conceitual e escolhidas como o paradigama da arquitetura moderna. O atual caos urbano atesta a sua inadequação. Falta-lhes a extensão e a variedade visual quando comparada coma natureza ou a tendência orgânica das belas artes acrescenta Benoit Mandelbrot. Hojé não há somente a geometria euclidiana e a nova consciência geométrica se retrata a seguir.

 

Ordem

Grupos discretos grupos de simetria grupos de simetria caos

de simetria de similaridade conforme

 

absoluta

¬ ---------------------------------------------------------------------------------®

geometria roseta, fitas e extensão dos extensão dos grupos fractais

cristalográficos grupos rosetas roseta por inversão

por operações no círculo, reflexão

euclidiana de dilatação, rotação inversiva e rotação

dilativa e reflexão inversiva

dilativa

 

Portanto, os grupos de simetria de similaridade e conforme se aproximam dos fractais.

A nova consciência geométrica permite traduzir em formas a complexidade captadas pelos processos do modelo de ecodesign. No entanto, a arte dos grupos de simetria bem como a arte fractal não pode ser dissociada do uso de computadores. E portanto a geração do MOPST também. A profunda ironia é que esta nova concepção orgânica e livre tem como "pais"dois símbolos do inumano, do seco e do técnico, isto é, a matemática e o computador. E não poderia ter seu desenvolvimento sem o advento dos sistemas baseadsos em conhecimento e de programação orientada a objetos baseada em protótipos bem como a concepção de sistemas abertos e arquiteturas computacionais reflexivas (ver Material e Métodos).

Deu-se início à fase inicial de prototipagem do sistema baseado em conhecimento através de um elegante algoritmo baseado em geradores e relações para gerar os grupos de ponto, de fita e cristalográficos do plano baseados na tese de doutorado de W.O.J. Moser. Procedeu-se à geração da planta livre de um apartamento para solteiros de classe média implementando-se os processos da substância da função, forma da função e substância da forma através de um editor gráfico da linguagem de programação baseada em protótipos Self (ver a lista de linguagens baseadas em protótipos no Apêndice I). Aplicou-se o grupo cristalográfico p4m para se realizar a planta do pavimento tipo.

A segunda fase de prototipagem é o objeto do projeto de doutorado, consistindo por um lado em se utilizar o algoritmo dos grupos de ponto, de fita e cristalográficos do plano para se gerar a mão-livre as mais variadas plantas baixas de apartamentos e seu pavimento tipo reproduzindo a riqueza da ecologia do ciclo de vida humano. A simulação do comportamento humano desde a fase de bebê a idoso dentro da residência vai permitir produzir prédios de apartamentos que oferecem diversificação de plantas e talvez a transformação de um ambiente em outro. Por outro lado, a preocupação fundamental do ecodesigner urbano é criar um ambiente homotópico onde a configuração do layout dos diversos prédios e da paisagem transpareça criando um sentido de uma atmosfera local , o genius loci. Enfim ajudando a recriar o conceito de bio-região enquanto terreno geográfico e terreno de consciência. Assim inspirada na metamorfose de uma forma a outra nas xilogravuras de Escher (ver fita de vídeo em anexo) e no muro de Firuzabad de 1200, onde o grupo cristalográfico cmm se transforma no grupo cristalográfico pgm, emprende-se o estudo das relações de subgrupos nos grupos cristalográficos do plano.

A introdução de que certos elementos S1, S2, …, Sn de um dado grupo discreto G são chamados de um conjunto de geradores se cada elemento de G é expressável como um produto finito de suas potências (incluindo as negativas) permite a geração e implementação de algoritmos econômicos e elegantes. Tal grupo é convenientemente denotado pelo símbolo {S1, S2, …, Sn}. Quando n = 1, tem-se o grupo cíclico {S} @ Cq cuja ordem é o período do único gerador S. Se q é finito, S satisfaz a relação Sq = E, onde E denota o elemento identidade.

Um conjunto de relações

Sk (S1, S2, …., Sm) = E {k = 1, 2, …,s} (1)

Satisfeita pelos geradores de G é chamado uma apresentação de grupos, se cada relação satisfeita pelos geradores é uma conseqüência algébrica dessas relações particulares.

Retornando ao grupo geral G definido por (1), seja H outro subgrupo cuja definição abstrata em termos de geradores T1, T2, …., Tn é dada pelas relações

Hl (T1, T2, …, Tn) = E (l = 1, 2, …, t) (2)

G é isomórfico a H, se a existência de relações

Tj = Tj (S1, S2, …., Sm) (j = 1, 2, …., n) (3)

Si = Si(T1, T2, …., Tn) ( i= 1, 2, …, m) (4) é tal que 1 e 3 juntas são algebricamente equivalentes a (2) e (4) juntas.

Por exemplo:

R6 = E (5), onde obviamente R = 60°

e S3 = T2 = S-1TST = E (6)

São duas possíveis apresentações para C6, uma vez que as relações

R6 = E, S = R4 T = R3

São equivalentes a

S3 = T2 = S-1TST = E, R = ST.

É só fazer as substituições para se constatar a equivalência.

Moser definiu todas as relações de subgrupo entre os dezessete grupos cristalográficos do plano. Mas o problema da sua aplicação na arquitetura é que os geradores escolhidos nem sempre se apresentam amigáveis. De fato, a composição de reflexões gera as translações, rotações e translações refletidas (glides). Mas para o designer a análise dessa combinação baseada em reflexão desvia de uma concepção mais holístca que "brota sem pensar". Enfim inibe o surgimento de formas arquitetônicas leves e livres. Portanto, baseando-se na tese de Moser e na geração de plantas baixas do pavimento tipo, desenvolver-se-á as relações de subgrupos entre os 17 grupos cristalográficos através de geradores e relações mais amigáveis.

 

Material e Métodos

O paradigma de orientação a objetos vem desempenhando um papel fundamental para se modelar o mundo tal qual é. Propõe as linguagens baseadas em protótipos como um substituto às linguagens baseadas em classe. Seu novo paradigma de programação se justifica de dois modos fundamentais comparado às linguagens baseadas em classe. Primeiro, no lado filosófico, o modo natural das pessoas para apreender novos conceitos é geralmente começando por criar exemplos concretos antes que descrições abstratas; linguagens baseadas em classe forçam as pessoas a trabalharem na direção oposta, criando abstrações (classes) antes que objetos concretos (instâncias). Segundo no lado mais prático, as linguagens baseadas em classes restringem os objetos desnecessariamente, não permitindo comportamento distintivo para os objetos individuais entre suas instâncias e proibindo a herança entre objetos para compartilhar valores das variáveis das instâncias.

Muitas linguagens usando protótipos vem sendo propostas [DMC92] (ver apêndice 1). Self [ ] TinySelf, versão de Self reflexiva que roda em PC [Assu96] e Agora98 [ ] captam melhor a intenção da autora de implementar através dos conceitos nela contidos um SBC. A comunidade de IA (inteligência artificial) mostrou a utilidade dos frames por sua capacidade em representar diferentes tipos de conhecimentos como uma coleção de slots.Modelos computacionais para IA distribuída levaram ao desenvolvimento do modelo do ator enfatizando os mecanismos de clonagem e delegação. Em paralelo com essa evolução, os usuários das lingaugens baseadas em classes tentam escapar do modelo do tipo de dados abstrato tradicional para um mais flexível, permitindo maior expressividade. Portanto maior poder de modelagem.

A principal vantagem de Self sobre Agora é a disponibilidade de uma biblioteca de objetos gráficos, os morphs. Além disso, várias aplicações já foram desenvolvidas com Self com sucesso. Na fase inicial de prototipagem, experimentou-se o enorme potencial de Self de simular não só os processos cognitivos do design bem como do designer. Sempre tendo o ser humano como modelo, urge agora passar para a segunda fase. No MOPST conforme definido na tese de doutorado [Lour98], a representação dos artefatos arquitetônicos como eco-sistemas que são gerados por subeco-sistemas correspondendo aos elementos atividades, conforto ambiental, etc que por sua vez são desdobrados em processos de interação do eco-sistema (objeto arquitetônico) com o meio ambietne e processos do design confere-lhes a propriedade de definirem e serem definidos por ecossistemas.

Os principais ingredientes de sucesso é, por um lado, não só a insistência de Self em usar objetos e mensagens para tudo mas também a simplicidade do único construct o slot para guardar o estado e o comportamento do objeto. Criam-se novos objetos a partir do protótipo através da operação simples de copiar. Introduziu-se herança na linguagem para permitir compartilhar comportamento para uma família de objetos separado que é o pai de todos (isso equivale a introduzir o conceito de classes na linguagem). Por outro lado, a interface do usuário de Self 4.0 cria um sentido de concretude e contato direto, transformando a janela de Self num mundo de objetos palpáveis. Essas características descendem do comportamento default do objeto gráfico básico, chamado morph. Todos os objetos de exibição (círculos, frames, botões, texto, etc) herdam o comportamento do morph e portanto são tipos de morphs. Qualquer objeto de Self pode ser visto como um tipo de morph chamado outliner.No entanto, a verdadeira natureza do MOPST é colaborativa, ou seja, nem o artefato arquitetônico nem os elementos a saber atividades, sistemas estruturais, etc e muito menos os processos são unidades de funcionamento que representam um objeto inteiro ou uma parte dele, antes interagem com vários objetos diferentes. É claro que o fato de se poder transferir slots de um objeto a outro facilmente auxiliou muito na primeira etapa da modelagem. Mas basear-se apenas nos recursos humanos orbitando ao redor do conceito unificador da interação acaba resultando num amontoado de objetos soltos numa tela bidimensional chamada Kansas. É uma realidade virtual programável por multi-usuários. Podem trabalhar isoladamente ou combinar ‘encontros’ para trabalhar com os mesmos objetos na modalidade de trabalho cooperativo. Essa é outra vantagem sobre Agora.

Portanto faz-se mister explorar um novo conceito disponível na linguagem Self: mixins.

Em linguagens com herança múltipla que linearizam o grafo da herança, é possível ter classes que não têm ancestral aparente mas que invocam operações do pai de um mod significativo. Chamaram-se classes mixins encontradas em CLOS por exemplo.

Já na herança baseada em mixin um mixin não é uma classe e a herança múltipla é uma conseqüência do uso de mixins , antes que um mecanismo de apoio. Em contraste com CLOS, onde os mixins não são promovidos como o único mecanismo de abstração para construir a hierarquia de herança [Brach90] [Brac92] [Stey93]. Em [Brac&Cook90} mostra-se que a herança baseada em mixin engloba os mecanismos de herança de Smalltalk, Beta e CLOS.

Em Self, mixins são disponíveis como uma conseqüência natural da delegação (uma forma de herança que ocorre entre objetos referidos como protótipos) em runtime antes que entre classes por ocasião da compilação [Brac92].

Steyaert94 estende o uso de mixins à herança baseada em objetos. Aplicando o princípio da ortogonalidade aos fatos de que existem mixins e que um objeto consiste de uma coleção de nome-atributos (ou slots), pode-se perguntar como um mixin pode ser visto como um nome-atributo de um objeto.A solução adotada é que um objeto lista como mixin-atributos todos os mixins que se aplicam a ele. Do mesmo modo que ao se selecionar um método atributo de um certo objeto obtém-se o efeito de executar o corpo-método selecionado no contexto daquele objeto, selecionando-se um mixin-atributo de um certo objeto tem o efeito de se estender aquele objeto com os atributos definidos no mixin selecionado. Essa forma de herança se chama herança baseada no método de mixin. Em Agora esse é o único mecanismo de herança disponível [Stey94].

Já [SB98] introduzem os mixins para obter "design baseado em colaboração" ou seja uma área de pesquisa dedicada a mostrar que um bloco de construção de uma aplicação chamado colaboração não é nem um objeto nem parte dele, mas antes partes cooperativas de muitos objetos diferentes (chamados papéis). Há uma profusão de áreas interessadas em obter o mesmo efeito tais como subject-oriented programming, aspect-oriented programming, feature oriented programming bem como a já citada herança baseada no método de mixin de Agora [YB98a] [YB98b].

A necessidade de se explorar os mixins ilustra a necessidade do programador de fazer modificações locais aos componentes existentes de uma linguagem de programação.A visão tradicional do design de uma linguagem tem sido de que uma linguagem de programação emerge totalmente formada e esculpida em pedra por uma só mão. Essa aproximação impede a linguagem de enfrentar novos desafios tais como suportar concorrência, distribuição ou aplicações com extensões específicas tais como sistemas de informação geográfica, etc. Self permite acesso a linguagens externas bem como ao WWW.

Urge a necessidade de se tornar as linguagens de programação tão abertas quanto possível. Assim é fundamental a introdução de um metanível denotando uma esfera superior de controle. O metanível permite o controle da execução de outros objetos. No caso de Smalltalk as metaclasses alocavam memória e instanciavam objetos. Distingue-se entre a esfera de controle onde residem os metaobjetos e o nível onde os objetos "ordinários" residem, chamados de metanível e nível de base (baselevel) [Zimm96].

Dependendo da linguagem, o metanível é acessado através de uma interface bem definida (se o metanível prover tal interface) ou o baselevel nem toma conhecimento de que existe um metanível (a invocação corre transparentemente) através de uma esfera de controle separada.

Mas quando os detalhes do metanível são acessados pelo baselevel porque a implementação do metanível faz parte da aplicação, isso permite que a aplicação raciocine sobre si mesma. Uma vez que a aplicação pode acessar sua própria representação do metanível é capaz de influenciar diretamente o modo com que o código é executado, portanto alterando seu comportamento.

Esse raciocíonio é chamado reflexão porque a aplicação agora pode raciocinar sobre seu próprio comportamento.

A linguagem Self tem um design elegante, simples, fácil de implementar e adequado para se tornar reflexivo.A reflexão é adicionada como um conceito de linguagem ortogonal. Esse ideal para se obter um sistema realmente aberto está sendo realizado em TinySelf [Zimm96] por Jecel Mattos de Assumpção Jr, consultor do LSI. É também o gerente da lista de discussão de Self.

Assim os metaobjetos através de operadores reflexivos podem ser usados para modelar e estender implementações abertas para satisfazer requisitos específicos de aplicações robustas.

Na linguagem Self o base object não toma conhecimento de que o meta-objeto está envolvido através dos mirrors em executar uma certa função (tal como uma chamada de método). Um interpretador modificado para LP é usado, invocando automaticamente o metaobjeto de controle [Zimm96]. Contém metaobjetos implícitos.Pode-se visualizar em Self um metanível estrutural ou a reflexão estrutural que provê acesso explícito a definições concretas de objetos tais como slots . Tal arquitetura permite a redefinição seletiva de slots (para fornecer variáveis ativas) ou do método de avaliação para uma dada família de objetos. O debugger em Self permite ver o nível de reflexão comportamental.

Está faltando complementar. Mais algumas linhas.

 

 

 

Material

 

A seguinte lista de equipamentos e material e necessária para o desenvolvimento do trabalho:

 

Já Steyaert demonstra claramente como obter um sistema com design aberto e como transformá-lo num sistema reflexivo para o caso de programação baseada em protótipos [Stey94].

Forma de análise dos resultados

Para se explorar melhor o potencial da linguagem Self empreende-se em primeiro lugar um estudo mais aprofundado das bibliotecas de objetos gráficos oferecidas por Self tais como morphs, das estruturas de dados que já vêm prontas em Self tais como coleções (vetores, listas, dicionários e especialmente strings (texto)) e dos números. Pretende-se elaborar um mini-tutorial com exemplos nessa primeira fase.

Na segunda fase, procede-se à projetação das plantas livres a partir do algoritmo para gerar os 17 grupos cristalográficos disponível do trabalho realizado no doutorado.

Na terceira fase, a ênfase é programar explorando o conceito de mixins.

Na quarta fase, implementa-se a relação de subgrupos nos grupos cristalográficos baseada na geração de plantas livres da segunda etapa.

Na quinta fase, procede-se à execução de uma fita de vídeo para se divulgar os resultados.

A leitura de livros do filósofo Gadamer também deve ser realizada. O contato com o exterior deve continuar intenso através das discussões nas listas de grupos de computação e participação nas principais conferências de orientação a objetos OOPSLA da América do Norte e ECOOP da Europa no devido tempo.

 

Plano de trabalho e cronograma de sua execução

Leitura de Gadamer

Programação em Self

Projetação de plantas livres para apartamentos

Programação com ênfase no uso de mixins

Implementação da relação de subgrupos nos grupos cristalográficos

Elaboração da fita de vídeo

Participação em conferências

Redação de artigos para publicação

Bibliografia