Presentation is loading. Please wait.

Presentation is loading. Please wait.

Model-Driven Engineering for Development-Time QoS Validation of Component-based Software Systems James Hill, Sumant Tambe & Aniruddha Gokhale Vanderbilt.

Similar presentations


Presentation on theme: "Model-Driven Engineering for Development-Time QoS Validation of Component-based Software Systems James Hill, Sumant Tambe & Aniruddha Gokhale Vanderbilt."— Presentation transcript:

1 Model-Driven Engineering for Development-Time QoS Validation of Component-based Software Systems James Hill, Sumant Tambe & Aniruddha Gokhale Vanderbilt University, Nashville, TN, USA IEEE International Conference & Workshop on Engineering of Computer Based Systems (ECBS 07) March 26- 29, 2007 Tucson, AZ, USA

2 CBML & WML Presentation James H. Hill Motivation: Model-Driven Engineering Historically, distributed real-time & embedded (DRE) systems were built directly atop OS & protocols Operating System & Communication Protocols Hardware Devices Applications

3 CBML & WML Presentation James H. Hill Applications Traditional methods of development have been replaced by middleware layers to reuse architectures & code Viewed externally as Service-Oriented Architecture (SOA) Middleware Operating System & Communication Protocols Hardware Devices Domain-Specific Services Common Services Distribution Middleware Infrastructure Middleware Historically, distributed real-time & embedded (DRE) systems were built directly atop OS & protocols Component-based (SOA) Middleware Motivation: Model-Driven Engineering

4 CBML & WML Presentation James H. Hill Applications Traditional methods of development have been replaced by middleware layers to reuse architectures & code Viewed externally as Service-Oriented Architecture (SOA) Middleware Operating System & Communication Protocols Hardware Devices Domain-Specific Services Common Services Distribution Middleware Infrastructure Middleware Historically, distributed real-time & embedded (DRE) systems were built directly atop OS & protocols Component-based (SOA) Middleware Model-driven engineering (MDE) techniques coupled with domain-specific model languages (DSMLs) are increasingly being used to address the challenges of building large-scale component-based systems Motivation: Model-Driven Engineering

5 CBML & WML Presentation James H. Hill Motivation: Current Model-Driven Engineering Techniques Many existing MDE techniques for large- scaled component-based system focus primarily on: a)Structural issues Component representation (i.e., interfaces & attributes) Component assembly & packaging System deployment & configuration b)Functional & operational issues Model checking (e.g., checking for functional correctness) Runtime validation of performance (e.g., running simulations at design- time, or empirical benchmarks at integration time) There remains a major gap in evaluating system quality of service (QoS) at different phases of development to allow design flaws to be rectified earlier in the development lifecycle.

6 CBML & WML Presentation James H. Hill Application components developed after infrastructure is mature Development Timeline Level of Abstraction System infrastructure components developed first Serialized Phasing is Common in Large-scale Systems (1/2)

7 CBML & WML Presentation James H. Hill Serialized Phasing is Common in Large-scale Systems (2/2) Development Timeline Level of Abstraction Integration Surprises!!! System integration & testing Finished development

8 CBML & WML Presentation James H. Hill Complexities of Serialized Phasing Development Timeline Level of Abstraction Still in development Ready for testing Complexities System infrastructure cannot be tested adequately until applications are done

9 CBML & WML Presentation James H. Hill Complexities of Serialized Phasing Development Timeline Level of Abstraction Overall performance? Complexities System infrastructure cannot be tested adequately until applications are done Entire system must be deployed & configured properly to meet QoS requirements Existing evaluation tools do not support “what if” evaluation It is hard to address these concerns in processes that use serialized phasing

10 CBML & WML Presentation James H. Hill QoS Concerns with Serialized Phasing Meet QoS requirements? Key QoS concerns Which D&C’s meet the QoS requirements? Development Timeline Level of Abstraction

