Pós-Graduação em Ciência da Computação – UFPE

Defesa de Tese de Doutorado Nº 206

Aluno: Leandro Marques do Nascimento

Orientador: Prof. Silvio Romero de Lemos Meira

Título: SMADL – The Social Machines Architecture Description Language

Data: 11/03/2014

Hora/Local: 8h à Sala D001 (Bloco D – Térreo) – Centro de Informática

Banca Examinadora:

  • Prof. Vinícius Cardoso Garcia (CIn/UFPE)
  • Prof. Kiev Santos da Gama (CIn / UFPE)
  • Prof. Daniel Lucrédio (Departamento de Computação / UFSCar)
  • Prof. Alexandre Álvaro (Departamento de Computação / UFSCar)
  • Prof. Rodrigo Elia Assad (DEINFO / UFRPE)

RESUMO:

Nós estamos experimentando um alto crescimento no número de aplicações web sendo desenvolvidas. Isto está acontecendo principalmente porque a web está entrando em uma nova fase, chamada web programável, onde diversos sistemas baseados na web estão disponibilizando suas APIs publicamente. Com o objetivo de lidar com a complexidade dessa web emergente, nós definimos a noção de uma Máquina Social (SM) e vislumbramos uma linguagem que permite descrever redes de tais máquinas.

Para começar, nós definimos uma Máquina Social como sendo “um componente conectável e programável que encapsula (WI) um sistema de processamento de informação (IPS) e define um conjuntos de serviços requeridos (RS) e providos (PS), dinamicamente disponível sob certas restrições ©, as quais são determinadas por, dentre outras coisas, seus relacionamentos (Rel) com terceiros”.

Para que seja possível a aplicação prática do conceito de Máquina Social previamente mencionado, nós definimos SMADL, a linguagem para descrição arquitetural de máquinas sociais, como uma tentativa de ser uma forma completamente diferente de se programar a web, misturando conceitos de linguagens de descrição arquitetural (ADLs) e linguagens específicas de domínio (DSLs). Como uma ADL, a linguagem permite a descrição de máquinas sociais (e redes de tais) em termos de relacionamentos (Rel) como abstrações de alto nível, sem a necessidade de se especificar os detalhes de comunicação (protocolos) e/ou métodos de autenticação. Como uma DSL, ela permite a implementação e integração de serviços web usando uma sintaxe de tipos dinâmicos, completamente integrada à máquina virtual Java e a IDE Eclipse. Cada elemento do conceito de uma máquina social é diretamente mapeado na linguagem.

Em poucas palavras, SMADL pode ser definida como uma linguagem dirigida a relacionamentos que pode ser usada para descrever interações entre qualquer número de máquinas de inúmeras formas, como um meio de representar máquinas interagindo na web realmente, tais como, Twitter rodando em cima da Amazon AWS, mashups construídos usando o Google Maps, jogos rodando em cima de Facebook e, obviamente, como um meio de representar interações com outras máquinas sociais também.

Vários outros esforços já foram feitos para definir ADLs e alguns deles foram, de alguma forma, aplicados no domínio da web. Entretanto, há uma clara falta de base fundamental que provenha abstrações de alto nível tais como o modelo de máquinas sociais provê. Nossos resultados preliminares mostram que SMADL é uma linguagem prática, escalável, extensível e de fácil aprendizado para implementar máquinas sociais.

Palavras-Chave: Architecture description language, programmable web, web 3.0, social machines.