software component technology and component tracing csc532 presentation developed & presented by...

28
Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Upload: zoe-darlene-lane

Post on 29-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Software Component Technology and

Component Tracing

CSC532 PresentationDeveloped & Presented by

Feifei Xu

Page 2: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Introduction

• The software industry is facing both economical and technical challenges.

• As the rapid increase of software programs in the size and complexity, it is very important to reduce high software cost and complexity while increasing reliability and modifiability.

• Software component technology attracts more people in the software engineering community because it can reduce developmental costs and realize the improvement of the entire system’s reliability.

Page 3: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

What is the software component?

• A software component is a unit of composition with a contractually specified interface and explicit context dependences only.

• A software component can be deployed independently and is subject to composition by third parties.

Page 4: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Component-based development technology is based on building complex software systems from reusable simpler components.

Page 5: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Drivers for component-based development• Requirement changes

• Software grow larger and more complex

• Fast cycle time for the market reasons

• Development of the www and internet

• Rapid pace of technological change

• Economic necessity of reuse

Page 6: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Two major elements of Component-based development

• The component architecture

• Component-based development process

Page 7: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Main elements of component architecture

• Component framework

• Component

• Component contracts

• Coordination service

• Glue code

Page 8: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu
Page 9: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Component-based development process

• Requirement gathering

• Analysis

• Design

• Implementation

• Testing

• Component brokerage

Page 10: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Component-based development process puts the reuse of components on the center of entire development process

Page 11: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Component Technology – Industry Initiatives

• Microsoft’s COM

• OMG’s CORBA

• SUN’s Java Beans

• SUN’s Enterprise Java Beans

Page 12: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Monitoring Software Components

When more and more third-party software components are available in the market,software workshops begin to develop component-based programs by using the component engineering. Many people emphasize the issues in building component-based programs, very few people address the challenges in maintenance and testing problems of software components

Page 13: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Issues in testing and maintenance of component-based software

• Hard to understand component behaviors in a system

• Difficulty on component error isolation, tracking and debugging

• High costs on performance testing and tuning for components

• Lack in system resource validation for components

Page 14: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Two major challenges in developing component-based software

• Design software components with consistent mechanisms and interfaces to support the tracking and monitoring of component behaviors, functions, performance, and resources.

• Develop a systematic method and environment to monitor and analyze component behaviors and system performance

Page 15: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

What does “tracking” mean?

• According to IEEE standard: “tracking” refers to the process of following a moving object or a variable input quantity, using a servomechanism.

• A trace routine refers to a program routine that provides a historical record of specified events in the execution of a program

Page 16: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Traceability of a component

• Behavior traceability --- It is the degree to which a component facilitates the tracking of its internal and external behaviors.

· track internal behaviors of components

· track external behaviors of components• Trace controllability --- It refers to the extent of

the control capability in a component to facilitate the customization of its tracking function.

Page 17: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Five types of component traces:

• Operational trace

• Performance trace

• State trace

• Event trace

• Error trace

Page 18: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

State Trace

Performance TraceEvent Trace

Error TraceOperational Trace

Page 19: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Operational trace:· Internal operation trace· external operation trace

It records the interactions of component operations, such as function invocation.

Page 20: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Performance trace

It records the performance data and benchmarks for each function of a component in a given platform and environment

Page 21: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

State trace

It tracks the object states or data or data states in a component.

In component black box testing it is very useful for testers to track the public visible objects of components

Page 22: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Event trace It records the events and sequences

occurred in a component.

Error trace

It records the error messages

generated by a component.

Page 23: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Three different systematic tracking mechanisms

• Framework-based tracking

• Automatic code insertion

• Automatic component wrapping

Page 24: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Frame-based tracking

A well-defined tracking framework is provided for component engineers to add program tracking code according to the provided programming reference manual

Page 25: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Automatic Code Insertion

We can insert tracking code into component source code to track the values of its input data and output data

Page 26: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Automatic Component Wrapping

We adds tracking code to monitor the external interface and behaviors of components by wrapping them as black boxes.

Page 27: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Conclusion

• Component-based technology is trend• High quality of component is most important• Tracing technology of the software • How to provide well-defined tracking framework

effective tracking mechanisms with minimum

programming

Page 28: Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu

Thank You

October. 2003