977 resultados para agent-oriented programming
Resumo:
Dissertação de natureza científica para obtenção do grau de Mestre em Engenharia Civil
Resumo:
Dissertação de Mestrado em Engenharia Informática
Resumo:
Tese de Mestrado em Engenharia Informática
Resumo:
Applications refactorings that imply the schema evolution are common activities in programming practices. Although modern object-oriented databases provide transparent schema evolution mechanisms, those refactorings continue to be time consuming tasks for programmers. In this paper we address this problem with a novel approach based on aspect-oriented programming and orthogonal persistence paradigms, as well as our meta-model. An overview of our framework is presented. This framework, a prototype based on that approach, provides applications with aspects of persistence and database evolution. It also provides a new pointcut/advice language that enables the modularization of the instance adaptation crosscutting concern of classes, which were subject to a schema evolution. We also present an application that relies on our framework. This application was developed without any concern regarding persistence and database evolution. However, its data is recovered in each execution, as well as objects, in previous schema versions, remain available, transparently, by means of our framework.
Resumo:
Generally, the evolution process of applications has impact on their underlining data models, thus becoming a time-consuming problem for programmers and database administrators. In this paper we address this problem within an aspect-oriented approach, which is based on a meta-model for orthogonal persistent programming systems. Applying reflection techniques, our meta-model aims to be simpler than its competitors. Furthermore, it enables database multi-version schemas. We also discuss two case studies in order to demonstrate the advantages of our approach.
Resumo:
The present dissertation intends to study passives in Capeverdean. I argue that Capeverdean have eventive passives with specific morphology, postverbal morphemes, -du and -da, which affix to the verb to form passives and interact with the TMA morphemes available in the language in the same way as in the active voice. I also show that Capeverdean only allows short passives. However, this study demonstrates that the by-phrase, although not expressed phonologically, is implicit and can be tracked through instrumentals and Agent-oriented adverbs. In order to account for this specific property of Capeverdean passives, I assume the existence of a Voice head which introduces the external argument in all finite sentences in Capeverdean, except in unaccusatives, following proposals from Marantz (1984), Kratzer (1996), Sailor & Ahn (2010), Pratas (2014). I also assume that this Voice head is subject to a Doubly Filled Comp Filter, similar to what is proposed in Koopman (1997), which determines that either heads or specifiers can be overt, never both. In the case of passives, I propose that external argument is in Spec,Voice and the passive morphology is lexicalized in Voice0 and that while Spec,Voice is silent, Voice0 is not. This configuration can be explained if it is assumed, following Costa & Martins (2004), that in Capeverdean passives Voice0 is a strong functional head, thus requiring visibility at PF. This restriction, combined with the Doubly Filled Comp filter, imposes that Spec,Voice is silent.
Resumo:
The theme of this dissertation is the finite element method applied to mechanical structures. A new finite element program is developed that, besides executing different types of structural analysis, also allows the calculation of the derivatives of structural performances using the continuum method of design sensitivities analysis, with the purpose of allowing, in combination with the mathematical programming algorithms found in the commercial software MATLAB, to solve structural optimization problems. The program is called EFFECT – Efficient Finite Element Code. The object-oriented programming paradigm and specifically the C ++ programming language are used for program development. The main objective of this dissertation is to design EFFECT so that it can constitute, in this stage of development, the foundation for a program with analysis capacities similar to other open source finite element programs. In this first stage, 6 elements are implemented for linear analysis: 2-dimensional truss (Truss2D), 3-dimensional truss (Truss3D), 2-dimensional beam (Beam2D), 3-dimensional beam (Beam3D), triangular shell element (Shell3Node) and quadrilateral shell element (Shell4Node). The shell elements combine two distinct elements, one for simulating the membrane behavior and the other to simulate the plate bending behavior. The non-linear analysis capability is also developed, combining the corotational formulation with the Newton-Raphson iterative method, but at this stage is only avaiable to solve problems modeled with Beam2D elements subject to large displacements and rotations, called nonlinear geometric problems. The design sensitivity analysis capability is implemented in two elements, Truss2D and Beam2D, where are included the procedures and the analytic expressions for calculating derivatives of displacements, stress and volume performances with respect to 5 different design variables types. Finally, a set of test examples were created to validate the accuracy and consistency of the result obtained from EFFECT, by comparing them with results published in the literature or obtained with the ANSYS commercial finite element code.
Resumo:
O presente artigo traz uma avaliação sobre um processo de implementação do PBL que ocorreu no curso de Engenharia Informática na Faculdade de Engenharia da Universidade Eduardo Mondlane em Moçambique. Por este processo ser novo no contexto de ensino de Engenharia em Moçambique foram os desafios encontrados por parte dos docentes e estudantes relativos a implementação, coordenação e adequação do currículo a metodologia do PBL, fazendo com que o processo de implementação fosse gradual. Assim no primeiro semestre de 2014 foi implementado um processo PBL piloto envolvendo as disciplinas de Programação Orientada à Objetos 1 e Base de Dados 1, que foram disciplinas escolhidas pelo facto de seus currículos terem matérias comuns, todos desafios e comentários dados pelos estudantes foram levados em conta no desenho do segundo processo PBL para o segundo semestre de 2014 que envolveu as disciplinas de Programação Orientada à Objetos 2, Base de Dados 2 e Sistemas de Multimídia fazendo com que houvesse mais informação para o terceiro processo envolvendo as disciplinas de Engenharia de Software 1 e Programação em Web. A avaliação do processo por parte dos estudantes, veio através de inquiridos onde os estudantes fizeram chegar as suas preocupações e ideias a respeito do PBL e dos moldes em que este estava a ser implementado no currículo. O processo de implementação do PBL pode ser considerado uma experiência bem sucedida e com futuro promissor e que de certeza vai ajudar a inovar os processos de ensino de engenharia em Moçambique.
Resumo:
O objectivo principal deste artigo é exemplificar a utilização de uma metodologia de especificação de sistemas digitais, baseada em Redes de Petri orientadas por objectos, para obter de uma forma rápida e simplificada um protótipo em VHDL do sistema pretendido. É considerado como exemplo um sistema digital, para o qual se efectua a especificação no modelo RdP-shobi e a partir da qual se pode gerar automaticamente código VHDL. Este exemplo permite demonstrar acerca da capacidade desta metodologia no projecto de sistemas digitais, suportado por princípios de orientação por objectos e por uma ferramenta de EDA concebida para o efeito.
Resumo:
Os limites entre os domínios do software e do hardware são cada vez mais ténues, pelo que técnicas inicialmente experimentadas no software têm vindo a ser gradualmente aplicadas no hardware. Este artigo pretende descrever o estado actual da utilização da tecnologia de programação orientada por objectos no projecto de hardware digital. São analisadas as vantagens e implicações quando se introduzem conceitos ligados à tecnologia orientada por objectos em projectos de hardware e é apresentado um exemplo utilizando uma das extensões orientadas por objectos da linguagem VHDL.
Resumo:
La programación concurrente es una tarea difícil aún para los más experimentados programadores. Las investigaciones en concurrencia han dado como resultado una gran cantidad de mecanismos y herramientas para resolver problemas de condiciones de carrera de datos y deadlocks, problemas que surgen por el mal uso de los mecanismos de sincronización. La verificación de propiedades interesantes de programas concurrentes presenta dificultades extras a los programas secuenciales debido al no-determinismo de su ejecución, lo cual resulta en una explosión en el número de posibles estados de programa, haciendo casi imposible un tratamiento manual o aún con la ayuda de computadoras. Algunos enfoques se basan en la creación de lenguajes de programación con construcciones con un alto nivel de abstración para expresar concurrencia y sincronización. Otros enfoques tratan de desarrollar técnicas y métodos de razonamiento para demostrar propiedades, algunos usan demostradores de teoremas generales, model-checking o algortimos específicos sobre un determinado sistema de tipos. Los enfoques basados en análisis estático liviano utilizan técnicas como interpretación abstracta para detectar ciertos tipos de errores, de una manera conservativa. Estas técnicas generalmente escalan lo suficiente para aplicarse en grandes proyectos de software pero los tipos de errores que pueden detectar es limitada. Algunas propiedades interesantes están relacionadas a condiciones de carrera y deadlocks, mientras que otros están interesados en problemas relacionados con la seguridad de los sistemas, como confidencialidad e integridad de datos. Los principales objetivos de esta propuesta es identificar algunas propiedades de interés a verificar en sistemas concurrentes y desarrollar técnicas y herramientas para realizar la verificación en forma automática. Para lograr estos objetivos, se pondrá énfasis en el estudio y desarrollo de sistemas de tipos como tipos dependientes, sistema de tipos y efectos, y tipos de efectos sensibles al flujo de datos y control. Estos sistemas de tipos se aplicarán a algunos modelos de programación concurrente como por ejemplo, en Simple Concurrent Object-Oriented Programming (SCOOP) y Java. Además se abordarán propiedades de seguridad usando sistemas de tipos específicos. Concurrent programming has remained a dificult task even for very experienced programmers. Concurrency research has provided a rich set of tools and mechanisms for dealing with data races and deadlocks that arise of incorrect use of synchronization. Verification of most interesting properties of concurrent programs is a very dificult task due to intrinsic non-deterministic nature of concurrency, resulting in a state explosion which make it almost imposible to be manually treat and it is a serious challenge to do that even with help of computers. Some approaches attempts create programming languages with higher levels of abstraction for expressing concurrency and synchronization. Other approaches try to develop reasoning methods to prove properties, either using general theorem provers, model-checking or specific algorithms on some type systems. The light-weight static analysis approach apply techniques like abstract interpretation to find certain kind of bugs in a conservative way. This techniques scale well to be applied in large software projects but the kind of bugs they may find are limited. Some interesting properties are related to data races and deadlocks, while others are interested in some security problems like confidentiality and integrity of data. The main goals of this proposal is to identify some interesting properties to verify in concurrent systems and develop techniques and tools to do full automatic verification. The main approach will be the application of type systems, as dependent types, type and effect systems, and flow-efect types. Those type systems will be applied to some models for concurrent programming as Simple Concurrent Object-Oriented Programming (SCOOP) and Java. Other goals include the analysis of security properties also using specific type systems.
Resumo:
Operating system, program families, aspect-oriented programming, aspectC++, embedded systems, PURE operating system family
Resumo:
Feature-Oriented Programming, Aspect-Oriented Programming, Software Product Lines, Stepwise Development
Resumo:
L'objectiu és una aplicació que permeti realitzar el càlcul del volum de terres disponibles en el subsòl d'un àrea seleccionada. L'objectiu final del projecte serà crear un Sistema d'Informació Geogràfica SIG que ajudi a valorar quines parcel¿les de l'àrea seleccionada són les que disposen de més volum de terres per iniciar la seva explotació. Per a això, es disposa del programari gvSIG i les seves extensions (SEXTANTE) i de tota la informació que es pugui obtenir sobre els SIG, Cartografia, Geodèsia... Per dur a terme aquest projecte es necessita tenir experiència en Bases de dades, Programació Orientada a Objectes i seria recomanable tenir coneixements sobre Enginyeria del Programador. El projecte se centrarà en la utilització de gvSIG, com un exemple concret de programari SIG de lliure accés, solució desenvolupada per la ¿Conselleria d%o2019Obris Publiquis de la Generalitat Valenciana¿. Una part d'aquest projecte consistirà a avaluar aquest programari. El resultat final serà l'obtenció dels coneixements necessaris per poder treballar amb dades espacials a més d'una aplicació SIG per al càlcul del volum de terres d'un àrea seleccionada.
Resumo:
En el presente proyecto se ha desarrollado una aplicación para gestionar una instalación deportiva. Esta aplicación ha sido elaborada siguiendo el ciclo de vida en cascada. El software obtenido es de tipo cliente/servidor y ha sido realizado con la tecnología orientada a objetos utilizando Java como lenguaje de programación, RMI como mecanismo para acceder a las operaciones del sistema de forma remota, y proporcionando a los usuarios una interfaz muy clara y amigable.