11 CBML & WML Presentation James H. Hill QoS Concerns with Serialized Phasing Performance metrics? Key QoS concerns Which D&C’s meet the QoS requirements? What is the worse/average/best time for various workloads? Development Timeline Level of Abstraction

12 CBML & WML Presentation James H. Hill QoS Concerns with Serialized Phasing It is hard to address these concerns in processes that use serialized phasing Key QoS concerns Which D&C’s meet the QoS requirements? What is the worse/average/best time for various workloads? How much workload can the system handle until its QoS requirements are compromised? System overload? Development Timeline Level of Abstraction

13 CBML & WML Presentation James H. Hill Promising Solution Approach: Emulate Behavior using Next Generation System Execution Modeling Tools While target system under development: 1.Use a domain-specific modeling language (DSML) to define & validate infrastructure specifications & requirements 2.Use DSML to define & validate application specifications & requirements 3.Use middleware & MDD tools generate D&C metadata so system conforms to its specifications & requirements 4.Use analysis tools to evaluate & verify QoS performance 5.Redefine system D&C & repeat Enables testing on target infrastructure throughout the development lifecycle http://www.dre.vanderbilt.edu/~hillj/docs/publications/CUTS-RTCSA06.pdf Component Workload Emulator (CoWorkEr) Utilization Test Suite (CUTS) Workflow

14 CBML & WML Presentation James H. Hill Case Study: Distributed Stock Application (DSA) (1/2) Usage Patterns by User Type TypePercentageResponse Time (msec) Basic (Client A)65%300 Gold (Client B)35%150 Implementation Details All components are to implemented as CORBA Component Model (CCM) components using ACE+TAO+CIAO 5.1 middleware Target architectures includes 3 separate hosts running Fedora Core 4. Each component in the DSA is schedule to complete is development at different times in development lifecycle

15 CBML & WML Presentation James H. Hill Case Study: Distributed Stock Application (2/2) Challenges of Continuous QoS Validation 1.Emulating Business Logic: Emulated components must resemble their counterparts in both supported interfaces & behavior 2.Realistic Mapping of Emulated Behavior: Behavior specification should operate at a high-level of abstraction & map to realistic operations 3.Technology Independence: Behavior specification should not be tightly coupled to a programming language, middleware platform, hardware technology, or MDE tool CCM Microsoft.NET Replaceable with “real” component Realistic behavior & workload Realistic user behavior

