Objektově orientované systémy

From ωικι.matfyz.cz

Objektově orientované systémy
Kód předmětu: SWI068 (http://is.cuni.cz/studium/predmety/index.php?do=predmet&kod=NSWI068)
Přednáší: František Plášil

Otázky

  • Explain why is the classical client-server contract considered "asymmetric". Is there any remedy to this problem?
  • Explain the difference between inheritance and subtyping. [1] (http://www.cs.utexas.edu/~wcook/Courses/345H-F05/slides/11a-SubtypeInh.pdf)
    • Subtyping is relation between interfaces, inheritance is relation between implementations.
  • What kind of covariant and contravariant type changes would you recommend in method inheritance?
    • takové to A<:A' vs. A:>A' a B<:B' vs. B:>B'
  • What is an implicit specialization of self? Write an example.
  • In CORBA, can a servant incarnate multiple object references at the same time? If yes, write a code fragment illustrating the basic idea of constructing such references on the server side.
    • yes, rootPOA.create_id_uniqueness_policy(IdUniquenessPolicyValue.MULTIPLE_ID); ... _RepId = _defaultServant._all_interfaces(); ... create_reference_with_id(objectId, _RepId);
    • example (http://www.novell.com/documentation/extend52/Docs/help/MP/orb/tutorial/poaBankSecureOld-1.htm)
  • Explain the Tie technique, and provide an example of its use in an implementation class supporting two IDL interfaces (not in inheritance relation); give at least two reasons of importance.
    • Delegate implementation to user-supplied servant [2] (http://www.cse.ohio-state.edu/~gurari/course/cis888w04/cis888w04su64.html), example (http://java.sun.com/j2se/1.4.2/docs/guide/idl/jidlTieServer.html).
  • Draw the sequence diagram of unsuccessfully commited transaction (commit resulted into rollback) involving at least 2 resources.
    • page 29 at [3] (http://nenya.ms.mff.cuni.cz/~plasil/oos/archive2006/lecture05slides/lecture5.pdf)
  • Explain the basic idea of the MDA and MOF technologies.
  • Does CORBA Event Service inherently involve buffering? If yes, explain why and how it is typically implemented. Can Event Channels be directly connected (one being a supplier and another being its consumer); if yes provide a program fragment illustrating their connection?
    • buffer (http://nenya.ms.mff.cuni.cz/~plasil/oos/archive2006/lecture06photos/06.jpg), event service examples (http://www.extreme.indiana.edu/ccat/event_service.html), chained event channels (http://www.iona.com/support/kb/entry.jspa?categoryID=3&externalID=1430.519)
  • Component-based programming. Explain what ADL is and what makes the basic abstractions which can be specified in ADL.
    • ADL is modeling notation to support architecture-based development.
    • Essential architecture modeling featuers are components, connectors and architectural configurations. [4] (http://sunset.usc.edu/~neno/papers/TSE-ADL.pdf)
  • Explain the fragile base class problem (http://homepage.corbina.net/~maloff/holy-wars/fbc.html) and inheritance anomaly (http://www.cogs.susx.ac.uk/users/vs/research/paps/anomalySurvey.pdf).