ISEP – CISTER – Provas públicas
Permanent URI for this collection
Browse
Recent Submissions
- Scheduling High Criticality Real-Time SystemsPublication . Carvalho, Humberto José Elias Seixas de; Tovar, Eduardo Manuel MedicisCyclic executives are used to schedule safety-critical real-time systems because of their determinism, simplicity, and efficiency. One major challenge of the cyclic executive model is to produce the cyclic scheduling timetable. This problem is related to the bin-packing problem [34] and is NP-Hard in the strong sense. Unnecessary context switches within the scheduling table can introduce significant overhead; in IMA (Integrated Modular Avionics), cache-related overheads can increase task execution times up to 33% [18]. Developed in the context of the Software Engineering Master’s Degree at ISEP, the Polytechnic Institute of Engineering in Porto Portugal, this thesis contains two contributions to the scheduling literature. The first is a precise and exact approach to computing the slack of a job set that is schedule policy independent. The method introduces several operations to update and maintain the slack at runtime, ensuring the slack of all jobs is valid and coherent. The second contribution is the definition of a state-of-the-art preemptive scheduling algorithm focused on minimizing the number of system preemptions for real-time safety-critical applications within a reasonable amount of time. Both contributions have been implemented and extensively tested in scala. Experimental results suggest our scheduling algorithm has similar non-preemptive schedulability ratio than Chain Window RM [69], yet lower ratio in high utilizations than Chain Window EDF [69] and BB-Moore [68]. For ask sets that failed to be scheduled non-preemptively, 98-99% of all jobs are scheduled without preemptions. Considering the fact that our scheduler is preemptive, being able to compete with non-preemptive schedulers is an excellent result indeed. In terms of execution time, our proposal is multiple orders of magnitude faster than the aforementioned algorithms. Both contributions of this work are planned to be presented at future conferences such as RTSS@Work and RTAS.
- Reengineering and development of IoT Systems for Home AutomationPublication . Rocha, Rafael; Ferreira, Luís Miguel Moreira Lino; Albano, Michele; Silva, José BrunoWith the increasing adoption of technology in today’s houses, electricity is at an all-time high demand. In fact, given the plethora of vital electricity-powered appliances used every day, such as refrigerators, washing machines, and so forth, it has been proven difficult to even handle all devices’ electric consumption. To reduce consumption costs and turn it into a more manageable process, the concept of flex-offers was created. A flex-offer is built around scheduling energy usage in conjunction with the prices of electricity, as provided by an energy market. More specifically, a flex-offer is an energy consumption offer containing the user’s energy consumption flexibility, which is sent to an entity called the Aggregator, who aggregates together flex-offers from multiple parties, bargains with the energy market, and responds to each flex-offer with a schedule that meets the lowest prices for consumption, while still satisfying the users’ needs. By using flex-offers on a house’s equipment, the idea of FlexHousing was born. The aspired goal of the CISTER Research Center’s FlexHousing project is to deliver a platform where users can register their smart appliances, regardless of its brand and distributor, set up preferences for the devices’ usage, and let the system manage the energy consumption and device activation schedules based on the energy market prices. A previous project had already built a prototype of the FlexHousing system. Nevertheless, the original platform had many limitations and lacked maturity from a software engineering point of view, and the goal of this internship is to apply a reengineering process on the FlexHousing project, while also adding new features to it. Thus, the project’s domain model, its database, and class structures were altered to satisfy the new requirements. Furthermore, its web platform was rebuilt from the ground up. Also, a new interface was developed to facilitate support for devices of different brands. As a proof of concept for the benefits provided by this new interface, a connection with a new device (Sonoff Pow) was also established. Moreover, a new functionality was developed to identify a device’s type of appliance based on its energy consumption, in other words, to specify if a device is, for instance, a refrigerator or not. Finally, another new feature was added in which, based on a device’s type and its energy consumption pattern, the flex-offer creation is automated, minimizing user input. As planned, the FlexHousing platform now supports multiple types of devices, and has a software interface to support more types in the future with minimal effort. The flex-offer creation process has been simplified and is now partially automated. Finally, the web platform’s UI has been updated, becoming more intuitive and appealing to the user.
- Creation of a pilot for the FlexOffer conceptPublication . Santos, Joss dos; Lino, Luís Miguel MoreiraThe revolution in the energy market and the end user need to control the things he has around him lead to the creation of a new concept: flexoffers. The flexoffer is built around scheduling energy usage with the prices of the energy market. The flexoffer is comprised of the pattern of usage and a window of when the pattern can begin. Those parameters are exposed to the energy markets using an Aggregator, entity responsible for gathering all the flexoffers in a region. The market will reply to the flexoffer proposition with the best time for the consumption of that energy, which in this case is when the prices are the lowest. This project revolves around the implementation of a pilot capable of applying that concept to a real life situation. Thus FlexHousing was created. It allows for the control of the energy usage of the appliances in a home or building. Such is possible by the integration of external technologies. Virtual Power Solutions, a national energy solutions company developed a product called Cloogy. The Cloogy is a gateway installed in one’s house and is capable of communicating with smart device provided by VPS. In this case, smart plugs were deployed. These smart plugs are placed between the appliance and the electrical outlet. From there the plug is able to control the flow of electricity towards the appliance. Sensors are also installed in these plugs, capable of collecting data regarding the energy usage amongst other metrics. In order to operate the plugs, VPS also provided us with an external API, capable of receiving request and forwarding those request back to the plugs. FlexHousing is comprised of 2 modules: the FlexHousing middleware and the FlexHousing FrontEnd. The middleware acts as a hub for every operation in the FlexHousing environment. It bridges the various system in play, the flexoffer services and the VPS services. FlexHousing allows for the creation of rooms and the attachment of devices equipped with VPS technology. The user is then able to perform a variety of operations, such as, applying flexoffers, remotely controlling the appliances and collect data from the sensors in the VPS devices. For the interaction with the user, FlexHousing FrontEnd was developed. It provides a user-friendly graphical interface for the user to setup and control FlexHousing middleware. The interface revolves around the rooms and the devices. The user is able to check the flexoffers he has applied and the schedules the flexoffers services sent back. If the user wants, he can deploy the VPS smart plugs to non flexoffer complaint devices, such as lamps, television and computer. Using the FrontEnd, he is also capable of using them.
- Arrowhead - Eventhandler SystemPublication . Sousa, José Pedro Neto Ferreira de Almeida e; Lino, Luís Miguel MoreiraThe following document is the final report regarding PESTI – Internship Project of the Informatics Degree in Computer Science of ISEP. The Eventhandler project is englobed in the European Project Arrowhead. This framework allows the development of collaborative applications between several devices also known as Internet of Things or IoT. Its base foundation lies on the SOA architecture and currently offers services such as: Service Discovery, Authentication, Orchestration, Authorization and others. Each of which will be described in this document. Using the Eventhandler as an Arrowhead platform, Event Producer applications are able to register any kind of event such as: a temperature provided by sensor, warnings, errors, connection failures, etc. All this information must be stored in a database, local file or the Historian service provided by the Arrowhead Framework. Event Consumers can subscribe to the Eventhandler using a filter. Therefore, being able to receive in real time incoming events or access them through the permanent storage referred above. Besides implementing the Eventhandler locally, the main objective of this project is to also integrated this system within the Arrowhead cloud.
- Framework para Sistemas Distribuídos em Tempo-realPublication . Duarte, Roberto Daniel Alves; Ferreira, Luís Miguel Moreira LinoO desenvolvimento de sistemas distribuídos de tempo-real tem sido sempre uma tarefa complexa, altamente especializada para cada plataforma e com custo muito elevados. A introdução do paradigma de computação paralela fork/join em sistemas multicore permite dividir a computação entre vários cores. Este trabalho demostra que é possível a implementação do paradigma de computação fork/join distribuída em sistemas de tempo-real. Este paradigma permite distribuir parte de determinadas operações que não podem ser executadas localmente num nó, dentro da deadline definida para essa operação. Tal deve-se ao facto desses nós não terem capacidade de processamento suficiente. Outra razão para distribuir a computação pode também ser a necessidade de poupar energia num nó sem fios. Assim, a framework desenvolvida permite distribuir parte da computação por outros nós do mesmo sistema que tenham recursos livres. Foi especialmente desenvolvida para ser utilizada em sistemas embebidos com fraca capacidade de processamento, a operar numa rede totalmente fechada ao exterior. A implementação é por isso muito otimizada e de baixo nível de modo a que possa cumprir deadlines acima dos 70 ms. Este trabalho foi baseado numa implementação open-source do protocolo de comunicação Flexible Time Trigger-Switched Ethernet (FTT-SE) em que as operações distribuídas são executas em nós Linux com o patch PREEMPT-RT, que assegura o suporte a aplicações de tempo real.
- Quality of Service for High Performance IoT SystemsPublication . Sousa, Renato Ayres de; Barbosa, Paulo Miguel Santos; Ferreira, Luís Miguel Moreira Lino; Sousa, Paulo Baltarejo deThe fourth industrial generation brought both solutions as challenges. It allowed greater efficiency and effectiveness in manufacturing, reducing both costs and wastes. However, it consists in the deployment of innumerable devices for data collection and control processes. This brings challenges such as interoperability between all these heterogeneous systems. Thus, a group of partners, supported by the European Union, proposed a solution, the Arrowhead Framework. Its aim is to create a framework with a service-oriented architecture (SOA) enabling an abstract collaboration between all these different devices. While in development, the framework does not provide Quality of Service (QoS), which prevents its use in more demanding networks. This limitation was the central problem solved in this project. This project focus on developing an architecture that provides QoS support in Arrowhead compliant systems. Here the main challenges addressed are the following: developing an architecture capable of working with different communication protocols and technologies; develop an architecture capable of working with an unlimited number of QoS requirements. During the entire project, its development process consisted in two main iterations: the first was regarding the development of an architecture; the second consisted in the development of a pilot project based on the FTT-SE protocol that could test the architecture developed in the first iteration. At last, the final product consists in two systems, one for QoS configuration and other for monitoring. These two systems are independent of each other. Regarding QoS requirements, only delay and bandwidth were implemented.
- Simulação de comunicação inter-veicular sobre LTE e 802.11pPublication . Cerqueira, Tiago Miguel Araújo Fernandes; Ferreira, Luís Miguel Moreira LinoNos últimos anos temos assistido ao aparecimento do conceito de redes veiculares, cujas aplicações tem o potencial de permitir um aumento da segurança rodoviária, redução de emissões e gestão de frotas eficiente, entre outras. Neste contexto, destacam-se duas tecnologias de comunicação para este tipo de redes, o Long Term Evolution (LTE) e o 802.11p/Wireless Access in Vehicular Environments (WAVE). Devido às características próprias deste tipo de redes, atualmente, a grande maioria dos estudos é realizada com recurso a simuladores de redes e, de forma a simular o impacto da mobilidade dos nós na rede, é necessária a utilização de modelos de mobilidade. Neste trabalho é apresentada a implementação de dois algoritmos distintos de disseminação de dados, recorrendo a LTE e 802.11p, bem como a implementação de um novo modelo de mobilidade para o simulador de redes ns-3. O trabalho compreende o desenvolvimento de aplicações, no ns-3, que simulem a disseminação de dados recebidos, por parte de veículos com capacidades de comunicação com a infraestrutura, com a restante rede veicular. A implementação define dois algoritmos distintos, segundo o paradigma publish/subscribe, para a disseminação dos dados. Adicionalmente, foi ainda desenvolvido um módulo de mobilidade para o ns-3 que, recorrendo a APIs externas de planeamento de viagens, tais como as do Google Maps, é capaz de gerar mobilidade realística para os nós do simulador. As aplicações descritas neste relatório permitem a análise da disseminação de dados numa rede veicular, recorrendo a dois algoritmos distintos, bem como o estudo do impacto das diferentes densidades de nós na rede. A implementação do modelo de mobilidade descrito neste relatório, por sua vez, torna-se um contributo para os investigadores da área de redes veiculares ou metropolitanas, uma vez que permite a simulação de mobilidade realística com facilidade, sem recurso a simuladores veiculares externos que, devido à sua complexidade e propósito, podem revelar-se de difícil configuração e compreensão. O módulo de mobilidade descrito encontra-se atualmente em fase de revisão de código, com vista à inclusão no simulador ns-3.
- Implementação da rede Flexible Time Trigger para Switched Ethernet no Simulador NS-3Publication . Oliveira, Fábio André Gomes; Ferreira, Luís Miguel Moreira Lino; Albano, Michele; Garibay-Martinez, RicardoNos últimos anos tem-se assistido a um crescimento na utilização de sistemas embebido, sendo que muitos destes sistemas se encontram espacialmente separados, realizando comunicações distribuídas de modo a cumprirem os requisitos de tempo-real das suas aplicações. Muitas destas aplicações apresentam exigências temporais muito restritas e requerem um alto nível de determinismo no que diz respeito aos tempos em que as suas tarefas são executadas. O protocolo Flexible Time Triggered – Switched Ethernet (FTT-SE), baseado no paradigma Flexible Time Triggered (FTT), oferece garantias do determinismo temporal exigido por estas aplicações, apresentando igualmente flexibilidade e uma gestão dinâmica do serviço (QdS). Neste trabalho é apresentada a implementação do protocolo FTT-SE no simulador de redes NS-3, a primeira implementação deste protocolo para um simulador. O trabalho compreende o desenvolvimento de aplicações, no NS-3, que simulem o comportamento das aplicações Master, que realiza o escalonamento de tráfego, e Slave, que comunica com outras aplicações Slave, numa rede FTT-SE. A implementação define também dois tipos de comunicação entre aplicações Slave: sequencial (end-to-end) e de acordo com o paradigma Fork-Join Parallel/Distributed. Para estes tipos de comunicação, é descrito neste trabalho a integração da simulação de um mecanismo de escalonamento de tarefas por prioridades, único no NS-3, seguindo a política de escalonamento preemptiva Rate Monotonic. Através da implementação são simulados vários cenários de rede variando as características das aplicações utilizadas, procurando analisar os resultados obtidos e justificar os mesmos. A implementação descrita no relatório torna-se, deste modo, um contributo para a comunidade de investigação, uma vez que oferece a possibilidade de estudar e analisar a rede FTT-SE de uma forma prática, fiável e a um baixo custo.