International Journal of Advanced Computer Science and Applications, 2020
Internet of Things (IoT) has become an interesting topic among technology titans and different bu... more Internet of Things (IoT) has become an interesting topic among technology titans and different business groups. IoT platforms have been introduced to support the development of IoT applications and services. Such platforms connect the real and virtual worlds of objects, systems and people. Even though IoT platforms increasingly target various domains, they still suffer from various limitations. (1) Integrating hardware devices from different providers/vendors (thereafter referenced as heterogeneous hardware) is still a subtle task. (2) Providing a scalable solution without altering the end user privacy (e.g., through the use of cloud platforms) is hard to achieve. (3) Handling IoT Applications reliability as well as platform reliability is still not fully supported. (4) Addressing Safety-critical applications needs are still not covered by such platforms. A novel scalable dynamic computing platform architecture is proposed to address such limitations and provide simultaneous support for five non-functional requirements. The supported non-functional requirements are scalability, reliability, privacy, timing for real-time systems and safety. The proposed architecture uses a novel network topology design, virtualization and containerization concepts, along with a service-oriented architecture. We present and use a smart home case study to evaluate how traditional IoT platform architectures are compared to the proposed architecture, in terms of supporting the five non-functional requirements.
Recent advances in microprocessor technologies have increased the need for concurrent multi-threa... more Recent advances in microprocessor technologies have increased the need for concurrent multi-threaded programming. These advances imposed an immediate mandate in the researcher to develop methodologies and tools to support the development process especially in testing and debugging of concurrent multithreaded programs. In this paper, we are surveying the available tools and techniques for testing and debugging concurrent and multi-threaded applications as well as highlighting the different ways of implementing these techniques. At the time of writing and as fare as our search had reached we didn't find published surveys that cover these tools techniques since 2006 in [1], [2].
Uploads
Papers by amr kamel