Předmět pokrývá pokročilé koncepty týkající se objektově-orientovaného programování a modelování. Dále
předmět poskytuje úvod do vývoje založeného na komponentách, což je v zásadě přirozené rozšíření vývoje
software pomocí objektů. Předmět se zaměřuje zejména na: objekty v distribuovaném prostředí, objektové
modelování a návrh, meta-modely a transformace modelů (T2M, M2M, M2T), koncepty jazyků založených na
třídách a jazyků bez tříd, meta-třídy, programování s aspekty, modelování pomocí komponent, komponentové
systémy, konektory. Předmět předpokládá praktickou znalost jazyka Java.
Poslední úprava: prof. RNDr. Tomáš Bureš, Ph.D. (29.04.2011)
The course overviews advanced concepts that are related to object-oriented programming and modeling and it gives introduction to component-based development, as a natural extension of object-oriented development. In particular the course focuses on the following: objects in distributed environments, object-oriented modeling and design, meta-models and model transformations (T2M, M2M, M2T), class-based and object-based languages, meta-classes, aspect-oriented programming, component-based modeling, component systems, connectors. The course assumes knowledge of Java programming language.
Literatura
Poslední úprava: prof. RNDr. Tomáš Bureš, Ph.D. (29.04.2011)
Leavens,G.T., Sitaraman,M. (eds.): Foundations of Component-based Systems. Cambridge University Press, 2000
Plášil,F., Stahl, M.: An Architectural view of distributed objects and components in CORBA, Java RMI, and COM/DCOM. Software Concepts & Tools, Vol.19, No. 1, Springer 1998
Abadi,M., Cardelli,L.: A theory of Objects. Springer 1996
Sylabus -
Poslední úprava: prof. RNDr. Tomáš Bureš, Ph.D. (29.04.2011)
Objekty v distribuovaném prostředí a související koncepty (CORBA).
Objektové modelování a návrh (UML, MOF, EMF). Model-driven development - text-to-model, model-to-model (declarative a operational), model-to-text transformace, principy podpůrných nástrojů.
Koncepty jazyků založených na třídách (dědičnost a delegování, kovariance, kontravariance, typ self, rozlišování podtříd a podtypů, parametrizace typů).
Koncepty jazyků bez tříd (prototypování a klonování, delegování, dynamická dědičnost, mixiny).
Meta-třídy.
Koncept aspektu, programování s aspekty (AspectJ).
Modelování pomocí komponent. Komunikační styly, konektory. Komponentové systémy (EJB, Fractal, SOFA, atd.).
Poslední úprava: prof. RNDr. Tomáš Bureš, Ph.D. (29.04.2011)
Objects in distributed environments and related issues (CORBA).
Object-oriented modeling and design (UML, MOF, EMF). Model-driven development - text-to-model, model-to-model (declarative and operational), model-to-text transformations, principles of supporting tools.
Class-based languages (inheritance and delegation, covariance, contravariance, type self, distinguishing subclassing and subtyping, type parameters).
Object-based languages (prototyping and cloning, delegation, dynamic inheritance, mixins).
Meta-classes.
Aspect-oriented programming (AspectJ).
Component-based modeling. Communication styles, connectors. Component systems (EJB, Fractal, SOFA, etc.).