• Nenhum resultado encontrado

Capítulo 2 Trabalhos relacionados

2.1 ACM Computing Classification System (ACM-CSS)

Este trabalho, como o nome indica, é um sistema de classificação de tópicos e de indexação, que tem sido aplicado maioritariamente à literatura publicada na área da computação (livros, artigos, etc.) [25] [26] e que estabelece uma primeira abordagem a uma taxonomia.

Este sistema de classificação, originalmente chamado de Computing Reviews

Classification System – CRCS, tem sido aplicado ao longo dos últimos 30 anos

principalmente para a classificação de documentos dentro desta área (por exemplo, na classificação de todos os documentos no “ACM Guide to Computing

Literature” [26]). Sofreu também diversas revisões durante o seu ciclo de vida,

como forma de acomodar a natureza fortemente evolutiva da área [26], sendo a última versão de 1998 (referido com CCS98) [27] [37].

O actual sistema consiste essencialmente [37] em definição de uma estrutura hierárquica em árvore com 4 níveis, dos quais os 3 primeiros são geralmente níveis com códigos específicos (coded levels) do tipo letras e números, enquanto

o último nível contém descrições específicas de assuntos sem códigos (subject

descriptors). Em cada um dos níveis codificados existem nós (nodes) que contém,

além do código, breves descrições (algumas palavras) identificando aquilo que se pretende categorizar. O 1º nível contém 11 nós, identificados por letras de A a K, tendo geralmente 1 ou 2 níveis filhos, identificados por letras e números, que começam sempre (exceptuando se forem o último nível) com um nó do tipo

General (o nó “0”) e terminam com um nó do tipo Miscellaneous (o nó “m”). O

último nível, os tais subject descriptors, são considerados como as folhas da árvore. A última versão da estrutura hierárquica do CSS98 existe disponível no site ACM [26] sobre vários formatos, como HTML, ASCII e XML.

Apresenta-se em seguida a parte inicial da árvore de classificação [27], como forma de exemplificar melhor o descrito no parágrafo anterior:

Figura 2.1 - Parte da árvore de classificação CSS98 [27]

Na construção do sistema considerou-se originalmente que o último nível, ou seja, as folhas ou subject descriptors, seria suficiente para lidar com alterações e avanços na área, sendo expectável que estivesse em constante mudança. No entanto, na prática, verificou-se a dificuldade de remover antigos subject

descriptors sem perturbar referências para trabalhos classificados com esse tipo.

Assim, assumiu-se que este nível é parte permanente da árvore de classificação, sendo identificados com asteriscos aqueles subject descriptors que se retiraram do uso activo [37]. No caso do exemplo CCS98 apresentado, apesar de não estar na figura, existem identificações com 1 ou 2 asteriscos, o que representam respectivamente classificações que se consideram sem uso após 1991 e após 1998, mas que se mantiveram para garantia de coerência e pesquisa.

