60 likes | 168 Views
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). Components & Industrial Partners.
E N D
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) SEESCOA
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 SEESCOA
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 . SEESCOA
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 SEESCOA
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 SEESCOA
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) SEESCOA