[en] A STUDY N APIS FOR SCRIPTING LANGUAGES

[pt] Um cenário comum atualmente é o de aplicações desenvolvidas usando duas linguagens de programação a fim de otimizar partes onde o desempenho é crítico e permitir extensibilidade através de scripts escritos pelo usuário. Há várias formas de se obter esse tipo de interoperabilidade; idealmente, e...

Descripción completa

Detalles Bibliográficos
Autor: HISHAM HASHEM MUHAMMAD
Tipo de recurso: tesis doctoral
Estado:Versión publicada
Fecha de publicación:2007
País:Brasil
Institución:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
Repositorio:Repositório Institucional da PUC-RIO (Projeto Maxwell)
Idioma:portugués
OAI Identifier:oai:MAXWELL.puc-rio.br:9497
Acceso en línea:https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9497&idi=1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9497&idi=2
http://doi.org/10.17771/PUCRio.acad.9497
Access Level:acceso abierto
Palabra clave:[pt] LINGUAGENS DE SCRIPT
[pt] INTERFACES PARA PROGRAMACAO DE APLICACOES
[pt] LINGUAGENS DE PROGRAMACAO
[en] SCRIPTING LANGUAGES
[en] APPLICATION PROGRAMMING INTERFACES
[en] PROGRAMMING LANGUAGES
id BR_afe8a2caa549639d24d3fe5817808842
oai_identifier_str oai:MAXWELL.puc-rio.br:9497
network_acronym_str BR
network_name_str Brasil
repository_id_str
dc.title.none.fl_str_mv [en] A STUDY N APIS FOR SCRIPTING LANGUAGES
[pt] ESTUDO SOBRE APIS DE LINGUAGENS DE SCRIPT
title [en] A STUDY N APIS FOR SCRIPTING LANGUAGES
spellingShingle [en] A STUDY N APIS FOR SCRIPTING LANGUAGES
HISHAM HASHEM MUHAMMAD
[pt] LINGUAGENS DE SCRIPT
[pt] INTERFACES PARA PROGRAMACAO DE APLICACOES
[pt] LINGUAGENS DE PROGRAMACAO
[en] SCRIPTING LANGUAGES
[en] APPLICATION PROGRAMMING INTERFACES
[en] PROGRAMMING LANGUAGES
title_short [en] A STUDY N APIS FOR SCRIPTING LANGUAGES
title_full [en] A STUDY N APIS FOR SCRIPTING LANGUAGES
title_fullStr [en] A STUDY N APIS FOR SCRIPTING LANGUAGES
title_full_unstemmed [en] A STUDY N APIS FOR SCRIPTING LANGUAGES
title_sort [en] A STUDY N APIS FOR SCRIPTING LANGUAGES
dc.creator.none.fl_str_mv HISHAM HASHEM MUHAMMAD
author HISHAM HASHEM MUHAMMAD
author_facet HISHAM HASHEM MUHAMMAD
author_role author
dc.contributor.none.fl_str_mv ROBERTO IERUSALIMSCHY
dc.subject.por.fl_str_mv [pt] LINGUAGENS DE SCRIPT
[pt] INTERFACES PARA PROGRAMACAO DE APLICACOES
[pt] LINGUAGENS DE PROGRAMACAO
[en] SCRIPTING LANGUAGES
[en] APPLICATION PROGRAMMING INTERFACES
[en] PROGRAMMING LANGUAGES
topic [pt] LINGUAGENS DE SCRIPT
[pt] INTERFACES PARA PROGRAMACAO DE APLICACOES
[pt] LINGUAGENS DE PROGRAMACAO
[en] SCRIPTING LANGUAGES
[en] APPLICATION PROGRAMMING INTERFACES
[en] PROGRAMMING LANGUAGES
description [pt] Um cenário comum atualmente é o de aplicações desenvolvidas usando duas linguagens de programação a fim de otimizar partes onde o desempenho é crítico e permitir extensibilidade através de scripts escritos pelo usuário. Há várias formas de se obter esse tipo de interoperabilidade; idealmente, entretanto, uma linguagem deve prover uma interface de acesso externo (foreign language interface, FLI) que permita ao programador receber e enviar tanto chamadas como dados para outra linguagem. Este trabalho discute as principais questões envolvendo o projeto de APIs para integração de ambientes de execução de linguagens em aplicações C. Apresentamos os principais problemas enfrentados na interação entre código executando em um ambiente com características inerentemente dinâmicas como o de uma linguagem de script com código C. Comparamos aqui as abordagens empregadas por cinco linguagens no tratamento da comunicação entre os espaços de dados de C e do ambiente de execução embutido e as conseqüências destas abordagens no gerenciamento de memória, bem como no compartilhamento de código entre a aplicação C e o da linguagem de script. Ilustramos as diferenças das APIs destas linguagens e o impacto destas no código resultante de uma aplicação C através de um estudo de caso. Diferentes linguagens de script são embutidas como plugins de uma mesma biblioteca, que por sua vez expõe a aplicações clientes uma API genérica de scripting. Assim, o código de cada plugin permite observar de forma clara e isolada os procedimentos adotados em cada linguagem para chamada de funções, registro de funçoes C e conversão de dados entre os ambientes.
publishDate 2007
dc.date.none.fl_str_mv 2007-01-26
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://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9497&idi=1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9497&idi=2
http://doi.org/10.17771/PUCRio.acad.9497
url https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9497&idi=1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9497&idi=2
http://doi.org/10.17771/PUCRio.acad.9497
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv MAXWELL
publisher.none.fl_str_mv MAXWELL
dc.source.none.fl_str_mv reponame:Repositório Institucional da PUC-RIO (Projeto Maxwell)
instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
instacron:PUC_RIO
instname_str Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
instacron_str PUC_RIO
institution PUC_RIO
reponame_str Repositório Institucional da PUC-RIO (Projeto Maxwell)
collection Repositório Institucional da PUC-RIO (Projeto Maxwell)
repository.name.fl_str_mv Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
repository.mail.fl_str_mv
_version_ 1853670945640677376
spelling [en] A STUDY N APIS FOR SCRIPTING LANGUAGES [pt] ESTUDO SOBRE APIS DE LINGUAGENS DE SCRIPT [pt] LINGUAGENS DE SCRIPT[pt] INTERFACES PARA PROGRAMACAO DE APLICACOES[pt] LINGUAGENS DE PROGRAMACAO[en] SCRIPTING LANGUAGES[en] APPLICATION PROGRAMMING INTERFACES[en] PROGRAMMING LANGUAGES[pt] Um cenário comum atualmente é o de aplicações desenvolvidas usando duas linguagens de programação a fim de otimizar partes onde o desempenho é crítico e permitir extensibilidade através de scripts escritos pelo usuário. Há várias formas de se obter esse tipo de interoperabilidade; idealmente, entretanto, uma linguagem deve prover uma interface de acesso externo (foreign language interface, FLI) que permita ao programador receber e enviar tanto chamadas como dados para outra linguagem. Este trabalho discute as principais questões envolvendo o projeto de APIs para integração de ambientes de execução de linguagens em aplicações C. Apresentamos os principais problemas enfrentados na interação entre código executando em um ambiente com características inerentemente dinâmicas como o de uma linguagem de script com código C. Comparamos aqui as abordagens empregadas por cinco linguagens no tratamento da comunicação entre os espaços de dados de C e do ambiente de execução embutido e as conseqüências destas abordagens no gerenciamento de memória, bem como no compartilhamento de código entre a aplicação C e o da linguagem de script. Ilustramos as diferenças das APIs destas linguagens e o impacto destas no código resultante de uma aplicação C através de um estudo de caso. Diferentes linguagens de script são embutidas como plugins de uma mesma biblioteca, que por sua vez expõe a aplicações clientes uma API genérica de scripting. Assim, o código de cada plugin permite observar de forma clara e isolada os procedimentos adotados em cada linguagem para chamada de funções, registro de funçoes C e conversão de dados entre os ambientes.[en] Applications written in two programming languages, in order to optimize parts where performance is critical or to obtain extensibility through userwritten scripts, are commonplace nowadays. There are several ways to obtain this kind of interoperability; ideally, however, a language should provide a foreign language interface (FLI), allowing the programmer to send and receive both data and function calls to the external language. This work discusses the main issues involving the design of APIs for the integration of language environments within C applications. We present the main problems faced in the interaction between code executed in an environment with inherently dynamic characteristics such as a scripting language and C code. We compare the approaches employed by five languages when handling communication between the data spaces of C and the embedded runtime environment and the consequences of these approaches in memory management, as well as sharing of code between the C application and that from the scripting language. We illustrate the differences of the APIs of those languages and their impact in the resulting code of a C application through a case study. Different scripting languages were embedded as plugins for a library, which on its turn exposes to client applications a generic scripting API. This way, the code of each plugin allows us to observe in a clear and isolated way the procedures adopted by each language for function calls, registration of C functions and conversion of data between the environments.MAXWELLROBERTO IERUSALIMSCHY2007-01-26info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesishttps://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9497&idi=1https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9497&idi=2http://doi.org/10.17771/PUCRio.acad.9497porreponame:Repositório Institucional da PUC-RIO (Projeto Maxwell)instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)instacron:PUC_RIOinfo:eu-repo/semantics/openAccessHISHAM HASHEM MUHAMMAD2019-06-26T00:00:00Zoai:MAXWELL.puc-rio.br:9497Repositório InstitucionalPRIhttps://www.maxwell.vrac.puc-rio.br/ibict.phpopendoar:5342019-06-26T00:00Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)false
score 15.301629