Demand for increasingly smaller and more reliable software to power mobile devices continues to grow exponentially. Investigating ways to reduce the size of software while making it safer and more secure, drives the research of Akramul Azim, PhD, Assistant Professor in the Department of Electrical, Computer and Software Engineering in the Faculty of Engineering and Applied Science.
He joined UOIT in January 2016 to focus on the development of reliable embedded software and real-time systems research. His work has critical applications in safety vehicle systems in automotive, avionics, high-speed rail sectors, as well as nuclear power plants, and health and medical software. On the software side, he builds safety critical systems, and explores innovative ways to improve the safe and security of embedded software systems.
Dr. Azim’s latest research examines health informatics and mission learning techniques for optimized software. On the platform side, he aims to use reverse engineering to obtain different data available by first analyzing the data to build a model, then characterizing that data in order to subsequently optimize the model to produce better health data in the future. He is also working on the safety, security, verification and validation aspect of the Internet of Things, the vast global network of devices embedded with electronics, software, sensors and network connectivity that enables the collection and exchange of infinite data.
Utilizing his expertise, Dr. Azim has developed the open graduate course Embedded Real-Time Control Systems to allow students to contribute to the research track, theory, or implement new platforms. Before joining UOIT, he gained industry experience advancing embedded software as a research and development engineer with Ericsson Canada in Ottawa, Ontario. The interdisciplinary nature and limitless applications led him to pursue a Bachelor of Science in Computer Science and Information Technology at the Islamic University of Technology and a Master of Science in Computer Science and Engineering at the Bangladesh University of Engineering and Technology, both in Dhaka, Bangladesh. In 2009, he moved to Canada complete his Doctorate in Electrical and Computer Engineering from the University of Waterloo in Waterloo, Ontario, while serving as a research assistant for five years. For his work, he received the University of Waterloo Graduate Seminar Best Speaker Award in 2013.
Industry Expertise (7)
Areas of Expertise (10)
Real-Time Systems Scheduling and Networking
Safety Critical Systems
Verification and Validation
University of Waterloo: PhD, Electrical and Computer Engineering 2014
Bangladesh University of Engineering and Technology: MSc, Computer Science and Engineering 2009
Islamic University of Technology: BSc, Computer Science and Information Technology 2006
- Ontario Society of Professional Engineers
- Institute of Electrical and Electronic Engineers
Event Appearances (4)
Generation of Communication Schedules for Multi-Mode Distributed Real-Time Applications
Design, Automation and Test in Europe Conference Dresden, Germany
An Eﬃcient Periodic Resource Supply Model for Workloads with Transient Overloads
25th Euromicro Conference on Real-Time Systems Paris, France
Deterministic Cluster Head Selection for Wireless Sensor Networks
IEEE International Canadian Conference on Electrical and Computer Engineering 2012 Montréal, Québec
Dynamic Service Policy-based Clustered Wireless Sensor Networks
The 6th IEEE International Conference on Wireless and Mobile Computing, Networking and Communications Niagara Falls, Ontario
US Patent No. US 20140304687 A1
A system and method for compilation validation uses a second compiler, in addition to the compiler under test, to generate intermediate code (a.k.a. certificates). A checker processes the output of the two compilers and generates a statement of correctness regarding the output of the compiler under test.
EP 2787435 A1
Compilation validation has several advantages that may overcome some of challenges of compiler validation. It is easier to demonstrate the correctness of a compilation than the correctness of the compiler because it is usually easier to check the result of an algorithm than the algorithm itself. Compilation validation may be unaffected by changes to the compiler, and no additional work may be needed when changes are made. Compilation validation may be used with optimizing compilers as these compilers are notoriously difficult to validate.
Embedded Real-Time Control Systems
ENGR 5910G, Graduate Course
With the growing demand in embedded systems, safety and non-safety critical parts are integrated together although guaranteeing safety is a hard problem to tackle due to the complexity of possible interactions between components involving communication. However, it is sufficiently recognized that separation of computation and communication can reduce the complexity of guaranteeing safety involved in interactions between components. In this work, we propose to use component interfaces derived from periodic resource supplies that can meet the demand of components experiencing bounded delays. The advantage of using interfaces is to provide minimal information of components without requiring the entire task specifications to generate a multi-mode communication schedule. We use integer linear programming to find assignments in generating schedules that are guaranteed to have low average mode change delay. A video-monitoring case study demonstrates the advantages of using our approach in generating communication schedules.
A key problem in designing multi-mode, real-time systems is the generation of schedules to reduce the complexities of transforming the model semantics to code. Moreover, distributed multi-mode applications are prone to suffer from delays incurred during mode changes. We therefore aim to generate communication schedules that have low average mode-change delay for multi-mode, real-time distributed applications.
In this paper, we use optimization constraints associated to timing requirements to generate state-based schedules for multi-mode communication systems, and illustrate the workflow for generating schedules from specifications through a real-time, video-monitoring case-study. Our experiments in the case-study demonstrate that schedules generated using the proposed method reduce the average mode-change delay in relation to a randomized algorithm and the well-known EDF scheduling algorithm.
Real-time applications have deadline constraints. The system should provision sufficient resources for the application to meet the deadlines, and use supply and demand-bound functions to analyze the schedulability of workloads. The concept of the demand-bound function describes the upper bound on the resources required by the application, while the supply bound function specifies the lower bound on the resources supplied to the tasks. If the system provides fewer resources than required, the application will experience an overload. Most work concentrates on designing systems that cannot experience short periods of overloads.
This work explores resource provisioning for control applications that can tolerate overloads. It introduces analysis techniques for supply and demand bound functions that specifically consider overloads and delays in a periodic resource model. With this extended model, the work addresses three problems: (1) determine the worst-case delay for a given resource demand and supply under a periodic resource model, (2) find a periodic resource supply for a given workload and worst-case tolerable delay, and (3) for a control system with a given robustness criterion, identify a periodic resource supply with a worst-case delay.