Extensión de aplicaciones mediante Python embebido

Pérez Domínguez, Marta (2016). Extensión de aplicaciones mediante Python embebido. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. y Sistemas de Telecomunicación (UPM), Madrid.

Description

Title: Extensión de aplicaciones mediante Python embebido
Author/s:
  • Pérez Domínguez, Marta
Contributor/s:
  • Silva Fariña, Antonio da
Item Type: Final Project
Degree: Grado en Ingeniería Telemática
Date: 11 July 2016
Subjects:
Faculty: E.T.S.I. y Sistemas de Telecomunicación (UPM)
Department: Ingeniería Telemática y Electrónica
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (1MB) | Preview
[img] Archive (ZIP) - Users in campus UPM only
Download (3MB)

Abstract

En cualquier diseño embebido actual, el software es un componente fundamental que dota al sistema de una alta capacidad de configuración, gran número de funcionalidades y elasticidad en el comportamiento del sistema en situaciones excepcionales. Los desarrolladores del software tienen que tener en cuenta diferentes aspectos a la hora de desarrollar el programa de forma que pueda proporcionar las mejores prestaciones en el ámbito en el cual vaya a ser utilizado. En este contexto, existen lenguajes interpretados – muy productivos en términos de la cantidad de líneas de código que son necesarias para realizar un procesamiento cualquiera pero en cambio, con una velocidad de ejecución más lenta – o bien un lenguaje con menor productividad, donde son necesarias más sentencias para realizar el mismo procesamiento, pero con un mayor rendimiento en términos de velocidad. La mejor aproximación al problema sería poder usar las mejores prestaciones de ambos mundos. Por ejemplo, el motor de la aplicación sería desarrollado en lenguaje C o C++ mientras que las piezas de la interfaz con el usuario o la interacción entre la aplicación y un sistema externo, podrían ser desarrolladas en lenguajes interpretados o de script. A lo largo de este proyecto se hará una descripción de Python, el lenguaje de scripting escogido para desarrollar un ejemplo que sirva como prueba de concepto. A partir de ejemplos básicos de uso de módulos Python desde aplicaciones desarrolladas en C se abordará el desarrollo de un módulo C que sirva de envoltorio (wrapper) entre una interfaz C y un módulo Python que las implemente. Se describirán dos tipos de situaciones mediante las cuales se realizará la interacción de la aplicación en C con el programa de scripting. El uso de rutinas Python desde C, lo que se conoce como Python embebido, y el uso de rutinas C desde Python, lo que se conoce como extensión de Python. ABSTRACT. In any current embedded design, software is an essential component with high capacity system of configuration, a large number of functionalities and elasticity system behavior in exceptional situations. Software developers have to take into account different aspects at the time the program is going to be developed so that it can provide the best performance in the area in which it is going to be used. In this context, there are interpreted languages – very productive in term of the number of lines of code are necessary for any process, but in contrast with a slower execution – or better a less productive program, where you need more statements of code to perform the same processing, but with higher performance in terms of speed. The best approach to the problem would be to use the best features of both worlds. For example, the application core would be developed in C or C++ languages while the interface user pieces or interaction between the application and the external system would be developed in interpreted or scripting languages. Throughout this project a Python description will be done, the scripting languages chosen to develop an example that serves like a proof of the concept. From basic examples of using Python modules from applications developed in C we will approach the development of a C module who serve as a wrapper (wrapper) between a C interface and a Python module that implements. Two types of situations will be described through which the interaction of C application and the scripting program will be performed. The former, the use of Python routines from C known as embedded Python and the later, the use of C routines from Python known as Python extension.

More information

Item ID: 44475
DC Identifier: http://oa.upm.es/44475/
OAI Identifier: oai:oa.upm.es:44475
Deposited by: Biblioteca Universitaria Campus Sur
Deposited on: 24 Jan 2017 06:27
Last Modified: 24 Jan 2017 06:27
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM