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.
hi thank you
please after installing heptagon how to check or run frist command.
i need more help please help me
CurtirCurtir
Hi, Demis.
You need to create a model.
Here yout find some basic examples that I use in my classes: https://github.com/jualabs/dcs/tree/master/2018.2
Basically, you just need to run the command make.
CurtirCurtir