Instalação do Heptagon no Ubuntu 14.04

Este tutorial busca explicar a instalação do Heptagon, um software para modelagem de sistemas de eventos discretos (SEDs) que utiliza a linguagem BZR e que permite a implementação e estudo das propriedades de SEDs. Desta forma, pode-se construir autômatos visando modelar e controlar dispositivos discretos tais como aqueles encontrados em plantas de fábricas ou mesmo dispositivos domésticos como lâmpadas, fogões, geladeiras, máquinas de lavar, entre outras. No campo das aplicações para casas inteligentes, a intenção deste campo de pesquisa é criar modelos aplicados à Internet das Coisas.

Para a instalação do Heptagon, é necessário instalar dois softwares:

  • OCaml,linguagem de programacão imperativa. É recomendado a instalação do OPAM para gerenciar os downloads do OCaml.
  • Sigali: Sintetizador de controles discretos.

Instalação do OCaml e de pacotes necessários

Para a instalação do OCaml iremos utilizar o gerenciador OPAM. Iremos adicionar o repositório do OPAM pelo PPA e instalaremos os pacotes necessários, como descrito a seguir:

#Instala o OPAM (para gerenciar libs do OCaml) (http://opam.ocaml.org/doc/Install.html)
sudo add-apt-repository ppa:avsm/ppa
sudo apt-get update
sudo apt-get install ocaml ocaml-native-compilers camlp4-extra opam

Após a instalação dos pacotes, iremos iniciar o ambiente e configurar o opam, através dos seguintes comandos:

opam init
#muda para a versão 4.02.1
#(tutorial feito em abril de 2016)
#Talvez a versao mais recente seja diferente
opam switch 4.02.1
eval `opam config env`

Após a configuração do OPAM,  instalaremos os pacotes necessários do OCaml para a compilação do Heptagon. Tais pacotes são o ocamlbuild, ocamlgraph, ocamlfind e o menhir. No Ubuntu 12.04, apenas estes pacotes são necessários. No Ubuntu 14.04, é preciso instalar o m4 via apt-get e o camlp4 via opam.

#No ubuntu 14.04, instalar m4 e camlp4 via opam
sudo apt-get install m4
opam install ocamlfind
opam install ocamlbuild
opam install ocamlgraph
opam install menhir
opam install camlp4

Instalação do Sigali

O Sigali será usado para a síntese do controlador. Tal síntese é feita através de contratos, que ditam as regras da execução do autômato. Por exemplo, pode ser configurado que o valor de uma variável jamais será menor que 0, aceitando apenas números positivos, ou que dois estados não podem estar “true” ao mesmo tempo, entre outras regras. Primeiramente iremos baixar o código fonte e extrair o diretório Sigali 2.4:

wget https://gforge.inria.fr/frs/download.php/file/32380/Sigali-2.4.tar.gz
tar -zxvf Sigali-2.4.tar.gz
#Muda o diretório para Sigali2.4/
cd Sigali2.4

Para a instalação do Sigali, devemos instalar dois pacotes: cmake e tcsh:

#install cmake e tcsh
sudo apt-get install cmake tcsh
#C libs related to compatibility with 32-bit systems
sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1


Após a instalação dos pacotes, devemos ir ao diretório cmake e executar o comando cmake ..

#executa o cmake
cd cmake
cmake .. 

Após executar o cmake, alguns arquivos serão gerados na pasta Sigali-2.4. Volte a esta pasta e edite os arquivos sigaliEnv e _config_, de modo que funcionem via bash. Por padrão, o Sigali é executado via tcsh, porém é mais indicado que a ferramenta rode via bash já que este é o shell padrão no Ubuntu 14.04. Lembre-se de, na variável Sigali_root, inserir o diretório onde está a sua pasta Sigali-2.4. Veja aqui o código dos arquivos sigaliEnv e _config_.

Após a edicão dos arquivos, execute o seguinte comando na pasta onde está o sigaliEnv para configurar o ambiente:

 . sigaliEnv 

Instalação do Heptagon

Para a instalação do Heptagon, primeiro, iremos baixar o pacote via wget. Neste tutorial utilizaremos a versão 1.03.00

#baixa o heptagon
wget https://gforge.inria.fr/frs/download.php/file/35466/heptagon-1.03.00.tar.gz
tar -zxvf heptagon-1.03.00.tar.gz
cd heptagon-1.03.00

Após acessar o diretório do Heptagon, executaremos os comandos para configurar e instalar o software. Caso todos os pacotes do OCaml estejam instalados, o Heptagon será compilado e o comando heptc, necessário para a compilação dos arquivos do Heptagon, estará disponível.

./configure
make
make install

Esperamos que este tutorial tenha ajudado a entender um pouco mais sobre o Heptagon e tenha facilitado a instalação da ferramenta. Mais posts poderão vir detalhando melhor o uso da linguagem no contexto da Internet das Coisas.

3 comentários sobre “Instalação do Heptagon no Ubuntu 14.04

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s