aplicando statecharts À modelagem do sistema … · i 'sbai -unesp -rio claro/sp -brasil...

9
I 'SBAI - UNESP - Rio Claro/SP - Brasil APLICANDO STATECHARTS À MODELAGEM DO . - SISTEMA DE CONTROLE DE PRODUÇAO DE UMA CÉLULA FLEXíVEL DE MANUFATURA Júnia Coutinho Anacleto Silva 1 Paulo Rogério Politano 1 Renata Pontin de Mattos Fortes 2 Arthur José Vieira Porto 3 ABSTRACT This papel' describes the modelling of a production control subsystem of a Flexible Manufacturing Cell using Statechart - a technique ior the specification of beha- vior aspects presented by reactive systems. Additionally it shows how the use of a software tool for Statechart Simulation can help design, simulation and validation of the created model based on the informal specification previously available for FMS. Finally a discussion of a "C" implementation of the model is presented. 1 Introdução Os subsistemas de controle dos Sistemas Flexíveis de Manufatura - FMS (Flexible Manufacturing Systems) têm, de um modo geral, as funções de automatizar, integrar e assistir as operações realizadas durante o processo de manufatura através de um ambiente computacional. O objetivo final é o de fazer parte de um ambiente integrado por computador, conhecido por CIM (Com- puter Integrated Manufacturing). Os FMS devem funcionar de maneira que seus componentes trabalhem de forma sincronizada e otimizada, produzindo de pequenos a médios lotes de peças. Para que isso seja possível, é necessário que os subsistemas de controle e comunicação tenham sido modelados de forma adequada, de forma a facilitar a validação do sistema especificado com respeito aos requisitos desejados pelo usuário [2J e [3J. Uma das características importantes dos sistemas FMS é a intensa comunicação de seus componentes com o ambiente e a reação a eventos externos e internos. Esse comporta- mento reativo e a necessidade de sincronização dos diversos componentes, têm sido modelados, usualmente, por Redes de Petri e por Máquinas de Estados Finitos. Recentemente, uma nova técnica, denominada Statechart, foi proposta por Harel[5]. Ela combina o rigor matemático das Máquinas de Estados Finitos com extensões que a dotam de capacidade para representar situações de concorrência, junto com uma notação visual bastante rica. Além disso, sua ca- pacidade de representar diferentes níveis de abstração elimina o problema de grandes diagramas lDC-UFSCar Caixa Postal 676 - S.Carlos-SP 2ICMSC-USP Caixa Postal 668 - S.Carlos-SP 3LAMAFE-EESC-USP . - 491-

Upload: vunhi

Post on 18-Nov-2018

219 views

Category:

Documents


1 download

TRANSCRIPT

I 'SBAI - UNESP - Rio Claro/SP - Brasil

APLICANDO STATECHARTS À MODELAGEM DO . -

SISTEMA DE CONTROLE DE PRODUÇAO DE UMA

CÉLULA FLEXíVEL DE MANUFATURA

Júnia Coutinho Anacleto Silva 1

Paulo Rogério Politano 1

Renata Pontin de Mattos Fortes 2

Arthur José Vieira Porto 3

ABSTRACT

This papel' describes the modelling of a production control subsystem of a Flexible Manufacturing Cell using Statechart - a technique ior the specification of beha­vior aspects presented by reactive systems. Additionally it shows how the use of a software tool for Statechart Simulation can help design, simulation and validation of the created model based on the informal specification previously available for FMS. Finally a discussion of a "C" implementation of the model is presented.

1 Introdução

Os subsistemas de controle dos Sistemas Flexíveis de Manufatura - FMS (Flexible Manufacturing Systems) têm, de um modo geral, as funções de automatizar, integrar e assistir as operações realizadas durante o processo de manufatura através de um ambiente computacional. O objetivo final é o de fazer parte de um ambiente integrado por computador, conhecido por CIM (Com­puter Integrated Manufacturing). Os FMS devem funcionar de maneira que seus componentes trabalhem de forma sincronizada e otimizada, produzindo de pequenos a médios lotes de peças. Para que isso seja possível, é necessário que os subsistemas de controle e comunicação tenham sido modelados de forma adequada, de forma a facilitar a validação do sistema especificado com respeito aos requisitos desejados pelo usuário [2J e [3J.

Uma das características importantes dos sistemas FMS é a intensa comunicação de seus componentes com o ambiente e a reação a eventos externos e internos. Esse comporta­mento reativo e a necessidade de sincronização dos diversos componentes, têm sido modelados, usualmente, por Redes de Petri e por Máquinas de Estados Finitos. Recentemente, uma nova técnica, denominada Statechart, foi proposta por Harel[5]. Ela combina o rigor matemático das Máquinas de Estados Finitos com extensões que a dotam de capacidade para representar situações de concorrência, junto com uma notação visual bastante rica. Além disso, sua ca­pacidade de representar diferentes níveis de abstração elimina o problema de grandes diagramas

lDC-UFSCar Caixa Postal 676 - S.Carlos-SP 2ICMSC-USP Caixa Postal 668 - S.Carlos-SP 3LAMAFE-EESC-USP .

- 491-

I SBAI - UNESP " Rio Claro/SP - B{asil

planos, o que ocorria frequentemente quando se usava Máquinas de Estados Finitos para modelar problemas grandes e complexos.

Um conjunto de ferramentas de software para apoio à utilização de Statecharts vem sendo desenvolvido pelo Grupo de Engenharia de Software do Departamento de Computação e Estatística do Instituto de Ciências e Matemáticas de São Carlos (ICMS C-USP) [1] e [4]. Um dos objetivos deste trabalho foi o de se avaliar a aplicabilidade das ferramentas na prática profissional. Foram então utilizadas as ferramentas para a especificação de um subsistema de controle de uma Célula Flexível de Fabricação, em colaboração com o Laboratório de Máquinas - Ferramentas (LAMAFE) do Departamento de Engenharia Mecânica da Escola de Engenharia de São Carlos (EESC-USP) .

o presente trabalho está organizado da seguinte forma: introdução do conceito de FMS e descrição informal do subsistema de controle desenvolvido, introdução à técnica Statechart e ao ambiente desenvolvido para o apoio à sua utilização, especificação do subsistema de controle de produção e a descrição do protótipo gerado a partir dessa especificação.

2 Descrição informal de um Sistema Flexível de Manufatura

A automação na manufatura requer a utilização de hardware específico dentro de um ambiente de fábrica. Elementos como robôs, máquinas-ferramenta controladas numericamente e sistemas automatizados de manipulação e transporte de material, devem ser integrados para formar as chamadas Células Flexíveis de Fabricação ou os Sistemas Flexíveis de Manufatura (FMS), que diferenciam na quantidade de seus componentes e níveis hierárquicos de integração.

Esse tipo de sistema possui um alto grau de interação e comunicação. Eles são consti­tuídos por vários equipamentos automatizados conectados em uma "configuração celular", para executar várias tarefas simples, relacionadas a uma determinada família de peças. Essas células podem realizar uma grande variedade de funções, orientadas por um sistema de informação integrado.

Nesse trabalho utilizou-se uma Célula Flexível de Fabricação composta de: um veículo auto-guiado (AGV), um magazine automático de peças (MAP), um robô e um centro de usinagem ((eU).

Cada um dos componentes básicos da Célula Flexível possui suas funções específicas, cuja descrição abaixo, se referem à disposição da Célula Flexível considerada. São elas:

MAP : consiste de um depósito automático de peças. Nele podem estar as peças usinadas ou as peças brutas de um programa de produção. Ele é responsável por:

1. Retirar a peça do casulo para a plataforma de carga e descarga e colocá-la sobre o AGV.

2. Retirar a peça do AGV e transportá-la da plataforma de carga e descarga para o casulo.

AGV : trata-se de um veículo automaticamente guiado. Ele é responsável pelos trans­porte das peças (usinadas ou não) entre o MAP e o Robô. Seu funcionamento retrata uma disposição física real entre os componentes da Célula Flexível, onde existem distâncias físicas a serem respeitadas.

- 492-

I SBAI - UNESP - Rio Claro/SP - Brasil

Robô: é um dispositivo reprogramável, projetado para manipular e transportar peças através de movimentos programados para uma tarefa de manufatura específica. Ele é responsável por:

1. Retirar a peça-bruta do AGV, levá-la próxima ao CeU e colocá-la sobre a parte externa da mesa do CeU.

2. Buscar a peça-usinada na parte externa da:. mesa do Ce U, levá-la próxima ao AGV e colocá-la sobre o mesmo.

(eU: consiste de uma máquina-ferramenta CNC com um processador dedicado com a capacidade de carregamento automático de peças e troca automatizada de ferra­mentas. Sua função é usinar peças. A peça a ser usinada deve estar na mesa-interna (parte interna da mesa) do CeU, enquanto a mesa-externa pode estar com uma nova peça-bruta, ou então com uma peça-usinada anteriormente, aguardando que o robô a retire.

3 Visão geral do Statecharts e do ambiente de apOlO à sua utilização

A especificação de um sistema complexo através de Diagrama de Transição de Estados (que corresponde à técnica gráfica das Máquinas de Estados Finitos-MEF) convencionais, geralmente esbarra na necessidade de se criar um diagrama muito volumoso, com grande quantidade de estados e transições, o que torna difícil sua visualização e manipulação. Além disso, existe a necessidade de um cuidadoso trabalho de verificação da especificação, que pode ser feito através de provas formais. O usuário também necessita ter confiançq. de que a especificação representa os requisitos do sistema e não leva a situações indesejáveis como deadlock e/ou perigo à segurança do operador.

A técnica Statecharts, segundo Harel[5], é um aUXIlio à especificação e projeto de Sistemas Reativos complexos e de grande porte. Os Statecharts fornecem um formalismo visual para representação dos relacionamentos entre todos os estados em que um Sistema de Tempo­Real pode se encontrar.

Nos diagramas Statecharts os retângulos com cantos arredondados são utilizados para denotar os estados em qualquer nível, utilizando o encapsulamento para expressar a relação de hierarquia. As setas, representando as transições, podem se originar e terminar em estados de diferentes níveis. Uma seta pode ser rotulada com uma expressão .lógica envolvendo eventos e condições que, se forem verdadeiros num certo instante no sistema, causarão a transição. Junto com a mudança de estado, a transição pode provocar instantaneamente ações que podem, por sua vez, dar origem a novos eventos (efeito broadcasting). Esses eventos poderão causar o disparo de novas açÕes em outros componentes ortogonais (isto é, estados paralelos).

Para a representação de paralelismo de estados (concorrência ou ortogonalidade) utili­zam-se linhas tracejadas delimitando os estados que estão em paralelo. Cada conjunto de estados delimitado pelas linhas tracejadas corresponde a Máquinas de Estados Finitos independentes.

Mesmo o Statechart tendo um maior poder de representação do comportamento di­nâmico de sistemas reativos em relação às MEF's, ainda existem dificuldades para se validar manualmente uma especificação completa. Principalmente quando o sistema especificado exige

- 493-

I SBAI - UNESP -. Rio Claro/SP - Brasil

H INTERfACES ......... MULTI-5iERIAL .... --_

. : L-:--r-E ......,....PARAU_LA---I

.. leRe GEAENCIADOR

DA cw..v. L&%

ROBO

Figura 1: Esquema da Célula Flexível

flexibilidade, suportando, por exemplo, questionamentos do tipo what-iJ("o que acontece se ... "). Nesse contexto, verifica-se a importância das ferramentas computacionais que foram utilizadas neste trabalho. Esforços no mesmo sentido são encontrados em [7] e [8].

o conjunto de ferramentas de software para apoio à. utilização de Statecharts fornece meios de simulação de Statecharts e é denominado Statsim. Inicialmente, é criada uma Base de Dados que armazena a especificação do diagrama Statecharts, que pode ser inserida em sua forma gráfica através do EGS (Editor Gráfico de Statecharts).

o Statsim, que roda em estações Sun sob o Openwindows, permite a simulação de qualquer diagrama Statechart criado dentro do seu ambiente. Através de botões na tela e de um menu dos eventos possíveis, o usuário indica, passo a passo, os eventos ocorridos e o simulador, seguindo a semântica definida por Harel(6), realiza a simulação [9].

4 Especificação e Simulação de Controle de Produção de uma Célula Flexível de Fabricação

Com base na descrição informal dos componentes de uma Célula Flexível e de seu funcionamento, foi especificado um sistema composto de cinco sub estados em paralelo correspondentes aos cinco elementos componentes da Célula considerada, a saber: um MAP, um AGV, um robô e um Centro de Usinagem (CeU), subdividido em um estado de controle da mesa externa e um estado de controle da usinagem.

Tomou-se como ponto de partida a análise orientada a objetos uma vez que os com­ponentes físicos mais independentes da Célula foram representados nos respectivos subestados paralelos.

A seguinte configuração inicial de estados foi adotada:

o MAP encontra-se "embarcando"

O AGV vazio à. espera de uma peça bruta,

O robô também vazio posicionado na direção do AGV,

- 494-

I SBAI - UNESP - Rio Claro/SP - Brasil

Inicio

tr ...... J'\J tronspJ'\J

V6Z10 ..... 10

flll..8lob <ln~)

_10

••••••••••.............•.. _ ....•.•.• ~ ................. ·······························r······················ ..................... . . . IIW' • IIow...."U:'U , : c.u

_IA

..... __ f_IA __ JOt..cAo( In ro~lcnondo)

e<aJ'B

· · · · ·

fia..tronspJ'j( in trONl'J'B)

Figura 2: Statechart para Controle de Produção da Célula Flexível

A mesa externa do CeU vazia aguardando a chegada de uma peça,

e o CeU usinado uma peça, conforme mostra o esquema da figura 1.

A configuração inicial ficou assim estabelecida para representar a simulação mais ge­nérica em que os elementos do FMS estivessem já em produção. É importante notar que os casos extremos, de levar a primeira vez uma peça para ser usinada e o de buscar a última peça, não têm necessidade de serem especificados pelo Statechart, consistindo de um conjunto inicial de eventos gerados pelo programa controlador, posiclonando todos os componentes para poder iniciar a operação. O objetivo principal foi o de caracterizar os estados operacionais dos elementos da Célula Flexível funcionando "em regime".

A figura 2 mostra o Statechart resultante que modelou o controle dos componentes da Célula Flexível de Manufatura considerada. Pode-se ver que os cinco componentes básicos estão representados pelos estados MAP, AGV, ROBO, Mesa_exLCeU e CeU. Os estados iniciais indicam a configuração genérica dos componentes da Célula em regime, que se estabelece para que se cumpra um possível programa de produção.

~ ,;' ,

c~tro Universitário dê! , ..... .. ~. ~l a Geral dos Proy€:ssc

- 495-

I SBAI - UNESP - Rio Claro/SP - Brasil

5 Projeto do Protótipo do Sistema de Controle de Produção de Célula Flexível de Fabricação

o projeto constituiu-se das seguintes etapas: definição da arquitetura básica do sistema, das estruturas de dados a serem utilizadas e definição da lógica de execução.

A figura 3 mostra a arquitetura básica definida, com seus módulos principais, suas interfaces, monitorando e comunicando-se com os elementos da Célula.

As estruturas de dados principais definidas foram quatro tabelas, a saber:

(a) estados de Statecharts,

(b) eventos,

(c) comandos a serem enviados a cada componente da Célula,

(d) e estados atuais ativos do Statecharts representando a configuração corrente do sis­tema.

Essas estruturas de dados foram preenchidas a partir do modelo especificado no dia­grama S tatechart.

A tabela de estados registra, para cada estado especificado no Statecharts, o índice dele, uma breve descrição do mesmo, bem como todos os eventos que podem ocorrer estando a Célula neste estado.

A tabela de eventos relaciona todos os eventos do sistema, sendo que, para cada evento, é registrado seu índice, sua descrição, a condição para que ocorra este evento, o índice do próximo estado a ser ativado na ocorrência deste evento, e o índice do comando a ser enviado aos demais componentes da Célula, associado ao próximo estado.

N a tabela de comandos, relaciona-se para cada comando o índice dos comandos, sua descrição e o índice do componente da Célula a que se destina o comando (MAP, AGV, Robô ou CeU).

Através da tabela de estados atuais, é feito o controle do comportamento do sistema, onde os estados ativos são relacionados, juntamente com os comandos que devem ser executados durante sua ativação. Essa tabela tem o número variável de elementos, pois a cada evento ocorrido, um novo estado é ativado e colocado na tabela, sendo que o estado desativado é retirado da tabela. Os eventos ocorrem quando, a partir do énvio dos comandos aos componentes da Célula, eles são executados, retornando um status de fim de execução. Esse status é que determina a efetiva ocorrência do evento e conseqüente mudança de estado.

6 Implementação de um Protótipo de Sistema de Controle de Produção de Célula Flexível de Manufatura

O desenvolvimento do programa de controle da Célula Flexível modelado foi feito em linguagem de programação "C".

- 496-

I SBAI - UNESP - Rio Claro/SP - Brasil

I F I M

IuperYI •• r comandol CONTROLE

d. -a'lul. 4--- COMUNICAÇÃO

lIalul

".'u. ~ndo'l j=dO' CN 1 p -_ ... -".'u. ""u. jc om~ndO' Pft9'W'III CN li a' u •

com.naoa

G6"------' ru GAZIN 1

Figura 3: Arquitetura Básica do Sistema

o algorítimo implementado foi baseado em bus~as nas tabelas referidas no item ante­rior, ficando a cargo das estruturas de dados o ponto forte de representação da especificação. A sequência das buscas a essas tabelas é feita a partir de uma situação inicial definida na tabela de estados atuais. No caso do Statechart modelado, essa tabela de estados atuais possui, no início, os estados defauLt, ou seja, os estados do diagrama que po~suem uma pequena seta sem rótulo apontando-lhes.

Conhecendo-se os estados atuais, os comandos a eles associados são executados. Faz-se, então, a busca na tabela de estados, coletando todos os eventos que podem ocorrer com essas configuração. A seguir, são recuperados todos esses eventos, verificando-se as suas condições de ocorrência e uma nova configuração da tabela de estados atuais é estabelecida.

As tabelas referem-se aos elementos básicos do diagrama Statechart modelado: de estados, eventos e dos comandos, e foram preenchidos a partir da especificação da figura 2.

Cada estado modelado corresponde, na maioria das vêzes, a um comando, ou a um conjunto de comandos, enviado a cada um dos componentes da Célula. Existe também uma relação entre a execução desses comandos e o disparo de outros eventos especificados.

o programa final para o controle de produção constituiu-se de aproximadamente 2000 linhas de código fonte e foi executado em microcomputador tipo IBM-PC. Inicialmente, durante a fase de levantamento e validação de requisitos do sistema de controle de produção da Célula, cada um dos componentes foi simulado por microcomputador e conectados em uma rede proprietária tipo estrela com meio físico RS-232C serial. Posteriormente, o sistema de controle foi instalado na Célula Flexível existente no LAMAFE e encontra-se em uso.

7 Conclusões

o trabalho de especificação e projeto de sistemas de grande porte e/ou complexos requer cada vez mais uso de ferramentas de software de apoio ao seu desenvolvimento. Para obter maior produtividade e melhor qualidade do produto, ferramentas básicas de apoio ao desenvolvimento

- 497-

I SBAI - UNESP - Rio Claro/SP - Brasil .

são imprescindíveis.

Nesse trabalho pôde-se constatar a aplicabilidade das ferramentas de software desen­volvidas na definição do subsistema de controle de Células Flexíveis de Manufatura. A utilização das ferramentas durante a especificação do subsistema controlador da Célula Flexível não apre­sentou dificuldades para usuários que ainda não as dominayam.

Dois aspectos a ressaltar nesse experimento: o alto poder de representação e concisão de Statecharts e a facilidade de visualização dos componentes físicos do sistema, havendo uma correspondência imediata entre eles e os componentes ortogonais de mais alto nível dos State­charts. Entretanto para se conseguir esse efeito procurou-se ,evitar o uso de variáveis, como é permitido no Statecharts, para representar componentes, tomadas de decisão, etc.

Foi notável também a facilidade de implementação que o Statecharts permite a partir de estruturas de dados simples. Além disso, o processo de validação da especificação foi reali­zada em um tempo relativamente curto tendo-se em vista que o sistema inicial controlador da Célula, cujos componentes foram simulados por microcomputadores, foi totalmente desenvolvido (especificado e implementado) em aproximadamente três meses.

Verificou-se que é possível utilizar a descrição dos estados como comandos de mais alto nível, isto é, a própria especificação montando a tabela de comandos.

Novas ferramentas de software de apoio ao desenvolvimento de sistemas estão sendo ela­boradas e a evolução sugere a condução de um suporte cada vez mais amplo à técnica Statecharts por ser bastante promissora.

Dentre as novas ferramentas sendo desenvolvidas está a de uma linguagem de simulação baseada em Statecharts com possibilidade de atribuição de' distribuição estatística à ocorrência. de eventos e tempo de execução às atividades associadas aos estados. O resultado da simulação poderá ser, opcionalmente, registrado num arquivo de log ou visto de forma animada na tela. Este é um passo no sentido de se gerar futuramente, .protótipos do sistema espeéificado.

Referências

[1] I Batista Neto, J.E.S. (1991). Editor Gráfico para Statecharts, Dissertação de Mestrado, 'ICMS C-USP.

[2] Deisenroth, M.P.j Zhang, Y. (1992). An Integrated Intelligent Shop Control System, Flexible Information Management, Proceedings of the Second International FAIM Conference, Falls Church, Virginia, U .S.A.

[3] Fine, C.H. (1989). Stmtegic Manufacturing - Dinamic New Directions for the 1990s, Dow­Jones Irwinj Homewood, lilinois, U.S.A., p257-274.

[4] Fortes, R.P. de M. (1991). Uma Ferramenta de Apoio à Utilização de Statecharts para Especificação do Comportamento de Sistemas de Tempo-Real Complexos, Dissertação de Mestrado, ICMS C-USP.

[5] Harel D. (1987). STATECHARTS: A Visual Formalism for Complex Systems, Science of Comp. Programming, 8:231-274.

- 498-

I SBAI - UNESP - Rio Claro/SP - Brasil

[6] Harel D. (1987). On the Formal Semantics of Statecharts, In: Proceeding of the 2nd IEEE Symposium on Logic in Computer Science, Ithaca, N.Y.

[7] Harel D. et aI (1988). Statemate: A Working Environment for the Development of Com­plex Reactive Systems, In: Proceedings of the Tenth International Conference on Software Engineering. (Singapore, April), Washington D.C., IEEE.

[8] Maraninchi, F. (1989). Argonaute: Graphical Description, Semantics and Verification o} Reactive Systems by Using a Process Algebra, Berlin, LNCS, Springer- Verlag, 407:38-53.

[9] Masiero, P.C; Fortes, R.P. de M; Batista Neto, J.E.S .. (1991). Edição e Simulação do As­pecto Comportamental de Sistemas de Tempo-Real, Anais do XVIII Seminá.rio Integrado de Hardware e Software, SBC, Santos-SP.

- 499-