Presentation on theme: "10 maart 2000SEESCOA Components Programming Technology Lab (PROG) System & Software Engineering Lab (SSEL) Dept. of Computer Sciences (DINF) Vrije Universiteit."— Presentation transcript:
10 maart 2000SEESCOA Components Programming Technology Lab (PROG) System & Software Engineering Lab (SSEL) Dept. of Computer Sciences (DINF) Vrije Universiteit Brussel (VUB) Werner Van Belle (WVB) Tom Toutenel (TT)
2 10 maart 2000SEESCOA Components & Industrial Partners “A nontrivial piece of software, that fulfills a clear function, has a clear boundary and can be integrated in a well-defined architecture. The component can, but need not be reusable.” Alcatel CDD “A unit of packaging that includes an implementation, a specification of interfaces provided and required, validation code, and the design (incl. documents and source).” Alcatel RCD
3 10 maart 2000SEESCOA Components & Industrial Partners (ctd) “Has an API that describes behaviour, not implementation.” Agfa (Portex presentation). “Clear interface. Self supporting, independent from other components. Component is a collection of routines, classes.” Barco Graphics. “Obeys to the rules of its Component System.” Laszlo Huray.
4 10 maart 2000SEESCOA A Software Component Definition “A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third parties” Szyperski & Pfister, ECOOP 1996
5 10 maart 2000SEESCOA A Component Independent entity own code/data space own control flow Has an interface (API) provided/required interface describes expected interaction Documented semantics Quality of Service Memory, Resources Needs a component system Validation code Documented design & source
6 10 maart 2000SEESCOA A Component System Handles the interaction between components allows specification of real-time behaviour Support for asynchronous/synchronous events Ensures interfaces are used correctly (as specified by the interacting components) Provides glue components to connect ‘different’ components allows for example grouping of components Platform transparency (seen from the components)