De forma anexa a esta estrutura em árvore existem ainda 2 tipos de elementos, um conjunto de termos gerais (General Terms) e um conjunto adicional de subject descriptors referidos como Implicit Subject Descriptors. Estes termos gerais consistem num conjunto de 16 palavras (Ex: Algorithms, Design,

dentro da CS e que são de certa forma ortogonais à árvore de classificação. Os

Implicit Subject Descriptors (também referidos como Proper Noun Subject Descriptors) são efectivamente subject descriptors para nomes de produtos,

linguagens e pessoas proeminentes da área da computação. Porém, estes não aparecem explicitamente na árvore de classificação, pois sendo uma lista demasiado extensa (actualmente 1719 elementos), a tornariam muito grande e complexa. Entendam-se como os “ramos” finais, associados aos vários nós da árvore de classificação, conforme a seguinte Figura 2.2 (esquerda). Mas que pela sua extensão (e repetições) estão numa tabela anexa [38], da qual se representa parte também na Figura 2.2 (direita). Naturalmente, o sistema de classificação assume que esta lista é dinâmica e refere expectáveis alterações frequentes sobre a mesma.

Figura 2.2 – Exemplo da relação da árvore CSS com os Implicit Subject

Descriptors (esquerda) e parte da sua lista actual (direita).

A forma de aplicação do sistema de classificação, que está detalhada em instruções CCS98 – “How to Use the Computing Classification System” [39], apesar de ser relativamente intuitiva, contém alguns detalhes relevantes que se resumem de seguida. Só se aplica a classificação a nós abaixo do 1º nível, descendo o mais baixo possível na árvore, incluindo além dos subject descriptors, os implicit subject descriptors que se consideram relevantes. Só se deverá “parar” ao nível dos nós, caso nenhum dos subject descriptors desse nó se apliquem, ou caso todos se apliquem. A utilização de nós do tipo geral (General) só se deverá utilizar caso o trabalho a classificar cubra maioria dos conceitos dessa área (retratados nos nós “irmãos”. Analogamente, só se deverá aplicar nós do tipo Miscellaneous quando o trabalho não seja possível de classificar em mais nenhum nó “irmão”.

Seguindo as instruções, as classificações recolhidas deverão ser apresentadas respeitando o seguinte formato:

Categories and subject descriptors: Third-level node number [Second-

level node title]: Third-level node title---first subject descriptor, second subject descriptor, etc.;

Mostra-se um exemplo, referido pelo guia de utilização CSS [39]:

“Categories and subject descriptors: D.2.7 [Software Engineering]: Distribution, Maintenance, and Enhancement---portability; H.2.3 [Database Management]: Languages--- query languages; H.4.2 [Information Systems Applications]: Types of Systems---decision support; K.6.3 [Management of Computing and Information Systems]: Software Management---software selection”

Por fim, deverão ainda ser considerados a aplicação dos 16 termos gerais (General Terms), bem como uma lista de palavras e frases-chave adicionais que não estejam retratadas no esquema de classificação, conforme os seguintes exemplos [39]:

“General Terms: Design, Performance, Reliability”.

“Additional Key Words and Phrases: databases, graph theory, inheritance conflicts,

inheritance process, object-oriented database schemas, and recursive types”

Tendo esta explicação detalhada do funcionamento do CCS, é importante ter em consideração alguns aspectos relativos à sua evolução, descritos no documento “Computing Classification System 1998: Current Status and Future

Maintenance” [26]. Resumidamente, a quando da última revisão em 1998, são

traçados alguns planos de manutenção e evolução do CCS, culminando em expectáveis alterações e revisões anuais. No entanto, quando se estabelecem recomendações para a revisão do CCS, é também referido que a estrutura base do CCS, bem como as metodologias e processos de suporte, têm sérios problemas que a comissão de revisão do CCS (em 98) não tinha capacidade para abordar. Assim, justifica-se o facto de terem sido apenas sugeridas em 1998 alterações aos níveis 2, 3 e 4 da árvore. Apesar de serem desejáveis alterações de fundo a todos os níveis (consolidações e renomeações), devido à evolução na área da CS e o facto de se ter detectado já algumas dificuldades de classificação da literatura da altura, tais não foram possíveis executar. Adicionalmente, sobre estas possíveis alterações, referem-se também problemas com a sua integração em software ACM (em utilização em 1998), relativos à compatibilização de versões, manutenção de histórico e integridade referencial do índice do sistema de classificação. Tais situações não eram possíveis de resolver com a curta alocação de staff disponível no momento. A nota final no documento é que se espera evolução continua sobre o CCS98, sendo necessário contínua intervenção de especialistas nas várias áreas da CS e contínua reestruturação dos níveis da árvore apoiada em técnicas automáticas (ex: análise estatística da literatura existente).

Apesar destas considerações, estando-se actualmente em 2009, não voltou a existir uma revisão do CCS (pelo menos nos 4 níveis base). Este facto, aliado aos

problemas acima mencionados para o actual CCS98, bem como a extensa evolução da área CS nos últimos 12 anos, levam à necessidade de estudos mais detalhados da sua actual adequabilidade e cobertura.

Porém, como forma de conclusão, tendo presente o funcionamento e aplicabilidade aqui descrita, o CCS não está necessariamente directamente relacionado com o trabalho da dissertação, i.e., a criação do modelo computável. Apesar de definir uma taxonomia relativamente abrangente para a área da CS, não é exactamente o body of knowledge sobre CS, detalhado o suficiente para permitir, por exemplo, uma definição de tópicos a abordar numa disciplina de um curso. A aplicabilidade do CCS no âmbito da dissertação, poderá eventualmente ser para o motivo que foi originalmente criado, ou seja, a classificação de material bibliográfico e publicações de consulta no âmbito das disciplinas do curso, a classificação de trabalhos produzidos em disciplinas mais avançadas (como o projecto), etc.

Apresentam-se nos subcapítulos seguintes breves descrições de trabalhos que aplicam ou utilizam o CCS e que poderão reforçar a conclusão acima. Ou seja, a sua eventual utilização na classificação de bibliografia e trabalhos produzidos no âmbito das disciplinas de um curso, mas não directamente como um body of

knowledge sobre CS para um modelo computável de especificação de cursos.

2.1.1 Integração do ACM-CCS no DSpace

O departamento de sistemas de informação da universidade do Minho (DSI – UMINHO)7 tem desenvolvido trabalho com a ferramenta DSpace [40] [41], um software open source para a construção de repositórios digitais, desenvolvido originalmente pelo Massachusetts Institute of Technology (MIT)8 em parceria com

os laboratórios Hewlett-Packard9. Essencialmente, o DSpace permite a recolha e índice de elementos digitais tais como artigos científicos, publicações técnicas, dissertações e teses, imagens, áudio e vídeo, utilizando o standard Dublin Core [42] para inclusão de meta-informação em cada elemento.

A sua utilização no DSI-UMINHO focou-se principalmente na criação de repositórios para a Universidade, tendo gerado alguns projectos de investigação e desenvolvimento como a tradução do DSpace para Português, alterações à versão original da componente de meta dados e a criação de um conjunto de adejos para extensão da sua versão base [41][43]. Este conjunto de add-ons servem vários propósitos, comunicação informal e (add-on de comentários), controlo de vocabulário utilizado na descrição do material (add-on de ontologias), sugestões de recursos relacionados (add-on de recomendação) e visualização de relações (add-on teia de comunicação).

7http://www.dsi.uminho.pt/ 8http://web.mit.edu/

O add-on de ontologias foi desenvolvido como forma de permitir “ao

administrador controlar as palavras-chave utilizadas pelos utilizadores para descrever itens durante o processo de submissão” [43]. Paralelamente, e

considerando a natureza classificativa do CCS, foi executado trabalho de transformação do CCS98 num formato reconhecido pelo add-on de ontologias, permitindo assim uma classificação no DSpace de trabalhos e projectos dos alunos do departamento de sistemas de informação7 [44]. Este trabalho originou,

até à data desta dissertação, uma versão XML do ACM-CCS98 (que é a actualmente distribuída no site ACM [27][43]) e uma versão RDF-Schema, ainda não disponível (por se encontrar em revisão [44]). Apresenta-se em seguida um excerto do ACM-CCS98 em versão XML e respectivo resultado da sua utilização real na Figura 2.3.

Figura 2.3 – Excerto da modelação XML do ACM-CSS98 (acima) e sua aplicação para classificação em DSpace (abaixo) [43]

2.1.2 Aplicação do ACM-CCS para classificação da investigação

em Computer Science

Curiosamente, também na FCT-UNL se efectuou trabalho relacionado com a aplicação do CCS98. O projecto de investigação COPSRO – “Computational

colaboração do Centro de Inteligência Artificial (CENTRIA-UNL) com o Department

of Computer Science and Information Systems do Birkbeck College - University of London (DCSIS-UL) e com o Grupo de Investigação em Engenharia do

Conhecimento e Apoio à Decisão do Instituto Superior de Engenharia do Instituto Politécnico do Porto (GECAD- ISEP), tem como principal objectivo o desenvolvimento de uma metodologia para estabelecer ontologias que permitam traçar o perfil e classificar organizações de pesquisa científica [45]. Pretende-se que a metodologia seja aplicada principalmente a organizações de pesquisa na área da CS, em especial nos departamentos de ciência da computação das universidades em Portugal e no Reino Unido, considerando como ontologia de referência o trabalho ACM-CCS (versão CCS98) [45] [46] [47].

O projecto envolve vários tipos de investigação, mas para esta dissertação, o relevante será o trabalho com o ACM-CCS, que essencialmente é utilizado como parte do problema exemplo a abordar. O CCS é utilizado como forma de classificação das actividades e temas de investigação das organizações, focando- se parte do projecto em procedimentos de simplificação e optimização da representação visual desta classificação (por exemplo aplicando técnicas Cluster-

Lift [46] [47]). Refere-se em particular o trabalho “Representing a Computer Science Research Organization on the ACM Computing Classification System” [47]

(no âmbito do projecto COPRSO), onde se efectuou uma experimentação prática dentro do Departamento de Informática da FCT-UNL (DI-FCT-UNL), relativa ao levantamento e classificação das actividades de investigação de 49 membros do departamento sobre o CCS98 (apenas ao 2º nível da árvore de classificação).