Haitham S. Hamza

Learn More
Orthogonal Frequency Division Multiplexing Access (OFDMA) has been increasingly deployed in various emerging and evolving cellular systems to reduce interference and improve overall system performance. However, in these systems Inter-Cell Interference (ICI) still poses a real challenge that limits the system performance, especially for users located at the(More)
Wireless Sensor Networks (WSNs) consist of a large number of nodes networked via wireless links. In many WSN settings, sensor nodes are deployed in an ad hoc manner. One important issue in this context is to detect the boundary of the deployed network to ensure that the sensor nodes cover the target area. In this paper, we propose a new algorithm that can(More)
In this paper, we develop a new design approach to wavelength division multiplexing (WDM) optical interconnects with the objective of designing cost-effective and scalable interconnects. Our design philosophy strikes a balance between switching and conversion costs, and requires wavelength conversion only between two fixed and predefined wavelengths. The(More)
Component-based development (CBD) is concerned with enabling the design of software systems by reusing predeveloped components. One important activity in CBD is to analyze the business domain and identify potential reusable domain components. Identifying business components, however, can be challenging due to the different nature of the application(More)
The fact that domain applications share core aspects has turned software reuse into a viable option. System development has experienced time saving, cost saving, and the luxury of deploying proven-to-work solutions as main advantages of software reuse. Software patterns represent a major approach for reuse. Domain patterns capture system components shared(More)
Developing scalable and adaptable architectures that can accommodate evolving changes is crucial for reducing software development cost. To achieve scalability and adaptability, developers should be able to identify where and how new (current) layers are added (removed) from the architecture. Failing to do so may lead to software architectures that require(More)
Traceability and generality are among the main qualities that determine the effectiveness of developed analysis patterns. However, satisfying both qualities at the same time is a real challenge. Most of the analysis patterns are thought of as templates, where they can be instantiated, and hence reused through an analogy between the original pattern and the(More)