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

Slides:



Advertisements
Similar presentations
P SATel Institute for Information Processing University of Pisa SantAnna school Pisa Today trends in Software Engineering 1. Distributed Objects 2. Component.
Advertisements

Testing Workflow Purpose
Component-Based Software Engineering Main issues: assemble systems out of (reusable) components compatibility of components.
Towards a Practical Composition Language Oscar Nierstrasz Software Composition Group University of Bern.
Software Architectural Design Software Components Instructor Dr. Lawrence Chung.
Lecture # 2 : Process Models
Software Process Models
Chapter 2 The Software Process
P RESENTATION ON C OMPONENT B ASED S OFTWARE E NGINEERING Presented by: Richard Akono Burak Çamdereli Yousef Al Sharma Volkan Ozdamar Eastern Mediterranean.
Component Testability ASE-2003: Tutorial by Jerry Zeyu Gao By Jerry Zeyu Gao, Ph.D. San Jose State University
Basic Concepts in Component-Based Software Engineering
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
CBSD – Component Based Software Development - Introduction -
Software Components Andreas Sjögren Industrial IT group Computer Science Lab MdH.
1 Network Management Active Networks. 2 Network Management.
Testing Components in the Context of a System CMSC 737 Fall 2006 Sharath Srinivas.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Page 1 Building Reliable Component-based Systems Chapter 4 - Component Models and Technology Chapter 4 Component Models and Technology.
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
Introduction to Software Testing
Software Testing & Strategies
Software Test Automation and Tools Speaker: Jerry Gao Ph.D. San Jose State University URL:
Software Product Line Architectures (SPLA) Nipun Shah
Component-Based Software Engineering CSM-15 Paul Krause.
COMPONENT-BASED SOFTWARE ENGINEERING
Software Integration and Documenting
What is Software Engineering? the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 19 Slide 1 Component-based software engineering 1.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 12 Object-Oriented.
CPIS 357 Software Quality & Testing
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
1 Tools for Commercial Component Assembly Francis Bordeleau, Zeligsoft/Carleton University Mark Vigder, National Research Council Canada.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Component Architecture (CORBA – RMI) -Shalini Pradhan.
DEVS Namespace for Interoperable DEVS/SOA
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
1 10/14/2015ã 2007, Spencer Rugaber The Waterfall Process Software plans and requirements Validation System feasibility Validation Product design Verification.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Requirement Handling
CSC 532 Term Paper Presentation Hybrid approach to component based Engineering  Introduction.  Component based development (CBD).  Pros and Cons of.
Component-Based Software Engineering(CBSE) Xingui Tang CS532, Fall /6/2015.
Chapter 3: Software Project Management Metrics
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Basic Concepts of Component- Based Software Development (CBSD) Model-Based Programming and Verification.
Component-Based Systems X LIU, School of Computing, Napier University TIP As computing systems become more and more complex, software reuse and component-based.
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
Notes from Coulouris 5Ed Distributed Systems Notes on Components.
Qusay H. Mahmoud CIS* CIS* Service-Oriented Computing Qusay H. Mahmoud, Ph.D.
CBSE Component Based Software Engineering cs. upt
CSC 480 Software Engineering High Level Design. Topics Architectural Design Overview of Distributed Architectures User Interface Design Guidelines.
Smart Home Technologies
Software Engineering Introduction.
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
Software Quality Assurance and Testing Fazal Rehman Shamil.
Software Engineering Lecture 10: System Engineering.
A Framework for Automated and Composable Testing of Component-based Services Miguel A. Jiménez, Ángela Villota, Norha M. Villegas, Gabriel Tamura, Laurence.
Building Enterprise Applications Using Visual Studio®
CSE 219 Final exam review.
Unified Modeling Language
Mastering UML with Rational Rose 2002
Distribution and components
Introduction to Software Engineering
Introduction to Software Testing
Component--based development
Software Test Automation and Tools
CS310 Software Engineering Lecturer Dr.Doaa Sami
The Current State of CBSE
Presentation transcript:

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.

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.

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

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

Two major elements of Component- based development The component architecture Component-based development process

Main elements of component architecture Component framework Component Component contracts Coordination service Glue code

Component-based development process Requirement gathering Analysis Design Implementation Testing Component brokerage

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

Component Technology – Industry Initiatives Microsoft’s COM OMG’s CORBA SUN’s Java Beans SUN’s Enterprise Java Beans

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

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

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

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

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.

Five types of component traces: Operational trace Performance trace State trace Event trace Error trace

State Trace Performance Trace Event Trace Error TraceOperational Trace

Operational trace: · Internal operation trace · external operation trace It records the interactions of component operations, such as function invocation.

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

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

Event trace It records the events and sequences occurred in a component. Error trace It records the error messages generated by a component.

Three different systematic tracking mechanisms Framework-based tracking Automatic code insertion Automatic component wrapping

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

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

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

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

Thank You October. 2003