130 likes | 302 Views
Towards A QoS Modeling and Modularization Framework for Component-based Systems. Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale Amogh Kavimandan (Presenter) Vanderbilt University, Nashville, TN, USA *Contact : sutambe@dre.vanderbilt.edu.
E N D
Towards A QoS Modeling and Modularization Framework for Component-based Systems Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale Amogh Kavimandan (Presenter) Vanderbilt University, Nashville, TN, USA *Contact : sutambe@dre.vanderbilt.edu Advances in Quality of Service Management, (AQuSerM) EDOC 2008 Workshop, Munich, Germany
Component-based Enterprise DRE Systems • Characteristics of component-based enterprise DRE systems • Multiple reusable components composed together to realize functionality • Simultaneous Quality of Service (QoS) requirements • E.g., Availability, Timeliness • Examples of Enterprise DRE systems • Advanced air-traffic control systems • Continuous patient monitoring systems
QoS Design Challenges • System’s structure is the primary design dimension whereas QoS is the secondary • Challenges • QoS requirements often cross-cut the primary dimension • E.g., deciding the number of replicas and their interconnections in a fault-tolerant system • Low-level imperative techniques of specifying QoS is overly complex • E.g., API calls for configuring object request broker (ORB) for real-timeliness • Multiple QoS interact in complex ways, which is extremely hard, if not impossible, to analyze at code level • Granularity of applicability of QoS varies widely • E.g., System level, component assembly level, component level, component connection level, port level, method level
Solution: Declarative Modeling of QoS Requirements • Desirable properties of a graphical QoS modeling language • Platform-independent representation of QoS • High-level, declarative QoS specification • Separate “structural view” and “QoS view” for separation of system design concerns • Fine to coarse granularity of QoS association • Reusable • Decoupled from structural meta-model to enable independent meta-model evolution Our solution: Component QoS Modeling Language (CQML)
High-level Declarative QoS Modeling using CQML • CQML is developed using GME • FailOverUnit • Annotate protected components and assemblies • Specify # of replicas • Network-level QoS • Annotate component connections • Specify priority of communication traffic • QoS provisioning using differentiated services • Security QoS • Annotate component ports or connections • Controls role-based access control (RBAC) Policies • More QoS can be added
Separation of Concerns • Separate Structural view from the QoS view • CQML model interpreters and transformations coalesce both the views of the model
Granularity of QoS Associations • QoS view supports different granularity • Components • Connections • Component Ports • Component Assemblies • Interface Methods • Granularity is based on the feature model of contemporary component modeling languages Examples of contemporary component modeling languages PICML for CCM platform J2EEML for J2EE platform ESML for Avionic platform
CQML Meta-model • CQML meta-model is based on the feature model shown before • Abstract QoS elements correspond to the features • All concrete QoS elements inherit associations from abstract elements • More QoS elements can be added by inheriting from the abstract ones • Can be superimposed on other component modeling languages (reusable)
Composition of CQML and Structural Languages • CQML uses a base language with the features shown before (e.g., PICML) • Added as a library in base language using GME meta-model composition • QoS Associations are added with structural elements of the base language • Does not disturb syntax, semantics, and interpreters of the base language • Process can be repeated for other structural modeling languages
Using CQML for M2M Transformation • Problem: Generating fault-monitoring infrastructure from CQML’s fault-tolerance modeling (FailOverUnit) capabilities • Step1: Model structural composition of component • Step2: Annotate components with FailOverUnit(s) marking them “protected” • Step3: Use aspect-oriented M2M transformation (described next) developed using Embedded Constraint Language (ECL) • Step4: Fault detector and heart-beat components are generated for “protected” components • Step5: Use existing interpreters of the base language to generate platform-specific metadata.
M2M Transformation Algorithm FailOverUnit Transformation Fault Detector Collocated Heartbeat Components
Concluding Remarks • Separation of structural and QoS concerns is key to simplifying system design with non-functional requirements • CQML provides higher level graphical QoS modeling support (e.g., fault-tolerance) • CQML enhances a structural modeling language with declarative QoS modeling capability when composed • CQML separates QoS design from structural design using views • Aspect-oriented M2M transformations can coalesce two views into one automatically • In future: Generalizing the approach to analyze multiple QoS requirements simultaneously