53 resultados para Software testing. Problem-oriented programming. Teachingmethodology
Resumo:
WWW is a huge, open, heterogeneous system, however its contents data is mainly human oriented. The Semantic Web needs to assure that data is readable and “understandable” to intelligent software agents, though the use of explicit and formal semantics. Ontologies constitute a privileged artifact for capturing the semantic of the WWW data. Temporal and spatial dimensions are transversal to the generality of knowledge domains and therefore are fundamental for the reasoning process of software agents. Representing temporal/spatial evolution of concepts and their relations in OWL (W3C standard for ontologies) it is not straightforward. Although proposed several strategies to tackle this problem but there is still no formal and standard approach. This work main goal consists of development of methods/tools to support the engineering of temporal and spatial aspects in intelligent systems through the use of OWL ontologies. An existing method for ontology engineering, Fonte was used as framework for the development of this work. As main contributions of this work Fonte was re-engineered in order to: i) support the spatial dimension; ii) work with OWL Ontologies; iii) and support the application of Ontology Design Patterns. Finally, the capabilities of the proposed approach were demonstrated by engineering time and space in a demo ontology about football.
Resumo:
20th International Conference on Reliable Software Technologies - Ada-Europe 2015 (Ada-Europe 2015), Madrid, Spain.
Resumo:
Distributed real-time systems such as automotive applications are becoming larger and more complex, thus, requiring the use of more powerful hardware and software architectures. Furthermore, those distributed applications commonly have stringent real-time constraints. This implies that such applications would gain in flexibility if they were parallelized and distributed over the system. In this paper, we consider the problem of allocating fixed-priority fork-join Parallel/Distributed real-time tasks onto distributed multi-core nodes connected through a Flexible Time Triggered Switched Ethernet network. We analyze the system requirements and present a set of formulations based on a constraint programming approach. Constraint programming allows us to express the relations between variables in the form of constraints. Our approach is guaranteed to find a feasible solution, if one exists, in contrast to other approaches based on heuristics. Furthermore, approaches based on constraint programming have shown to obtain solutions for these type of formulations in reasonable time.
Resumo:
Poster presented in The 28th GI/ITG International Conference on Architecture of Computing Systems (ARCS 2015). 24 to 26, Mar, 2015. Porto, Portugal.
Resumo:
Consumer-electronics systems are becoming increasingly complex as the number of integrated applications is growing. Some of these applications have real-time requirements, while other non-real-time applications only require good average performance. For cost-efficient design, contemporary platforms feature an increasing number of cores that share resources, such as memories and interconnects. However, resource sharing causes contention that must be resolved by a resource arbiter, such as Time-Division Multiplexing. A key challenge is to configure this arbiter to satisfy the bandwidth and latency requirements of the real-time applications, while maximizing the slack capacity to improve performance of their non-real-time counterparts. As this configuration problem is NP-hard, a sophisticated automated configuration method is required to avoid negatively impacting design time. The main contributions of this article are: 1) An optimal approach that takes an existing integer linear programming (ILP) model addressing the problem and wraps it in a branch-and-price framework to improve scalability. 2) A faster heuristic algorithm that typically provides near-optimal solutions. 3) An experimental evaluation that quantitatively compares the branch-and-price approach to the previously formulated ILP model and the proposed heuristic. 4) A case study of an HD video and graphics processing system that demonstrates the practical applicability of the approach.
Resumo:
Nos últimos anos tem-se verificado a constante evolução dos mercados em plataformas na Internet como forma de melhoria não só dos serviços prestados, mas também para o aumento de vendas de produtos e respetiva internacionalização dos mesmos. Este aumento da procura por este tipo de softwares, assim como a constante evolução e atualização dos mesmos tem contribuído para que estas aplicações evoluam em termos de funcionalidades e complexidade. Isto contribui cada vez para a dificuldade de formar equipas capazes de manter e desenvolver estes sistemas sem que comprometa em grandes custos para as organizações. Neste sentido surgiram diversas ferramentas que permitem criar soluções pré desenvolvidas de aplicações na Internet denominadas de "E-commerce applications". Estas plataformas, apesar do utilizador não ter obrigatoriamente que deter conhecimentos de programação para proceder à sua instalação, são bastante restritas tanto aos serviços que podem ser usados, e na sua escalabilidade, visto que normalmente correm em servidores específicos e por vezes as configurações necessárias para instalação tornam-se bastante complexas de ser efetuadas. Pretende-se no âmbito desta dissertação de mestrado propor um modelo de uma arquitetura de um sistema baseado em mecanismos MDA para a área de retalho, particularmente em ambientes de e-commerce. Serão inicialmente sistematizados os principais tipos de ecommerce numa perspetiva de evolução histórica. Será igualmente enquadrado o MDA no desenvolvimento de um sistema de e-commerce. Neste sentido, serão equacionadas as diferenças entre o modelo típico de desenvolvimento de software e o desenvolvimento de software orientado pelas metodologias do MDA. No processo de especificação e desenvolvimento do modelo proposto será realizada uma análise de requisitos, assim como, a proposta do modelo da arquitetura de um sistema baseado em mecanismos MDA, tendo como orientação os requisitos e arquitetura definida na fase de análise. Finalmente no sentido de analisar o resultado esperado para um sistema orientado por metodologias definidas por MDA, serão realizado alguns testes no sistema desenvolvido de forma a analisar o seu desempenho e validar a sua adequabilidade no âmbito do processo de desenvolvimento de sistemas e-commerce
Resumo:
A integração contínua é uma prática no desenvolvimento de software que já existe há algum tempo mas ainda não é muito conhecida nem usada. Esta prática no desenvolvimento de software surgiu com a programação extrema e tem evoluído ao longo dos últimos anos, adaptando-se às novas tecnologias. O estudo aqui apresentado pretende essencialmente mostrar a real importância e o valor acrescido que a integração contínua pode trazer a um projeto de desenvolvimento de software. O trabalho aqui exposto surge no âmbito de um projeto interno, realizado pelo autor na empresa Konkconsulting, cuja finalidade se prende com o conhecimento mais aprofundado da integração contínua e com o levantamento das necessidades e criação de soluções, de modo a conseguir a sua utilização nos produtos que irão ser desenvolvidos pela empresa. Nesta dissertação, é proposto um conjunto de ferramentas para responder às necessidades imediatas da empresa na implementação de integração contínua num dos seus projetos. Estas ferramentas devem ser de simples e de fácil utilização, de modo a ajudar os programadores durante os desenvolvimentos e responder às necessidades da utilização da integração contínua em um projeto a ser desenvolvido pela empresa, mas ao mesmo tempo, podendo ser facilmente incorporadas em futuros projetos.
Resumo:
O veículo guiado automaticamente (AGV) adquirido pelo Departamento de Engenharia Mecânica (DEM) tem vindo a ficar obsoleto devido ao hardware, que nos dias de hoje começa a dar sinais de falhas bem como falta de peças de substituição, e ao software, sendo o PLC (Programmable Logic Controller) usado muito limitado quanto às suas funções de controlo, ficando as principais tarefas de controlo do AGV a cargo de placas eletrónicas de controlo. Para promover o controlo autónomo do AGV, foi decidido retirar toda a parte de hardware que detinha o controlo do mesmo e passou a ser um novo PLC, com maior capacidade de processamento, a executar todo o tipo de controlo necessário ao funcionamento do mesmo. O hardware considerado apenas incluí, de forma resumida, os motores responsáveis pelo movimento e direção, placa de controlo de potência dos motores, placa de interface entre as saídas digitais do PLC e as entradas da placa de controlo de potência dos motores e os demais sensores necessários à deteção de obstáculos, fins de curso da direção, sensores dos postos de trabalho e avisadores de emergência. Todo o controlo de movimento e direção bem como a seleção das ações a executar passou a ficar a cargo do software programado no PLC assim como a interação entre o sistema de supervisão instalado num posto de controlo e o PLC através de comunicação via rádio. O uso do PLC permitiu a flexibilidade de mudar facilmente a forma como as saídas digitais são usadas, ao contrário de um circuito eletrónico que necessita de uma completa remodelação, tempo de testes e implementação para efetuar a mesma função. O uso de um microcontrolador seria igualmente viável para a aplicação em causa, no entanto o uso do PLC tem a vantagem de ser robusto, mais rápido na velocidade de processamento, existência de software de interface de programação bastante intuitivo e de livre acesso, facilidade de alterar a programação localmente ou remotamente, via rádio, acesso a vários protocolos de comunicação robustos como Modbus, Canbus, Profinet, Modnet, etc., e acesso integrado de uma consola gráfica totalmente programável. iv É ainda possível a sua expansão com adição de módulos de entradas e saídas digitais e/ou analógicas permitindo expandir largamente o uso do AGV para outros fins. A solução está a ser amplamente testada e validada no Laboratório de Automação (LabA) do Departamento de Engenharia Mecânica do ISEP (Instituto Superior de Engenharia do Porto), permitindo a otimização dos sistemas de controlo de direção bem como a interatividade entre o PLC e o programa de interface/supervisão do posto de trabalho.