16 CBML & WML Presentation James H. Hill Domain-Specific Modeling Languages for Continuous QoS Validation Component Behavior Modeling Language (CBML) a high-level domain-specific modeling language for capturing the behavior of components –e.g., its actions & states Workload Modeling Language (WML) a domain-specific modeling language for capturing workload, & used to parameterize the actions on CBML CBML & WML were both developed using GME (http://www.isis.vanderbilt.edu/projects/GME)

17 CBML & WML Presentation James H. Hill The Component Behavior Modeling Language Context Component’s behavior can be classified as: communication & internal actions Need to define these actions as close as possible to their real counterpart (i.e., Challenge 1) Research Contributions of CBML Based on the semantics of Input/Output (I/O) Automata –i.e., contains representative elements Behavior is specified using a series of action to state transitions Transitions have preconditions that represent guards & effects have postconditions that determine the new state after an action occurs Variables are used to store state & can be used within pre & postconditions

18 CBML & WML Presentation James H. Hill Domain-Specific Extensions to CBML Context Some aspects of component- based systems are not first-class entities in I/O automata –e.g., lifecycle events & monitoring notification events Extended CBML (without affecting formal semantics) to support domain-specific extensions Domain-Specific Extensions Environment events – input actions to a component that are triggered by the hosting system rather than another component Periodic events - input actions from the hosting environment that occur periodically environment periodic

19 CBML & WML Presentation James H. Hill Ensuring Scalability of CBML Context One of the main goals of higher- level of abstraction is simplicity & ease of use It is known that one of the main drawbacks of automata languages is scalability Usability Extensions Composite Action – contains other actions & helps reduce model clutter Repetitions - determines how many times to repeat an action to prevent duplicate sequential actions Log Action - an attribute of an Action element that determines if the action should be logged Tool Specific – GME add-on that auto-generates required elements (e.g., states)

20 CBML & WML Presentation James H. Hill The Workload Modeling Language Context CBML as a standalone language is sufficient enough to capture behavior of a component For emulation purposes, it does not capture the reusable objects of a component & its workload (i.e., Challenge 2) Research Contributions of WML Middleware, hardware, platform, & programming language independent DSML Used to define workload generators (workers) that contains actions to represent realistic operations Defined using a hierarchical structure that resembles common object-oriented programming packaging techniques that are consistent with conventional component technologies workload generator executable actions generic action no payload

21 CBML & WML Presentation James H. Hill Integrating WML Models with CBML Models Integration Enablers WML worker elements have same model semantics as variables WML actions have same modeling semantics as CBML actions Allows WML elements to be used in CBML models Context CBML & WML are standalone DSMLs with a distinct purpose –i.e., model behavior & workload, respectively WML is designed to complement CBML by provide CBML with reusable operations that can map to realistic operations WML CBML WML action

22 CBML & WML Presentation James H. Hill Integrating Behavioral and Structural DSMLs Context Structural DSML (e.g., the Platform Independent Component Modeling Language (PICML)) capture the makeup of component-based systems There is no correlation between a component’s ports & its behavior Integration Enablers Defined a set of connector elements that allow structural DSMLs to integrate with (or contain) CBML models Input ports directly connect to Input Action elements Output actions have the same name as their output port to reduce model clutter –i.e., prevent many to one connections input connections output name

23 CBML & WML Presentation James H. Hill Code Generation for Emulation Context The generation technique should not be dependent on the underlying technology Although we are targeting CUTS, would should be able to generate emulation code for any benchmarking framework Generation Enablers Emulation layer – represents the application layer’s “business logic” where elements in WML used to parameterize CBML behavior are mapped to this layer Template layer – acts as a bridge between the upper emulation layer & lower benchmarking layer to allows each to evolve independently of each other Benchmark layer – the actual benchmarking framework (e.g., CUTS) component method emulation template / benchmarking

24 CBML & WML Presentation James H. Hill Lessons Learned Using a DSML based on a mathematical formalism to define behavior of components helps in specifying unambiguous behavior when generating code & configuration files for emulation & simulation. Separating the workload, behavior, & structural models allows all to evolve independently of each other. Moreover, it encourages the same behavior model to be supported in multiple structural models to increase portability, flexibility, and usability. Using generative programming with templates that are parameterized by actions from behavioral models allows the DSML to easily be adapted to different environments of execution

25 CBML & WML Presentation James H. Hill Future Work Extend CBML with a simple programming language that will allow developers to use component properties & elements when defining behavior –e.g., event members Extend the current capabilities of both modeling languages and code generators to handle evaluation of real components –i.e., benchmarking them using ”realistic” input data) Extend the capabilities of WML such that existing class objects in the target programming language can be used in WML models –i.e., enable “real” implementation code to be generated directly from models. “real” component needs “real” data uses use value of input events

26 CBML & WML Presentation James H. Hill Concluding Remarks We described a MDE generative approach to address the challenges of evaluating component-based system QoS throughout the development lifecycle instead of delaying it to integration time Our approach included two DSMLs, namely CBML & WML, which allows use to generate realistic applications for emulation early in the development lifecycle Our approach facilitates continuous system integration – as real components are completed, they replace the emulated components Likewise, as more is learned about the system, component’s behavior can be refined & regenerated Tools are available as open-source & can be downloaded from: http://www.dre.vanderbilt.edu/CoSMIC & http://www.dre.vanderbilt.edu/CUTS

27 CBML & WML Presentation James H. Hill Questions


Download ppt "Model-Driven Engineering for Development-Time QoS Validation of Component-based Software Systems James Hill, Sumant Tambe & Aniruddha Gokhale Vanderbilt."

Similar presentations


Ads by Google