Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "P SATel Institute for Information Processing University of Pisa SantAnna school Pisa Today trends in Software Engineering 1. Distributed Objects 2. Component."— Presentation transcript:

1 P SATel Institute for Information Processing University of Pisa SantAnna school Pisa Today trends in Software Engineering 1. Distributed Objects 2. Component Software The applications consist of multiple objects that can be physically dispersed across the network. The applications are formed by the integration of multiple pieces, that can be developed separately and by different people. 1 Roma, 22 novembre

2 P SATel Distributed Objects 2 State of the practice middleware: Corba (OMG) JavaRMI (Sun) DCOM (Microsoft) Object Request Broker (ORB) Object Services Client ObjectsServer Objects Basic distributed-objects model Roma, 22 novembre

3 P SATel Why to use Component Software? 3 Roma, 22 novembre Building from scratch large software systems requires enormous financial and time resources It is difficult to obtain high reliability Why not to use components? Basically reusing components requires less time in all phases of software production (then lower costs) Components simplify update Three new roles in software production: 1.Components architect 2.Components developer 3.Components assembler More specialization then better quality

4 P SATel Component Software 4 What is a software component? 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 C. Szyperski Roma, 22 novembre Goal, plug-&-play software but It is difficult to associate the semantic to a Component

5 P SATel Component Software remarks 5 Roma, 22 novembre Component is not Object!! 1. A Component: is a unit of independent deployment is a unit of third-party composition has no persistent state 2. An Object: is a unit of instantiation; it has a unique identity has a state; this state can be a persistent state encapsulates its state and behaviour Note: Inherent contractual nature of a component Also QoS is important in Component specification

6 P SATel Middleware in Client/Server Computing 6 Three-tier & n-tier Client/Server Roma, 22 novembre Presentation Layer Processing Layer Data Layer Distributed objects and Components in Client/Server Computing Component model for server side: J2EE - EJB (Sun).Net (Microsoft) CORBA Component Model

7 P SATel Reliability of Component technology 7 Roma, 22 novembre Ariane 5 exploded during the maiden voyage! Q: Which was the problem? R: No retested software component from Ariane 4 Is it necessary to retest a software component, or the reuse of already tested components guarantees per se reliability? Generally testing is driven by domain use In component technology it is impossibile to know, in advance, all applications domains Then: Customer must consider retesting of components Components must be realized with reuse in mind

8 P SATel Proposed solutions for reliable reuse 8 Roma, 22 novembre Design by Contract Certification Built-in test Additional information enclosed with the component Information carried by the interface are inadeguate for reuse!! (lacking in semantic) Proposed solution for more reliable reuse:

9 P SATel Can Monitoring be useful in Component Technology? 9 Roma, 22 novembre Components are extensively instrumented, from vendors, with control obtained from specifications Customers formalize the requirements from the specification for each component New approach: to insert thread monitor Performance?? We can introduce severity levels with assertions and then monitoring levels When components reach sufficient reliability we can reduce the monitoring level


Download ppt "P SATel Institute for Information Processing University of Pisa SantAnna school Pisa Today trends in Software Engineering 1. Distributed Objects 2. Component."

Similar presentations


Ads by Google