FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO
Projecto de uma Célula de Produção Informática Industrial
Carlos Silva Rafael Lopes João Rodrigues
03-01-2011
Projecto de uma Célula de Produção 3 de Janeiro de 2011
Resumo O presente documento tem como objéctivo relatar o desenvolvimento do projecto realizado no âmbito da unidade curricular Informática Infustrial, cujo tema é implementar uma linha de produção industrial fléxivel em escala reduzida, mais especificamente numa maquete disponibilizada pelo Departamento de Engenharia Electrotécnica e de Computadores. Apartir deste relatório é possivel identificar a arquitectura usada na realização do projecto, fazendo uso de ferramentas como UML, cujo conhecimento proporciou a construção de diagramas. É ainda apresentada a estrutura interna presente no projecto, desenvolvido em software Isagraf, explicando detalhadamente a forma como cada nível comunica entre si. Por fim, é retratado ainda, os objéctivos que foram atingidos, o método como estes foram alcançados, aquilo que não foi possivel ser executado e uma possivel razão , e aquilo que poderia ter sido feito para melhorar o sistema em desenvolvimentos futuros.
2
Projecto de uma Célula de Produção 3 de Janeiro de 2011
Índice
Resumo..................................................................................................................................... 2 Lista de Figuras ......................................................................................................................... 4 Lista de Tabelas......................................................................................................................... 4 1.
2.
Introdução ........................................................................................................................ 5 1.1
Apresentação do Documento .................................................................................... 5
1.2
Objectivos ................................................................................................................. 5
Modulação do Sistema ...................................................................................................... 6 2.1
Unified Modeling Language ....................................................................................... 6
2.2
Diagrama de Classes .................................................................................................. 7
2.3
Diagrama de Sequência ............................................................................................. 8
3.
Estruturação interna ....................................................................................................... 11
4.
Processamento de Pedidos.............................................................................................. 12 4.1
Controlo dos pedidos ............................................................................................... 12
4.2
Ordem de Processamento ....................................................................................... 14
4.3
Armazém ................................................................................................................. 14
4.4
Carga ....................................................................................................................... 15
4.5
Produção ................................................................................................................. 16
4.6
Descarga.................................................................................................................. 17
5.
Controlo da Ferramenta .................................................................................................. 18
6.
Controlo de Tapetes ........................................................................................................ 19
7.
Conclusão ....................................................................................................................... 20
8.
Bibliografia ...................................................................................................................... 21
3
Projecto de uma Célula de Produção 3 de Janeiro de 2011
Lista de Figuras Figura 1 - Diagrama de Classes .................................................................................................. 7 Figura 2 – Diagrama de sequência para a carga ......................................................................... 8 Figura 3 - Diagrama de sequência para a descarga .................................................................... 9 Figura 4 - Diagrama de sequência para a produção ................................................................. 10 Figura 5 - Organização interna do projecto em Isagraf............................................................. 11 Figura 6 - Excerto de grafcet retirado do controlo de pedidos ................................................. 13 Figura 7 – Ilustração do Armazém na realidade. ...................................................................... 14 Figura 8 – Exemplo de vários processos de carga no simulador disponibilizado ...................... 15 Figura 9 - Sequência de Produção........................................................................................... 16 Figura 10 – Exemplo de dois processos de descarga seguidos efectuada no simulador .......... 17 Figura 11 - Ilustração das três ferramentas existentes na maquete ......................................... 18 Figura 12 - - Exemplo de partilha do Tapete Rotativo............................................................. 19
Lista de Tabelas Tabela 1 - Mapeamento do tipo de produções base impostas no guião do projecto ................ 12 Tabela 2 - Mapeamento do tipo de produções complexas impostas pelo grupo ...................... 12 Tabela 3 - Sequência de produção aquando da execução de uma dada ordem ........................ 14 Tabela 4 - Número de peças presente no armazém inicialmente (definido pelo grupo) ........... 15
4
Projecto de uma Célula de Produção 3 de Janeiro de 2011
1. Introdução 1.1 Apresentação do Documento No âmbito da unidade curricular “Informática Industrial” foi proposto a realização de um sistema de controlo de uma Linha de Produção Flexível do DEEC. O presente relatório tem como objectivo servir de suporte justificativo à modelação em UML da linha de produção referida.
1.2 Objectivos O sistema de controlo a que este trabalho faz referência, tem de compreender os seguintes objectivos: Permitir a produção de peças que o utilizador quiser, bastando para isso que o utilizador identifique o tipo de peça final, o tipo de peça inicial e a quantidade a ser produzida; Permitir a descarga de peças que utilizador solicitar, bastando-lhe que indique o tipo de peça, o local de descarga e a quantidade; Permitir a carga de peças bastando para isso que o utilizador deposite no local de carga peças do tipo 1. Os objectivos acima apresentados são considerados principais. No entanto pretende-se que o sistema consiga a execução em simultâneo de pelo menos duas ordens de produção distintas. Além disto pode-se considerar um outro objéctivo: o sistema deve ser capaz de descarregar as peças que o utilizador pretenda mesmo que estas não existam em stock, bastando para isso que o sistema produza de forma automática as peças necessárias.
5
Projecto de uma Célula de Produção 3 de Janeiro de 2011
2. Modelação do Sistema 2.1 Unified Modeling Language Para os problemas do tipo que foi proposto, a melhor abordagem é modelar o sistema que se pretende controlar. Desta forma consegue-se criar diferentes níveis de abstracção do mesmo sistema. Neste contexto surge a linguagem de modelação UML – Unified Modeling Language. Como já foi dito, a UML é uma linguagem de modelação. Através dos vários diagramas que esta linguagem fornece, é possível estruturar modelos de dados orientados a objectos. Fazem parte desta linguagem os seguintes diagramas:
Diagrama de Classes – descreve a estrutura de um sistema, mostrando as várias relações criadas entre os vários objectos; Diagrama de Componentes – descreve a forma como se relacionam os diferentes componentes que constituem um sistema; Diagrama de Casos de Uso – um caso de uso é a descrição do comportamento do sistema do ponto de vista do utilizador, sendo o seu diagrama a forma como sistema interage com o utilizador; Diagrama de estados – descreve a sequencia de estados por que um objecto passa; Diagrama de Sequência – descreve a maneira como os objectos se comportam ao longo do tempo Diagrama de Actividades – mostra o fluxo de actividades de um determinado processo; Diagrama de Comunicação – representa a forma como um os diferentes objectos comunicam entre si, ou seja, mostra o fluxo de mensagens trocadas; Diagrama de Distribuição – mostra a distribuição de hardware do sistema, sendo que as interligações é feita por software.
Os vários diagramas apresentados permitem representar diferentes tipos de sistemas. Para o presente projecto apenas se criaram dois diagramas: de classes e de sequência.
6
Projecto de uma Célula de Produção 3 de Janeiro de 2011
2.2 Diagrama de Classes
Figura 1 - Diagrama de Classes
7
Projecto de uma Célula de Produção 3 de Janeiro de 2011
2.3 Diagrama de Sequência Carga
Figura 2 – Diagrama de sequência para a carga
Este diagrama representa a forma como está organizada a comunicação entre os diferentes elementos do sistema quando se processa uma carga. A carga é iniciada sempre que uma peça é colocada no tapete CT8. Seguidamente, é transportada para o armazém com a sequência representada no diagrama e termina quando a peça sai do tapete AT2, o que indica que a peça entrou no armazém.
8
Projecto de uma Célula de Produção 3 de Janeiro de 2011
Descarga
Figura 3 - Diagrama de sequência para a descarga
Ao contrário da carga de peças, a descarga é iniciada através da ordem do operador indicando o número, o tipo de peça e o local onde deseja que estas sejam removidas. Logo após esta operação, é realizado um pedido ao armazém para exportar em AT1 a peça pretendida. Uma vez recebida a peça no tapete anterior, esta segue para o tapete indicado pelo operador para efectuar a descarga.
9
Projecto de uma Célula de Produção 3 de Janeiro de 2011
Produção
Figura 4 - Diagrama de sequência para a produção
O processo de produção é de todos o mais complexo. Depois de ter sido dada uma ordem deste tipo, o sistema processa-se, inicialmente, do mesmo modo que a descarga verifica a disponibilidade do armazém e coloca a peça no tapete de saída deste. A peça avança até ST1 e aguarda até ocorrer um dos seguintes eventos: Se a máquina série (A ou B dependendo do tipo de produção) estiver livre, a peça avança até à máquina que lhe está destinada e efectua a maquinação;
10
Projecto de uma Célula de Produção 3 de Janeiro de 2011 Caso o ponto anterior não se verifique e a máquina paralela estiver disponível, a peça avança para a maquinação paralela e executa as funções pretendidas. Resta referir que, quando o sistema decide para que máquina irá a peça a produzir, esta é dada como ocupada para evitar que uma nova peça se dirija para a mesma máquina. No caso da maquinação série, ambas as máquinas são dadas como ocupadas sempre que uma peça entra na máquina A, visto que o caminho para B fica bloqueado. A máquina é dada como livre logo que uma peça acaba a sua maquinação na mesma. Desta forma evita-se que uma nova peça tome o mesmo caminho que a anterior e bloqueie o sistema desnecessariamente. Após a tomada de decisão do caminho a seguir, a peça é maquinada e segue para o armazém através do tapete AT2, tal como acontece no processo de carga.
3. Estruturação interna Programas de Carga, Descarga e Produção, responsáveis pelo processamento dos três pedidos diferentes. A carga corre sempre, a descarga e a produção só correm quando o controlo de pedidos o permite.
Figura 5 - Organização interna do projecto em Isagraf
Grafcet responsável pelo controlo dos tapetes rotativos e deslizantes. Grafcet que controla a troca de ferramenta nas máquinas. Controlo de pedidos. Um dos Grafcets é responsável pelo armazenamento do pedido e outro pela execução da ordem que contém os diversos pedidos. Grafcet de reserva de tapetes. Medida de segurança implementada para ter a certeza que uma peça só avança para um tapete quando este se encontra realmente livre.
11
Projecto de uma Célula de Produção 3 de Janeiro de 2011
4. Processamento de Pedidos 4.1 Controlo dos pedidos O nosso sistema está pronto para receber qualquer número de pedidos de produção simultâneos. Isto pois existiu um mapeamento de todos os casos possiveis de pedido e portanto criando um grafcet único para cada tipo de produção permite ao sistema correr grafcet’s em paralelo (ver tabela 1). Peça inicial P1 P1 P2 P2 P3 P5
Peça final P3 P2 P6 P5 P2 P6
Máquina Ma Ma Ma Mb Mb Mb
Ferramenta T2 T3 T1 T1 T2 T3
Tempo(seg) 10 18 30 15 10 15
Tabela 1 - Mapeamento do tipo de produções base impostas no guião do projecto
De modo a reduzir os conflitos entre grafcet’s e originar deadlocks inesperados, decidiu-se que seria uma boa estratégia definir um mapeamento que obrigasse a peça a não ser transportada para outra máquina, mesmo que esta sofresse um número elevado de maquinações. Como se pode observar na tabela 2 tal estratégia foi fácil de implementar uma vez que apenas uma maquinagem complexa é maquinada em duas máquinas distintas. Existiu apenas um caso em que a nossa estratégia pode ser posta em prática, P6 a partir de P3. Genéricamente o caminho utilizado seria produzir P2 apartir de P3 na máquina B e mais tarde enviar a peça para a máquina A de modo a produzir P6 apartir de P2, contudo isso leva a um tempo efectivo de 10seg+30seg +tempo de transporte e a um aumento da probabilidade de ocorrer conflitos entre grafcets, daí a nossa estratégia ser aplicada pois conseguimos remover o tempo de transporte e evitar sérias colisões de grafcet. Assim decidiu-se maquinar em B usando as maquinagens básicas, P2 apartir de P3, P5 apartir de P3 e P6 apartir de P5, num tempo estimado de 10seg+15seg+15seg.
Peça inicial P1 P1 P3 P3
Peça final P6 P5 P5 P6
Máquina Ma Ma,Mb Mb Mb
Ferramenta T3,T1 T3,T1 T2,T1 T2,T1,T3
Tempo (seg) 18+30 18+15 10+15 10+15+15
Tabela 2 - Mapeamento do tipo de produções complexas impostas pelo grupo
Contudo há que ter em atenção que tal controlo levanta um problema bastante comum, o facto de o armazém não conseguir identificar que peças deve extrair. Para isso criou-se um controlo capaz de receber os parâmetros do pedido, no caso da produção peça inicial, peça final e quantidade a produzir, verificar se tais parâmetros são válidos, como por exemplo o
12
Projecto de uma Célula de Produção 3 de Janeiro de 2011 utilizador colocar um tipo de peça que não existe, e de seguida verificar se a quantidade de peças pedidas existe em Armazém, de modo a serem processadas mais tarde. Após tal análise, e activação pelo utilizador de uma variável booleana denominada “GUARDAR”, o sistema guarda(ou acumula) a informação do número de peças a produzir numa variável “PiPf” (por exemplo P1P3), fazendo reset aos parâmetros iniciais do pedido, peça inicial, peça final e quantidade, o que permite ao utilizador voltar a efectuar outro pedido e assim sucessivamente. Quando o utilizador desejar produzir as peças que foi pedindo basta activar uma variável booleana “EXECUTAR”, ou seja dar a ordem de processamento. A partir da figura 5 é possivel visualizar um excerto do grafcet de controlo descrito em cima.
Figura 6 - Excerto de grafcet retirado do controlo de pedidos
Na figura 5 é possivel visualizar dois niveis distintos, no primeiro o sistema efectua o reset da variavel GUARDAR assim que a transição T70 se verifique, ou seja à saída da etapa. A transição T70 varia conforme o tipo de produção pelo que as suas condições genéricas podem ser analizadas a partir do seguinte exemplo:
“PecaInicial = 1 AND PecaFinal = 5 AND GUARDAR= true AND Armazem_P1 > QuantidadeProducao” Após tais condições se vericarem o sistema passa para o segundo nivel onde o Armazém será actualizado e a variável P1P5 acumulará o valor da quantidade de Produção do pedido actual.
13
Projecto de uma Célula de Produção 3 de Janeiro de 2011
4.2 Ordem de Processamento No momento em que o utilizador coloca a variável “EXECUTAR” a true, está em condições de fornecer ao sistema a ordem de execução dos pedidos guardados e portanto começar o processamento. Assim surge uma vez mais o dilema de saber qual peça retirar do armazém, porém como o nosso objectivo é realizar um número indeterminado de produções ao mesmo tempo decidiu-se produzir uma peça de cada tipo de produção de maneira alternada até que não restem peças nas variáveis que guardam o número de peças a produzir “PiPf”. Para tal fez-se uso de um grafcet de controlo extra que possui uma ordem predefinida internamente pelo grupo que verifica se a variável “PiPf” possuí uma quantidade não nula e caso afirmativo decrementa essa variável em uma unidade e activa uma outra variável booleana “produzPiPf” que irá iniciar o grafcet produção da peça final f apartir da peça inicial i. Esta verificação é realizada em sequência segundo a seguinte ordem:
Peça inicial Peça final
1º P1
2º P1
3º P1
4º P1
5º P2
6º P2
7º P3
8º P3
9º P3
10º P3
P3
P6
P2
P5
P6
P5
P5
P6
P2
P6
Tabela 3 - Sequência de produção aquando da execução de uma dada ordem
4.3 Armazém O controlo do armazém funciona da seguinte maneira, existem seis variáveis responsáveis por armazenar o número de peças de cada tipo no armazém, denominadas do seguinte modo “ArmazemPi”, onde i é o número da peça(1,2,3,5,6). Portanto, na carga cada vez que uma peça chega ao tapete AT2 e é activa a variável de inserção de peça AT2_in, é também incrementada a variável “ArmazemP1”. Quando uma peça é extraída do armazém apartir da variável de pedido AT1_tp é também decrementada em uma unidade a variável correspondente à peça retirada. A partir deste tipo de controlo é possivel sempre ter uma noção daquilo que o armazém possui e portanto validar os pedidos como referido na secção 3.1 conforme a sua disponibilidade. Figura 7 – Ilustração do Armazém na realidade.
14
Projecto de uma Célula de Produção 3 de Janeiro de 2011
Num futuro desenvolvimento deste projecto o sistema poderá colocar uma variável a true quando houver falta de matéria-prima para produção e portanto assim que uma peça P1 entre no sistema será de imediato produzido a peça requerida e armazenada.
Armazém ArmazemP1 ArmazemP2 ArmazemP3 ArmazemP5 ArmazemP6
Valor inicial 20 20 20 20 20
Tabela 4 - Número de peças presente no armazém inicialmente (definido pelo grupo)
4.4 Carga Um pedido de carga é executado automaticamente pelo sistema de controlo, bastando para isso que o sensor CT8_p tenha o valor lógico 1. Quando isto se verifica a peça segue o caminho até ao armazém. Nos tapetes partilhados, nomeadamente os tapetes rotativos, tem prioridade a peça que o reserve em primeiro lugar ou, caso reservem o tapete em simultâneo, tem prioridade a peça proveniente da maquinação. Quando as peças chegam a AT2, o contador das peças do tipo 1 é incrementado numa unidade, tal como referido na secção anterior.
Figura 8 – Exemplo de vários processos de carga no simulador disponibilizado
15
Projecto de uma Célula de Produção 3 de Janeiro de 2011
4.5 Produção A linha de produção a que este relatório faz referência, pode produzir cinco tipos de peça básicos, como visto anteriormente, sendo que existe apenas um tipo de matéria-prima inicial (peça do tipo 1). No entanto é possível produzir outras peças a partir da transformação de outras peças. Note-se que as máquinas que realizam este tipo de operações pertencem à mesma célula de produção, isto é, se uma peça inicia uma produção complexa na célula de maquinação série, toda a restante operação se verifica nesta célula não passando nunca para a parte paralela. O mesmo se verifica com a maquinação paralela. Na figura seguinte mostra-se o diagrama de peças que podem ser produzidas:
Figura 9 - Sequência de Produção
Cada pedido de produção é constituído por 3 atributos: quantidade de produção, tipo de peça inicial, tipo de peça final. Estes dados só são entendidos pelo sistema depois do utilizador guardar (variável booleana) e executar (variável booleana). A variável guardar actualiza as variáveis do algoritmo de controlo responsável por produzir cada pedido. Após extracção da peça do armazém é verificada qual a celula que se encontra livre para a produção, ou seja , a paralela ou a serie, apartir de uma variável. De seguida a peça avança para a maquinação , contudo é importante salientar que quer os tapetes rotativos quer os deslizantes não são alvo de fila de espera, ou seja a peça nunca ficará à espera que uma máquina seja liberta num tapete rotativo pois tal recurso é partilhado de igual modo pela descarga e dessa maneira estariamos a condicionar o sistema àquela maquinagem, facto que iria limitar a nossa modelação. Portanto cada vez que é suposto fazer fila de espera num tapete rotativo o armazém simplesmente não extrai tal peça o que nos fornece uma flexibilidade enorme a nível de processamento de pedidos distintos, uma vez que desta maneira uma descarga tem prioridade face a uma produção caso a produção efectue fila de 16
Projecto de uma Célula de Produção 3 de Janeiro de 2011 espera num tapete rotativo ou deslizante. Tal estratégia poderá atrasar a produção, contudo permite maior eficácia na resposta ao pedido de descarga que é efectuado de imediato. Quando a peça acaba de ser produzida esta é conduzida para o armazém directamente a partir dos tapetes rotativos inferiores, porém é deveras importante salientar que tanto na produção como na carga estes tapetes são reservados apartir de uma variável logo aquele que o reservar primeiro possui prioridade perante o outro, e isto verifica-se quer para carga e produção simultânea ou para várias produções ao mesmo tempo.
4.6 Descarga Um pedido de descarga tem como atributos: peça a descarregar, quantidade de peças e a saída (1 – tapete CT3; 2 – tapete CT4; 3 – tapete CT5). Tal como num pedido de produção, para o sistema reconhecer um pedido, o utilizador tem de guardar (variável booleana) e executar (variável booleana). Ao contrário da produção, que aceita um número de produções simultâneas indeterminado, na descarga é possivel apenas efectuar um processo de descarga em paralelo com a produção, ou seja, a variável guardar não é aplicada neste caso e portanto quando o utilizador accionar a variável EXECUTAR, será processada as ordens acumuladas juntamente com a descarga composta pelos parametros actuais. Se os parametros actuais do processo de descarga não forem válidos o sistema simplesmente ignora o pedido de descarga e efectua o processo de produção apenas. Assim, no caso de ser pedido mais do que 2 peças para o tapete CT3, o pedido é ignorado pois trata-se de requisito imposto pelo guião do trabalho, onde apenas os tapetes CT4 e CT5 suportam descarregamentos com duas ou menos peças. Porém é importante salientar que é possivel efectuar várias descargas seguidas, o que produz um efeito de simultâniedade contudo na realidade não se trata de descargas simultâneas mas sim descargas seguidas.
Figura 10 – Exemplo de dois processos de descarga seguidos efectuada no simulador
17
Projecto de uma Célula de Produção 3 de Janeiro de 2011
5. Controlo da Ferramenta Inicialmente supõe-se que o sistema possui a ferramenta T1 carregada, portanto o controlo desta é feita consoante a comunicação entre o grafcet de produção e um grafcet extra que efectua a troca de ferramenta na máquina desejada. Existe uma variável associada a cada máquina que armazena o número da ferramenta que se pretende activar. Quando esse valor é alterado o grafcet de controlo de ferramentas toma as medidas necessárias para trocar de ferramente. Assim , sabendo que a ferramenta roda em apenas um sentido, horário,se for pedida a ferramenta 2, o grafcet de controlo irá girar a ferramenta uma única vez até dectetar presença de ferramenta. Caso seja pedido a ferramenta 3, o grafcet rodará duas vezes, ou seja, roda uma vez até encontrar o sensor e volta a rodar segunda vez até encontrar sensor novamente. É importante Figura 11 - Ilustração das três ferramentas salientar que este controlo armazena internamente existentes na maquete e do ângulo que fazem entre si apartir de uma variável auxiliar o número actual da ferramenta no sistema para cada máquina, de modo que quando lhe for pedido uma dada ferramenta ele saber o número de vezes que deverá rodar até atingir a ferramenta desejada.
18
Projecto de uma Célula de Produção 3 de Janeiro de 2011
6. Controlo de Tapetes A linha de produção sobre a qual incide este trabalho apresenta tapetes que tem de ser partilhados entre os diversos pedidos. Para tal optou-se por fazer um controlo independente para os tapetes rotativos (ST2, ST6, PT2, PT9, CT2) e os tapetes deslizantes (PT4 e PT6). Embora as variáveis de controlo sejam diferentes entre estes dois tipos de tapetes, a lógica de controlo da partilha é mesma. Para garantir que não ocorrem conflitos foi atribuída uma variável booleana a cada um dos tapetes referidos no parágrafo anterior. Estas variáveis servem para reservar o tapete, tomando para isso o valor lógico 1. Na Error! Reference source not found. mostra-se um exemplo: se a peça vermelha tiver reservado primeiro o tapete rotativo PT9 (variável de reserva passa a 1)., então a peça preta terá de esperar até que o recurso esteja disponível (variável de reserva passa a 0). No caso de as peças chegarem ao mesmo tempo aos locais indicados, a peça preta dá prioridade à vermelha pois tal como referido anteriormente, a peça proveniente da maquinação tem sempre prioridade.
Figura 12 - - Exemplo de partilha do Tapete Rotativo
19
Projecto de uma Célula de Produção 3 de Janeiro de 2011
7. Conclusão No final deste trabalho, o nosso sistema foi capaz de cumprir com distinção os seguintes objectivos: - Produção de uma peça com uma ou mais maquinações, - Carga de peças, - Descarga de peças, - Produção e carga de peças em simultâneo. Relativamente aos seguintes objectivos: - Produção e descarga de peças em simultâneo, - Realização de produções simultâneas, O sistema apresentou algumas falhas chegando mesmo a existir bloqueio do mesmo. Após observação do sucedido chegou-se à conclusão que estas falhas ocorreram, não devido a uma má estruturação do problema, mas devido a não garantir uma decisão exclusiva em todos os casos de simultaneidade de acesso a recursos partilhados. Apesar do trabalho do grupo não ter realizado todos os objectivos que pretendia, foi importante perceber que a estruturação do problema é dos passos mais importantes para a realização de projectos deste tipo e é determinante para o desenrolar de todo o trabalho.
20
Projecto de uma Célula de Produção 3 de Janeiro de 2011
8. Bibliografia Fowler, M., & Scott, K. (2000). UML distilled : a brief guide to the standard object modeling language. Boston: Addison Wesley. Joaquín, L. G. (s.d.). Apuntes Tácticos - UML. Obtido em 31 de Dezembro de 2010, de http://jms32.eresmas.net/tacticos/UML/UMLIndex.html Lewis, R. W. (2001). Modelling control systems using IEC 61499. Londres: The Institution of Electrical Engineers. Macoratti, J. C. (s.d.). macoratti. Obtido em 31 de Dezembro de 2010, de http://www.macoratti.net/net_uml3.htm Nogueira,
A.
(s.d.).
iMasters.
Obtido
em
31
de
Dezembro
de
2010,
de
http://imasters.com.br/artigo/2994/uml/historico_da_uml/ Sousa, M. J. (2010). Apontamentos da disciplina da Unidade Curricular Infomática Industrial.
21