• No results found

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