SOIL
8.1 Lokaliseringsendringer
Na figura 3.7 são apresentadas as tecnologias usadas no desenvolvimento do sistema. A plataforma desenvolvida faz uso de diversas tecnologias bastante utilizadas na atualidade. O sistema imple- mentado usa NodeJS para o servidor da aplicação, AngularJS para a interface com o utilizador e Java para o tratamento dos ficheiros STEP.
Figure 3.7: Arquitetura Tecnológica
NodeJS
Node.js é uma plataforma cujo objetivo é a fácil construção de rápidas e escaláveis aplicações de rede. Para tal adota um modelo baseado em eventos e non-blocking I/O. Foi desenvolvido por Ryan Dahl em 2009. Trata-se de um ambiente javascript no lado do servidor, single-threaded, implementado em C/C++. AS aplicações Node.js podem ser escritas utilizando javascript, sendo que, para tal, o framework faz uso da Javascript Engine V8 do Google. A V8 é a implemen- tação javascript utilizada pelo navegador Google Chrome. Esta é extremamente rápida, contudo necessitou de algumas modificações para que apresentasse um melhor funcionamento em outros contextos que não sejam o browser. Para que se tenha I/O baseado em eventos e non-blocking, o Node.js faz uso de bibliotecas C libev e libeio, desenvolvidas por Marc Lehmann. O Node.js é composto por diversos módulos: módulos que fazem parte do núcleo da plataforma, chamados core modules, e módulos desenvolvidos pela comunidade. A arquitetura padrão da plataforma pode ser vista na figura 3.8.
Especificação e Arquitetura do Sistema
Figure 3.8: Arquitetura Node
AngularJs
O AngularJS foi construído sob a crença de que a programação declarativa é melhor do que a programação imperativa quando se trata da construção de interfaces para o utilizador e da conexão de componentes software, enquanto a programação imperativa é excelente para a escrita de regras de negócio. Esta framework adapta e estende o HTML tradicional para uma melhor experiência com conteúdo dinâmico, com a ligação direta e bidirecional dos dados (two-way data-binding) que permite sincronização automática de models e views. Como resultado, AngularJS abstrai a manipulação do DOM e melhora os testes. Na figura 3.9, podemos observar a arquitetura do AngularJS.
Chapter 4
Arquitetura e Organização de um
Ficheiro STEP
O projeto desenvolvido baseia-se num formato de representação de dados chamado STEP. Este formato foi adotado para a realização desta dissertação por ser um formato extremamente utilizado pelas empresas e sistemas nos dias de hoje, além de que, possui imensas potencialidades, sendo capaz de representar uma quantidade enorme e diversificada de informação acerca de um produto. Um ficheiro STEP segue uma estrutura bem definida constituída por um grupo de tag’s que representam toda a informação associada a um produto, tal como podemos verificar na figura 4.1.
Arquitetura e Organização de um Ficheiro STEP
HEADER_SECTION A secção HEADER tem uma estrutura fixa que consiste em 3 a 6 grupos na ordem dada. À exceção dos campos FILE_NAME e FILE_SCHEMA todos os campos podem estar vazios.
• description
• implementation level: Versão em conformidade do ficheiro. As versões possíveis são 1,2,3.
1. Para o padrão original de 1994. 2. Correção Técnica de 1995. 3. 2aedição.
FILE_NAME secção com os seguintes elementos.
Name Nome da estrutura. Pode corresponder ao nome do ficheiro num sistema de ficheiros e reflete os dados presentes no ficheiro.
time_Stamp Indica quando o ficheiro foi criado. O tempo é indicado no formato internacional ISO 8601, por exemplo, 20031227T11.
author Identificação do criador do ficheiro.
Organization Organização a que o ficheiro pertence.
processor_version Nome e versão do sistema que produziu o ficheiro.
originating_system Nome e versão do sistema que originalmente produziu a infor- mação contida no ficheiro.
Authorization Identificação das pessoas autorizadas a editar o ficheiro.
FILE_SCHEMA Especifica um ou vários EXPRESS SCHEMAS que regem às infor- mações contidas no ficheiro STEP. Os últimos 3 campos apenas são válidos na 2a edição onde podemos especificar vários SCHEMAS.
FILE_POPULATION Indica uma população válida (conjunto de instâncias), que está em conformidade com os EXPRESS SCHEMAS. Isto é feito através da recolha de dados a partir de várias secções e referenciando instâncias de outras secções de dados. Governing_schema EXPRESS SCHEMA à qual a população indicada pertence e
pode ser validada.
Determination method Método de determinação de instâncias pertencentes à popu- lação. Existem 3 métodos predefinidos:
• SECTION_BOUNDARY
• INCLUDE_ALL_COMPATIBLE • INCLUDE_REFERENCED 5
Governed sections Secções de dados cujas instâncias entidade pertencem totalmente à população.
Arquitetura e Organização de um Ficheiro STEP
FILE_LANGUAGE Permite a atribuição de um idioma padrão.
FILE_CONTEXT Informações de contexto adicional.
DATA_SECTION A secção de dados contém todos os dados que representam o produto. Estes dados normalmente são representados com tag’s com referências para outras tag’s, de forma a especificar todas as informações necessárias sobre um elemento.
A arquitetura de dados de um ficheiro STEP foi projetada com vários objetivos em mente, entre os quais, a capacidade de divisão e extensibilidade dos ficheiros. Assim, o modelo de um ficheiro STEP é genérico o suficiente para que possa ser reutilizado em diferentes contextos industriais. É, portanto, um modelo único, consistente, partilhável e semanticamente não redundante. O modelo é dividido em pequenos esquemas, cada um com uma funcionalidade única ou propósito. Esta separação facilita a gestão do modelo e isola funcionalidades específicas. As figuras 4.2 e 4.3 apresentam um exemplo simples da arquitetura de dados de um ficheiro STEP, bem como alguns pontos fundamentais que compõem a estrutura do ficheiro.
Arquitetura e Organização de um Ficheiro STEP
Figure 4.3: Arquitetura de dados de um ficheiro STEP
O diagrama da figura acima pode ser lido de cima para baixo, as caixas laranjas centrais são os métodos mais fundamentais para a descrição do produto, as verdes mais à direita identificam propriedades e as caixas violeta mais a baixo e à esquerda representam as várias formas de repre- sentação das propriedades.
4.1
Formas de Representação de Ficheiros STEP
Um ficheiro STEP pode ainda respeitar diferentes formas de representação, sendo necessário anal- isar em particular cada uma delas de forma a criar uma ferramenta universal capaz de receber um qualquer tipo de ficheiro STEP e retirar destes, toda a informação necessária para a representação da estrutura hierárquica de um produto. As três formas possíveis de representação de um produto na norma STEP são as seguintes:
• Um ficheiro único, com toda a informação geométrica e de montagem dos componentes do produto.
Arquitetura e Organização de um Ficheiro STEP
• Um ficheiro com toda a informação de montagem do produto, com referencias para outros ficheiros com informação geométrica de cada componente.
• Múltiplos ficheiros, cada um com informações de geometria e de mon- tagem de cada componente do produto.
Chapter 5
Implementação
Este capítulo é dedicado à apresentação de detalhes relacionados com o enquadramento e im- plementação das soluções preconizadas no capítulo anterior. Neste capítulo, é descrita a forma de identificação e extração da informação contida num ficheiro STEP, crucial para o sistema a desenvolver, bem como os processos de tratamento de dados associados.
5.1
Identificação de Elementos STEP
Um ficheiro STEP é um ficheiro bastante complexo com uma quantidade enorme de informação sobre o produto. Desta forma, existe a necessidade de identificar apenas a informação necessária para a representação da estrutura do produto e para a representação 3D do mesmo. Nesta secção, será analisada toda a informação essencial bem como a identificação dos elementos STEP necessários à concretização deste projeto.
Implementação