SmallFBP: a Smalltalk framework for Flow-Based Programming – Part 6

filter

Ciência, arte e filosofia se vão fundindo tanto em mim que algum dia certamente vou parir um centauro – Nietzsche.

  1.  Introdução
  2. Flow-Base Programming
    1. Component
    2. Port
    3. Information Packet (IP)
    4. Connection
    5. Network
    6. Initial Information Packet (IIP)
  3. Exemplo: Filter
    1. Introdução
    2. OddFilter
    3. Numbers
    4. MaxNumberIIP
    5. Printer
    6. Dropper
    7. Filter GUI
  4. Portas automáticas
    1. Introdução
    2. Exemplo: Writer e Reader
    3. Usando displays com portas automáticas
    4. Usando portas automáticas no exemplo Filter
  5. Componentes compostos
    1. Introdução
    2. Subnet
    3. Composição
  6. Flow-Based Programming IDE
    1. Introdução
    2. Arquitetura
    3. Protótipo
  7. Flow-Based Programming IDE II
    1. Introdução
    2. Odd filter
  8. Flow-Based Programming IDE – III
    1. Introdução
    2. Writer e Reader

Flow-Based Programming IDE

Introdução

Flow-Based Programming remete automaticamente à ideia de programar visualmente. Um IDE (Integrated Development Environment) para isto é sempre bem vindo. A idéia principal é tornar o SmallFBP IDE uma extensão do IDE do Pharo Smalltalk.

Arquitetura

fbp-ide-architecture

Conforme mostra o esboço da arquitetura no diagrama acima um mediator cuidará de trafegar os eventos na GUI e no ambiente de programação mantendo total desacoplamento e sincronizando os dois modelos: o gráfico e os artefatos da programação. Graças à robusta metaprogramação do Smalltalk muitas facilidades para o desenvolvedor poderão ser embutidas no FBP IDE.

O desacoplamento citado pode alavancar a criação de código para definição de redes FBP em outras linguagens e frameworks FBP a partir da programação visual da rede FBP.

Protótipo

fbp-ide

Um protótipo inicial para a GUI do FBP IDE foi construído usando o Pharo Smalltalk Bloc, um framework ainda não muito documentado que propõe substituir o Morphic.

A criação da representação gráfica dos componentes e portas bem como as reações aos gestos como o mouse para criar as conexões estão funcionando. Melhorias no futuro serão implementadas a medida que entender melhor como usar a biblioteca Bloc e com a introdução do Brick.

Veja o vídeo.

Anúncios

8 comentários

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 )

Imagem do Twitter

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

Foto do Facebook

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

Foto do Google+

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

Conectando a %s