Ahmed M. Elkhodary

Learn More
Software product lines (SPL) are an established technology for developing families of systems. In particular, they focus on modeling commonality and variability, that is, they are based on identifying features common to all members of the family and variable features that appear only in some members. Model-based development methods for product lines(More)
Self-adaptive software systems are capable of adjusting their behavior at run-time to achieve certain objectives. Such systems typically employ analytical models specified at design-time to assess their characteristics at run-time and make the appropriate adaptation decisions. However, prior to system's deployment, engineers often cannot foresee the changes(More)
—Self-adaptive software systems are capable of adjusting their behavior at runtime to achieve certain functional or quality of service goals. Often a representation that reflects the internal structure of the managed system is used to reason about its characteristics and make the appropriate adaptation decisions. However, runtime conditions can radically(More)
The goal of aspect-oriented software development is to maintain a clear separation of concerns throughout the software lifecycle. Concerns that are separated, however, must be composed at some point. The hypothesis in this paper is that existing aspect-oriented modeling composition methods are not expressive enough for composing state-dependent behavioral(More)
Adaptive systems dynamically change their behavior or structure at runtime to respond to environmental changes. This paper considers one class of adaptive systems-those that adapt application-level security mechanisms. Nowadays, adaptive software security is gaining greater attention as a way to balance the tradeoff between systems security and IT(More)
– Service Oriented Architecture (SOA) has emerged as a model for distributed software development that promotes flexible deployment and reuse. Software product lines (SPL) promote reusable application development for product families. Service oriented systems change to respond to changing clients' requirements. As they change, service oriented systems can(More)
  • 1