816 resultados para ANTLR, Framework .NET, ingegneria del software, FormulaG, interpreti, linguaggi formali, WPF


Relevância:

100.00% 100.00%

Publicador:

Resumo:

Creazione di un nuovo linguaggio con relativo interprete e, per osservare il comportamento del sistema, un semplice Previewer in grado di: - caricare una pagina XAML di un form e svariate risorse - farle processare dall'interprete seguendo la grammatica descritta dal nuovo linguaggio creato con ANTLR - cablare la visualizzazione dei componenti della pagina a seconda dei risultati ottenuti, il tutto in ambiente .NET

Relevância:

100.00% 100.00%

Publicador:

Resumo:

I moderni sistemi embedded sono equipaggiati con risorse hardware che consentono l’esecuzione di applicazioni molto complesse come il decoding audio e video. La progettazione di simili sistemi deve soddisfare due esigenze opposte. Da un lato è necessario fornire un elevato potenziale computazionale, dall’altro bisogna rispettare dei vincoli stringenti riguardo il consumo di energia. Uno dei trend più diffusi per rispondere a queste esigenze opposte è quello di integrare su uno stesso chip un numero elevato di processori caratterizzati da un design semplificato e da bassi consumi. Tuttavia, per sfruttare effettivamente il potenziale computazionale offerto da una batteria di processoriè necessario rivisitare pesantemente le metodologie di sviluppo delle applicazioni. Con l’avvento dei sistemi multi-processore su singolo chip (MPSoC) il parallel programming si è diffuso largamente anche in ambito embedded. Tuttavia, i progressi nel campo della programmazione parallela non hanno mantenuto il passo con la capacità di integrare hardware parallelo su un singolo chip. Oltre all’introduzione di multipli processori, la necessità di ridurre i consumi degli MPSoC comporta altre soluzioni architetturali che hanno l’effetto diretto di complicare lo sviluppo delle applicazioni. Il design del sottosistema di memoria, in particolare, è un problema critico. Integrare sul chip dei banchi di memoria consente dei tempi d’accesso molto brevi e dei consumi molto contenuti. Sfortunatamente, la quantità di memoria on-chip che può essere integrata in un MPSoC è molto limitata. Per questo motivo è necessario aggiungere dei banchi di memoria off-chip, che hanno una capacità molto maggiore, come maggiori sono i consumi e i tempi d’accesso. La maggior parte degli MPSoC attualmente in commercio destina una parte del budget di area all’implementazione di memorie cache e/o scratchpad. Le scratchpad (SPM) sono spesso preferite alle cache nei sistemi MPSoC embedded, per motivi di maggiore predicibilità, minore occupazione d’area e – soprattutto – minori consumi. Per contro, mentre l’uso delle cache è completamente trasparente al programmatore, le SPM devono essere esplicitamente gestite dall’applicazione. Esporre l’organizzazione della gerarchia di memoria ll’applicazione consente di sfruttarne in maniera efficiente i vantaggi (ridotti tempi d’accesso e consumi). Per contro, per ottenere questi benefici è necessario scrivere le applicazioni in maniera tale che i dati vengano partizionati e allocati sulle varie memorie in maniera opportuna. L’onere di questo compito complesso ricade ovviamente sul programmatore. Questo scenario descrive bene l’esigenza di modelli di programmazione e strumenti di supporto che semplifichino lo sviluppo di applicazioni parallele. In questa tesi viene presentato un framework per lo sviluppo di software per MPSoC embedded basato su OpenMP. OpenMP è uno standard di fatto per la programmazione di multiprocessori con memoria shared, caratterizzato da un semplice approccio alla parallelizzazione tramite annotazioni (direttive per il compilatore). La sua interfaccia di programmazione consente di esprimere in maniera naturale e molto efficiente il parallelismo a livello di loop, molto diffuso tra le applicazioni embedded di tipo signal processing e multimedia. OpenMP costituisce un ottimo punto di partenza per la definizione di un modello di programmazione per MPSoC, soprattutto per la sua semplicità d’uso. D’altra parte, per sfruttare in maniera efficiente il potenziale computazionale di un MPSoC è necessario rivisitare profondamente l’implementazione del supporto OpenMP sia nel compilatore che nell’ambiente di supporto a runtime. Tutti i costrutti per gestire il parallelismo, la suddivisione del lavoro e la sincronizzazione inter-processore comportano un costo in termini di overhead che deve essere minimizzato per non comprometterre i vantaggi della parallelizzazione. Questo può essere ottenuto soltanto tramite una accurata analisi delle caratteristiche hardware e l’individuazione dei potenziali colli di bottiglia nell’architettura. Una implementazione del task management, della sincronizzazione a barriera e della condivisione dei dati che sfrutti efficientemente le risorse hardware consente di ottenere elevate performance e scalabilità. La condivisione dei dati, nel modello OpenMP, merita particolare attenzione. In un modello a memoria condivisa le strutture dati (array, matrici) accedute dal programma sono fisicamente allocate su una unica risorsa di memoria raggiungibile da tutti i processori. Al crescere del numero di processori in un sistema, l’accesso concorrente ad una singola risorsa di memoria costituisce un evidente collo di bottiglia. Per alleviare la pressione sulle memorie e sul sistema di connessione vengono da noi studiate e proposte delle tecniche di partizionamento delle strutture dati. Queste tecniche richiedono che una singola entità di tipo array venga trattata nel programma come l’insieme di tanti sotto-array, ciascuno dei quali può essere fisicamente allocato su una risorsa di memoria differente. Dal punto di vista del programma, indirizzare un array partizionato richiede che ad ogni accesso vengano eseguite delle istruzioni per ri-calcolare l’indirizzo fisico di destinazione. Questo è chiaramente un compito lungo, complesso e soggetto ad errori. Per questo motivo, le nostre tecniche di partizionamento sono state integrate nella l’interfaccia di programmazione di OpenMP, che è stata significativamente estesa. Specificamente, delle nuove direttive e clausole consentono al programmatore di annotare i dati di tipo array che si vuole partizionare e allocare in maniera distribuita sulla gerarchia di memoria. Sono stati inoltre sviluppati degli strumenti di supporto che consentono di raccogliere informazioni di profiling sul pattern di accesso agli array. Queste informazioni vengono sfruttate dal nostro compilatore per allocare le partizioni sulle varie risorse di memoria rispettando una relazione di affinità tra il task e i dati. Più precisamente, i passi di allocazione nel nostro compilatore assegnano una determinata partizione alla memoria scratchpad locale al processore che ospita il task che effettua il numero maggiore di accessi alla stessa.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

El objetivo del TFG es ejectuar y documentar el proceso de actualizaci on de un sistema software real de car acter empresarial, perteneciente a la empresa dedicada a las transacciones de divisas Foreign Exchange Solutions SL. El sistema est a implementado en Python 2.7 usando el framework de desarrollo r apido de aplicaciones web Django que, comenzando por su versi on 1.3.1, terminar a al nal del proyecto en la versi on 1.4.10, lo que nos llevar a a tener que actualizar todas las librer as relacionadas, adem as de mejorar la calidad del c odigo e incluso cambiar la estructura del proyecto, prestando adem as especial atenci on a la pruebas unitarias y de regresi on para comprobar el correcto funcionamiento del sistema a lo largo del desarrollo. Todo esto con el n de conseguir las nuevas funcionalidades y caracter sticas que una versi on m as nueva nos ofrece, adem as de mejorar la calidad de la aplicaci on -aumentar la reutilizaci on del c odigo y reducir futuros errores gracias a un c odigo m as sencillo y legible-, aumentar el rendimiento, y obtener una buena cobertura de pruebas. Usaremos adem as la metodolog a agil Scrum, el SGBD PostgreSQL, adem as de otras herramientas como Solr, ElasticSearch, Redis, Celery o Mercurial para el control de versiones.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Este informe recoge las guías del docente y del estudiante para la puesta en marcha, seguimiento continuo y evaluación de la asignatura Ingeniería del Software del segundo curso del Grado en Ingeniería Informática. Todo ello basado en metodologías activas, concretamente la metodología de Aprendizaje Basado en Proyectos (ABP, o PBL de Project Based Learning). El trabajo publicado en este informe es el resultado obtenido por los autores dentro del programa de formación del profesorado en metodologías activas (ERAGIN), auspiciado por el Vicerrectorado de Calidad e Innovación Docente de la Universidad del País Vasco (UPV/EHU).

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Duración (en horas): Más de 50 horas. Destinatario: Estudiante y Docente

Relevância:

100.00% 100.00%

Publicador:

Resumo:

