Download presentation
Presentation is loading. Please wait.
Published byTracy Walton Modified over 9 years ago
1
L6 - March 1, 2006copyright Thomas Pole 2003-2006, all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch. 4: Paradigm Shift, Part II Ch. 5: Software Factories, Part I
2
L6 - March 1, 2006copyright Thomas Pole 2003-2006, all rights reserved 2 Agenda Review Reverse-Quiz #1: Questions Ch 4: Paradigm Shift, through page 124 Lecture: Dynamically Integrable Components Text: “Software Factories” –part 2: Critical Innovations Text: Chapter 5: “Software Factories part 1 –Paradigm Shift Exercise #2 review. Q&A
3
L6 - March 1, 2006copyright Thomas Pole 2003-2006, all rights reserved 3 Questions and Answers Reverse Quiz #1 Review –Answers are available on the web site. Ch 4: Questions from “Paradigm Shift”, part I
4
L6 - March 1, 2006copyright Thomas Pole 2003-2006, all rights reserved 4 Lecture 6: Dynamically Integrable Components The problem to be solved History of the solution space The Dynamically Integrable Component –The design –Implementation Examples –Remaining problems –Complete Solution
5
L6 - March 1, 2006copyright Thomas Pole 2003-2006, all rights reserved 5 Component Based Software Engineering Component-based Software Engineering (CBSE) is concerned with the development of software intensive systems from reusable parts (components), the development of reusable parts, and system maintenance and improvement by means of component replacement and customization. From the Sigsoft Symposium CBSE 2005 Call for Papers The problem to be solved: –A packaging mechanism to support the assembly of components which minimizes the effort to “glue” components together as independent as possible of programming language, operating system, etc.
6
L6 - March 1, 2006copyright Thomas Pole 2003-2006, all rights reserved 6 History of the Solution Space Language Specific, operating system specific components –Intermediate forms, object code Language Independent, operating system specific components –Shared Libraries (Unix) –Dynamic Link Libraries (Windows DLLs)
7
L6 - March 1, 2006copyright Thomas Pole 2003-2006, all rights reserved 7 Dynamically Integrable Components DI Concept, the mechanism for DI assembly Design –A generic design for DI Components Implementation Examples –Integration Protocols Remaining Problems A More Complete Solution –Autonomous Execution
8
L6 - March 1, 2006copyright Thomas Pole 2003-2006, all rights reserved 8 DI Concept: The Mechanism Requirements, Design and Specification –Capture the interface contract in a programming language specific form. (IDL) Component Creation –Compile, Link and Deploy Reusable Components independently of their Consumers Application Creation –Create application without requiring the reusable component. –Application integration points are defined by IDL
9
L6 - March 1, 2006copyright Thomas Pole 2003-2006, all rights reserved 9 DI Component Design Independence of Programming Language –Separation of Interface and Implementation languages. –Interface Definition Languages OMG IDL, Microsoft MIDL Independence of Operating System –Logical Machines span multiple physical machines, components on separate machines are semi-independent of the local OS.
10
L6 - March 1, 2006copyright Thomas Pole 2003-2006, all rights reserved 10 DI Implementations: CORBA Object Management Group’s (OMG) Common Object Request Broker Architecture (CORBA) –CORBA Interface Definition Language –C++ like grammar –Explicit input, output, in/out parameters –User Defined types can be marshalled across CORBA component boundaries.
11
L6 - March 1, 2006copyright Thomas Pole 2003-2006, all rights reserved 11 DI Implementations: DCOM Microsoft’s Distributed COM (DCOM) is COM “on a long wire” –Microsoft Interface Definition Language (MIDL) –Programming Language independent IDL –Explicit input, output, in/out parameters –C++ like grammar –Multiple interfaces per component
12
L6 - March 1, 2006copyright Thomas Pole 2003-2006, all rights reserved 12 Autonomous Execution A problem remained, component or object life cycle. When components are built separately, not requiring the component but only its spec to be able to integrable with it, which component must execute first, which controls the others execution? Solution: Components execute autonomously A component (e.g. server) can run without a user (e.g. client)
13
L6 - March 1, 2006copyright Thomas Pole 2003-2006, all rights reserved 13 Break 15 minutes Next: “Paradigm Shift” –part 2 Critical Innovations and “Software Factories” –Part 1
14
L6 - March 1, 2006copyright Thomas Pole 2003-2006, all rights reserved 14 Text Book Ch 4: Paradigm Shift part 2 Ch 5: Software Factories part 1
15
L6 - March 1, 2006copyright Thomas Pole 2003-2006, all rights reserved 15 Ex. 2 Review Reusable Asset Design Due tonight We’ll review the solutions next week
16
L6 - March 1, 2006copyright Thomas Pole 2003-2006, all rights reserved 16 Questions? Read the introduction through chapter 6, “Models and Patterns” for next week.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.