SMADL – The social machines architecture description language
Autor(a) principal: | |
---|---|
Data de Publicação: | 2014 |
Tipo de documento: | Tese |
Idioma: | eng |
Título da fonte: | Repositório Institucional da UFPE |
Texto Completo: | https://repositorio.ufpe.br/handle/123456789/12160 |
Resumo: | É possível se observar 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, este trabalho define a noção de uma Máquina Social (Social Machine - SM) e vislumbra 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 conjunto de serviços requeridos (RS) e providos (PS), dinamicamente disponível sob certas restrições (C), as quais são determinadas por, dentre outras coisas, seus relacionamentos (Rel) com terceiros”. Em outras palavras, uma SM é uma máquina conectada, normalmente à Web, que dinamicamente provê e/ou requer um conjunto de serviços de acordo com os seus relacionamentos estabelecidos. Qualquer aplicação na Web pode ser vista como uma SM. Para que seja possível a aplicação prática do conceito de Máquina Social previamente mencionado, nós definimos SMADL, uma linguagem para descrição arquitetural de SMs, 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 criação e integração de serviços Web usando uma sintaxe de tipos dinâmicos, integrada à máquina virtual Java e à IDE Eclipse. Cada elemento do conceito de uma SM é 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 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ê. SMADL foi implementada em duas versões, uma textual e outra visual. Ambas as versões foram avaliadas através de um estudo de caso e uma pesquisa baseada na opinião de especialista e indicaram ser boas soluções para problemas práticos. |
id |
UFPE_86eece5cee51345e175dcc11359eab41 |
---|---|
oai_identifier_str |
oai:repositorio.ufpe.br:123456789/12160 |
network_acronym_str |
UFPE |
network_name_str |
Repositório Institucional da UFPE |
repository_id_str |
2221 |
spelling |
Nascimento, Leandro Marques doMeira, Silvio Romero de Lemos2015-03-12T14:23:54Z2015-03-12T14:23:54Z2014-01-31https://repositorio.ufpe.br/handle/123456789/12160É possível se observar 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, este trabalho define a noção de uma Máquina Social (Social Machine - SM) e vislumbra 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 conjunto de serviços requeridos (RS) e providos (PS), dinamicamente disponível sob certas restrições (C), as quais são determinadas por, dentre outras coisas, seus relacionamentos (Rel) com terceiros”. Em outras palavras, uma SM é uma máquina conectada, normalmente à Web, que dinamicamente provê e/ou requer um conjunto de serviços de acordo com os seus relacionamentos estabelecidos. Qualquer aplicação na Web pode ser vista como uma SM. Para que seja possível a aplicação prática do conceito de Máquina Social previamente mencionado, nós definimos SMADL, uma linguagem para descrição arquitetural de SMs, 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 criação e integração de serviços Web usando uma sintaxe de tipos dinâmicos, integrada à máquina virtual Java e à IDE Eclipse. Cada elemento do conceito de uma SM é 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 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ê. SMADL foi implementada em duas versões, uma textual e outra visual. Ambas as versões foram avaliadas através de um estudo de caso e uma pesquisa baseada na opinião de especialista e indicaram ser boas soluções para problemas práticos.We are experiencing a high growth in the number of Web applications being developed. This is happening mainly because the Web is going into a new phase, called programmable Web, where several Web-based systems make their APIs publicly available. In order to deal with the complexity of this emerging Web, we define the notion of a Social Machine and envisage a language that can describe networks of such. To start with, we define a Social Machine (SM) as a “connectable and programmable building block that wraps (WI) an information processing system (IPS) and defines a set of required (RS) and provided services (PS), dynamically available under constraints (C) which are determined by, among other things, its relationships (Rel) with others”. In other words, a SM is a connected machine, usually to the Web, which dynamically provides and/or requires a set of services according to its established relationships. Any application in the Web can be seen as a SM. In order to make feasible the practical application of the aforementioned Social Machine concept, we define SMADL – the Social Machines Architecture Description Language – as an attempt to be a completely different way to program the Web, mixing concepts from Architecture Description Languages (ADLs) and Domain-Specific Languages (DSLs). As an ADL, it allows the description of Social Machines (and networks of such) in terms of relationships (Rel) as high-level abstractions, without the need to specify details of communication (protocols) and/or authentication methods. As a DSL, it allows the implementation and integration of Web services using a dynamically typed syntax, fully integrated to the Java Virtual Machine and Eclipse IDE. Every element of the SM concept is directly mapped into the language. In few words, SMADL can be defined as a relationship-driven language which can be used to describe the interactions between any number of machines in a multitude of ways, as a means to represent real machines interacting in the real Web and, obviously, as a means to represent interactions with other social machines too. Several other efforts have been done to define ADLs, and a few of them were someway applied to the Web domain. However, there is a clear lack of fundamental base to provide high-level abstractions that the Social Machine concept does. SMADL has been implemented in two versions, one textual and one visual. Both versions have been evaluated through a case study and an expert’s opinion survey and demonstrated to be good solutions for practical problems.CNPq, INESengUniversidade Federal de PernambucoAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessSoftware engineeringDomain-specific languagesArchitecture description languagesSocial machinesWeb 3.0Programmable WebEngenharia de softwareLinguagens específicas de domínioLinguagens de descrição arquiteturalMáquinas sociaisWeb 3.0Web ProgramávelSMADL – The social machines architecture description languageinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPETHUMBNAILTESE Leandro Marques do Nascimento.pdf.jpgTESE Leandro Marques do Nascimento.pdf.jpgGenerated Thumbnailimage/jpeg1205https://repositorio.ufpe.br/bitstream/123456789/12160/5/TESE%20Leandro%20Marques%20do%20Nascimento.pdf.jpg10d095c45e51a6f1b35978f8de01b276MD55ORIGINALTESE Leandro Marques do Nascimento.pdfTESE Leandro Marques do Nascimento.pdfapplication/pdf4935348https://repositorio.ufpe.br/bitstream/123456789/12160/1/TESE%20Leandro%20Marques%20do%20Nascimento.pdf593ec08be509bd200bc5ec59fccb17d6MD51CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-81232https://repositorio.ufpe.br/bitstream/123456789/12160/2/license_rdf66e71c371cc565284e70f40736c94386MD52LICENSElicense.txtlicense.txttext/plain; charset=utf-82311https://repositorio.ufpe.br/bitstream/123456789/12160/3/license.txt4b8a02c7f2818eaf00dcf2260dd5eb08MD53TEXTTESE Leandro Marques do Nascimento.pdf.txtTESE Leandro Marques do Nascimento.pdf.txtExtracted texttext/plain386462https://repositorio.ufpe.br/bitstream/123456789/12160/4/TESE%20Leandro%20Marques%20do%20Nascimento.pdf.txt5cdbd6f19418f7e2eda3d94936ee61c4MD54123456789/121602019-10-25 17:20:42.339oai:repositorio.ufpe.br:123456789/12160TGljZW7Dp2EgZGUgRGlzdHJpYnVpw6fDo28gTsOjbyBFeGNsdXNpdmEKClRvZG8gZGVwb3NpdGFudGUgZGUgbWF0ZXJpYWwgbm8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgKFJJKSBkZXZlIGNvbmNlZGVyLCDDoCBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBQZXJuYW1idWNvIChVRlBFKSwgdW1hIExpY2Vuw6dhIGRlIERpc3RyaWJ1acOnw6NvIE7Do28gRXhjbHVzaXZhIHBhcmEgbWFudGVyIGUgdG9ybmFyIGFjZXNzw612ZWlzIG9zIHNldXMgZG9jdW1lbnRvcywgZW0gZm9ybWF0byBkaWdpdGFsLCBuZXN0ZSByZXBvc2l0w7NyaW8uCgpDb20gYSBjb25jZXNzw6NvIGRlc3RhIGxpY2Vuw6dhIG7Do28gZXhjbHVzaXZhLCBvIGRlcG9zaXRhbnRlIG1hbnTDqW0gdG9kb3Mgb3MgZGlyZWl0b3MgZGUgYXV0b3IuCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKTGljZW7Dp2EgZGUgRGlzdHJpYnVpw6fDo28gTsOjbyBFeGNsdXNpdmEKCkFvIGNvbmNvcmRhciBjb20gZXN0YSBsaWNlbsOnYSBlIGFjZWl0w6EtbGEsIHZvY8OqIChhdXRvciBvdSBkZXRlbnRvciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMpOgoKYSkgRGVjbGFyYSBxdWUgY29uaGVjZSBhIHBvbMOtdGljYSBkZSBjb3B5cmlnaHQgZGEgZWRpdG9yYSBkbyBzZXUgZG9jdW1lbnRvOwpiKSBEZWNsYXJhIHF1ZSBjb25oZWNlIGUgYWNlaXRhIGFzIERpcmV0cml6ZXMgcGFyYSBvIFJlcG9zaXTDs3JpbyBJbnN0aXR1Y2lvbmFsIGRhIFVGUEU7CmMpIENvbmNlZGUgw6AgVUZQRSBvIGRpcmVpdG8gbsOjbyBleGNsdXNpdm8gZGUgYXJxdWl2YXIsIHJlcHJvZHV6aXIsIGNvbnZlcnRlciAoY29tbyBkZWZpbmlkbyBhIHNlZ3VpciksIGNvbXVuaWNhciBlL291IGRpc3RyaWJ1aXIsIG5vIFJJLCBvIGRvY3VtZW50byBlbnRyZWd1ZSAoaW5jbHVpbmRvIG8gcmVzdW1vL2Fic3RyYWN0KSBlbSBmb3JtYXRvIGRpZ2l0YWwgb3UgcG9yIG91dHJvIG1laW87CmQpIERlY2xhcmEgcXVlIGF1dG9yaXphIGEgVUZQRSBhIGFycXVpdmFyIG1haXMgZGUgdW1hIGPDs3BpYSBkZXN0ZSBkb2N1bWVudG8gZSBjb252ZXJ0w6otbG8sIHNlbSBhbHRlcmFyIG8gc2V1IGNvbnRlw7pkbywgcGFyYSBxdWFscXVlciBmb3JtYXRvIGRlIGZpY2hlaXJvLCBtZWlvIG91IHN1cG9ydGUsIHBhcmEgZWZlaXRvcyBkZSBzZWd1cmFuw6dhLCBwcmVzZXJ2YcOnw6NvIChiYWNrdXApIGUgYWNlc3NvOwplKSBEZWNsYXJhIHF1ZSBvIGRvY3VtZW50byBzdWJtZXRpZG8gw6kgbyBzZXUgdHJhYmFsaG8gb3JpZ2luYWwgZSBxdWUgZGV0w6ltIG8gZGlyZWl0byBkZSBjb25jZWRlciBhIHRlcmNlaXJvcyBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4gRGVjbGFyYSB0YW1iw6ltIHF1ZSBhIGVudHJlZ2EgZG8gZG9jdW1lbnRvIG7Do28gaW5mcmluZ2Ugb3MgZGlyZWl0b3MgZGUgb3V0cmEgcGVzc29hIG91IGVudGlkYWRlOwpmKSBEZWNsYXJhIHF1ZSwgbm8gY2FzbyBkbyBkb2N1bWVudG8gc3VibWV0aWRvIGNvbnRlciBtYXRlcmlhbCBkbyBxdWFsIG7Do28gZGV0w6ltIG9zIGRpcmVpdG9zIGRlCmF1dG9yLCBvYnRldmUgYSBhdXRvcml6YcOnw6NvIGlycmVzdHJpdGEgZG8gcmVzcGVjdGl2byBkZXRlbnRvciBkZXNzZXMgZGlyZWl0b3MgcGFyYSBjZWRlciDDoApVRlBFIG9zIGRpcmVpdG9zIHJlcXVlcmlkb3MgcG9yIGVzdGEgTGljZW7Dp2EgZSBhdXRvcml6YXIgYSB1bml2ZXJzaWRhZGUgYSB1dGlsaXrDoS1sb3MgbGVnYWxtZW50ZS4gRGVjbGFyYSB0YW1iw6ltIHF1ZSBlc3NlIG1hdGVyaWFsIGN1am9zIGRpcmVpdG9zIHPDo28gZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3UgY29udGXDumRvIGRvIGRvY3VtZW50byBlbnRyZWd1ZTsKZykgU2UgbyBkb2N1bWVudG8gZW50cmVndWUgw6kgYmFzZWFkbyBlbSB0cmFiYWxobyBmaW5hbmNpYWRvIG91IGFwb2lhZG8gcG9yIG91dHJhIGluc3RpdHVpw6fDo28gcXVlIG7Do28gYSBVRlBFLMKgZGVjbGFyYSBxdWUgY3VtcHJpdSBxdWFpc3F1ZXIgb2JyaWdhw6fDtWVzIGV4aWdpZGFzIHBlbG8gcmVzcGVjdGl2byBjb250cmF0byBvdSBhY29yZG8uCgpBIFVGUEUgaWRlbnRpZmljYXLDoSBjbGFyYW1lbnRlIG8ocykgbm9tZShzKSBkbyhzKSBhdXRvciAoZXMpIGRvcyBkaXJlaXRvcyBkbyBkb2N1bWVudG8gZW50cmVndWUgZSBuw6NvIGZhcsOhIHF1YWxxdWVyIGFsdGVyYcOnw6NvLCBwYXJhIGFsw6ltIGRvIHByZXZpc3RvIG5hIGFsw61uZWEgYykuCg==Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212019-10-25T20:20:42Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false |
dc.title.pt_BR.fl_str_mv |
SMADL – The social machines architecture description language |
title |
SMADL – The social machines architecture description language |
spellingShingle |
SMADL – The social machines architecture description language Nascimento, Leandro Marques do Software engineering Domain-specific languages Architecture description languages Social machines Web 3.0 Programmable Web Engenharia de software Linguagens específicas de domínio Linguagens de descrição arquitetural Máquinas sociais Web 3.0 Web Programável |
title_short |
SMADL – The social machines architecture description language |
title_full |
SMADL – The social machines architecture description language |
title_fullStr |
SMADL – The social machines architecture description language |
title_full_unstemmed |
SMADL – The social machines architecture description language |
title_sort |
SMADL – The social machines architecture description language |
author |
Nascimento, Leandro Marques do |
author_facet |
Nascimento, Leandro Marques do |
author_role |
author |
dc.contributor.author.fl_str_mv |
Nascimento, Leandro Marques do |
dc.contributor.advisor1.fl_str_mv |
Meira, Silvio Romero de Lemos |
contributor_str_mv |
Meira, Silvio Romero de Lemos |
dc.subject.por.fl_str_mv |
Software engineering Domain-specific languages Architecture description languages Social machines Web 3.0 Programmable Web Engenharia de software Linguagens específicas de domínio Linguagens de descrição arquitetural Máquinas sociais Web 3.0 Web Programável |
topic |
Software engineering Domain-specific languages Architecture description languages Social machines Web 3.0 Programmable Web Engenharia de software Linguagens específicas de domínio Linguagens de descrição arquitetural Máquinas sociais Web 3.0 Web Programável |
description |
É possível se observar 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, este trabalho define a noção de uma Máquina Social (Social Machine - SM) e vislumbra 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 conjunto de serviços requeridos (RS) e providos (PS), dinamicamente disponível sob certas restrições (C), as quais são determinadas por, dentre outras coisas, seus relacionamentos (Rel) com terceiros”. Em outras palavras, uma SM é uma máquina conectada, normalmente à Web, que dinamicamente provê e/ou requer um conjunto de serviços de acordo com os seus relacionamentos estabelecidos. Qualquer aplicação na Web pode ser vista como uma SM. Para que seja possível a aplicação prática do conceito de Máquina Social previamente mencionado, nós definimos SMADL, uma linguagem para descrição arquitetural de SMs, 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 criação e integração de serviços Web usando uma sintaxe de tipos dinâmicos, integrada à máquina virtual Java e à IDE Eclipse. Cada elemento do conceito de uma SM é 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 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ê. SMADL foi implementada em duas versões, uma textual e outra visual. Ambas as versões foram avaliadas através de um estudo de caso e uma pesquisa baseada na opinião de especialista e indicaram ser boas soluções para problemas práticos. |
publishDate |
2014 |
dc.date.issued.fl_str_mv |
2014-01-31 |
dc.date.accessioned.fl_str_mv |
2015-03-12T14:23:54Z |
dc.date.available.fl_str_mv |
2015-03-12T14:23:54Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/doctoralThesis |
format |
doctoralThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://repositorio.ufpe.br/handle/123456789/12160 |
url |
https://repositorio.ufpe.br/handle/123456789/12160 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
Attribution-NonCommercial-NoDerivs 3.0 Brazil http://creativecommons.org/licenses/by-nc-nd/3.0/br/ info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
Attribution-NonCommercial-NoDerivs 3.0 Brazil http://creativecommons.org/licenses/by-nc-nd/3.0/br/ |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
Universidade Federal de Pernambuco |
publisher.none.fl_str_mv |
Universidade Federal de Pernambuco |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFPE instname:Universidade Federal de Pernambuco (UFPE) instacron:UFPE |
instname_str |
Universidade Federal de Pernambuco (UFPE) |
instacron_str |
UFPE |
institution |
UFPE |
reponame_str |
Repositório Institucional da UFPE |
collection |
Repositório Institucional da UFPE |
bitstream.url.fl_str_mv |
https://repositorio.ufpe.br/bitstream/123456789/12160/5/TESE%20Leandro%20Marques%20do%20Nascimento.pdf.jpg https://repositorio.ufpe.br/bitstream/123456789/12160/1/TESE%20Leandro%20Marques%20do%20Nascimento.pdf https://repositorio.ufpe.br/bitstream/123456789/12160/2/license_rdf https://repositorio.ufpe.br/bitstream/123456789/12160/3/license.txt https://repositorio.ufpe.br/bitstream/123456789/12160/4/TESE%20Leandro%20Marques%20do%20Nascimento.pdf.txt |
bitstream.checksum.fl_str_mv |
10d095c45e51a6f1b35978f8de01b276 593ec08be509bd200bc5ec59fccb17d6 66e71c371cc565284e70f40736c94386 4b8a02c7f2818eaf00dcf2260dd5eb08 5cdbd6f19418f7e2eda3d94936ee61c4 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE) |
repository.mail.fl_str_mv |
attena@ufpe.br |
_version_ |
1802114823595491328 |