[ES]Por parte del Departamento de Ingeniería Mecánica existe la necesidad de profundizar en el conocimiento a la hora de utilizar softwares de simulación robótica. En este Trabajo de Fin de Grado en concreto se ha seleccionado el software RobotStudio como objeto de análisis con el cual se pretende destacar las opciones y capacidades de mayor interés que dicho software ofrece. El objetivo principal de este Trabajo de Fin de Grado es sintetizar los conocimientos obtenidos sobre el manejo del programa a través de la realización de una serie de tareas o simulaciones de creciente grado de complejidad con el mismo; para que dichos conocimientos puedan ser empleados posteriormente como apoyo didáctico en las clases teóricas impartidas por los profesores, así como en un entorno más profesional destinado a la práctica industrial.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Analizar la formación recibida en software por parte de los coordinadores de nuevas tecnologías en los centros educativos públicos no universitarios de Asturias ajustándose a la dicotomía libre/privado. Conocer el tipo de software empleado por estos coordinadores en los diferentes contextos: aula, gestión docente y personal. Valorar su opinión sobre qué software es el más indicado para aplicar en el sistema educativo. Conocer las razones usadas para la selección de uno u otro tipo de software. Explicar, en su caso, las diferencias encontradas con las variables de identificación (sexo, edad, años de experiencia como coordinador de nuevas tecnologías, etc.). Explorar las líneas de un proceso formativo en software libre con profesionales de la educación para identificar las dificultades y oportunidades de la formación en este campo. El trabajo se estructura en dos apartados, en primer lugar, una fundamentación teórica compuesta por dos capítulos en los que se revisan los elementos teóricos de la investigación y en segundo lugar, el estudio de campo donde se aclaran todos los aspectos técnicos del proceso investigador, sus objetivos, sus conclusiones y las líneas de actuación propuestas. En la parte teórica, se abordan las relaciones que se establecen entre el desarrollo tecnológico y social y el modo en que esta relación incide en los discursos sobre la inclusión de las nuevas tecnologías de la información y de la comunicación en la escuela. Se hace una revisión de esta relación entre las TIC y el sistema educativo, que concluye con la esquematización de las racionalidades curriculares existentes y el papel que, los medios en general, y el software en particular, ocupan en ella. Se analizan los conceptos de alfabetización digital, software libre y sistema operativo, y se explica el concepto de código abierto y el programa Linux y, finalmente, se hace un repaso a las argumentaciones contrarias al software libre intentando desenmascarar aquellas que transmiten mitos o falsedades. Se exponen las razones que justifican la difusión del software libre en el sistema educativo. Tras la fundamentación teórica de la investigación, en el apartado, estudio de campo, se describe éste, la metodología y las conclusiones de la investigación. Se ha utilizado una metodología cuantitativa en el caso de la primera parte de la investigación y metodologías cualitativas en el caso de la experiencia de formación en software libre. La técnica de investigación ha sido la encuesta, con la realización de un cuestionario. La muestra la integraron 307 sujetos, de los que sólo un 38,8 por ciento respondió al cuestionario. El perfil tipo de los sujetos muestrales es: varón de 47 años de edad con 22 de experiencia en la educación y 4 como coordinador de nuevas tecnologías. Se concluye que a pesar de que la mayor parte de los sujetos encuestados manifiestan que el software libre es el que se debe emplear en el sistema educativo su uso en la escuela asturiana está lejos de ser una realidad, tanto en el aula como en otros ámbitos, siendo el software privado el que ocupa un lugar prioritario favorecido por las propias políticas de la administración. Finalmente, se realiza una propuesta de actuación encaminada a la elaboración de un plan de implementación de software libre en el sistema educativo del que se apuntan procedimientos a corto, medio y largo plazo.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

El procés de convergència cap a l’Espai Europeu d’Educació Superior ens ha fet reflexionar, entre d’altres aspectes, sobre les competències que l’alumne ha de desenvolupar per tal d’exercir la seva professió en el futur. Una d’aquestes competències, en el cas dels estadístics, és la de ser capaç d’utilitzar de manera autònoma el software especialitzat que serà la seva futura eina de treball. En aquest estudi ens plantegem augmentar el nivell d’autonomia dels alumnes d’aplicacions informàtiques dins de la Diplomatura d’Estadística mitjançant la realització d’activitats d’autoaprenentatge. Els resultats ens permeten concloure que efectivament la realització d’aquest tipus d’activitats augmenten la capacitat de l’alumne per treballar de manera autònoma davant de l’ordinador

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Resumen tomado de la publicación

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Se exponen algunas reflexiones y dudas sobre las ventajas de usar software gratuito en la enseñanza. Es abierto, significa que los alumnos pueden aprender mirando programas que están siendo muy utilizados en el mundo real. Se puede modificar, es decir los alumnos pueden proponer diferentes soluciones para programas habituales e intentar implantarlas. Tiene un precio inigualable, tanto en la compra de la licencia como en el mantenimiento, ya que funciona a partir del altruismo. Sigue el modelo científico, a partir de la exposición de soluciones abiertamente a la comunidad para su análisis y crítica. Facilita la participación, ya que los programadores de este software libre son un ejemplo de cooperación entre muchísimas personas de todo el mundo. Se propaga por todo el mundo y demuestra que la informática es innovadora en muchas de sus facetas. No necesita vender versiones para sobrevivir. La Junta de Extremadura fue la primera en introducir a gran escala el software libre en las escuelas de España (en concreto GNU/Linex), por lo que el autor propone que se implante de manera gradual este sistema de software libre que él considera necesario, responsable, económicamente ventajoso y divulgativamente muy interesante.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Evaluar 116 programas de enseñanza de lenguas asistida por ordenador. Hace una introducción teórica a los programas de enseñanza asistida por ordenador. Explica los criterios de evaluación que aplica. Explica brevemente cada uno de los 116 programas y los evalúa de 1 a 5 estrellas. Recomienda al ICE de la Universidad Politécnica de Catalunya: tener acceso a la revista 'Calico Journal', suscribirse al boletín 'CALL Digest', la adquisición de unas publicaciones útiles reseñadas en el estudio, la adquisición de los programas 'Writer's workbench', 'Storyboard two' y los que en el informe han sido calificados con tres o más estrellas.