Courses
Component-Based Software Engineering
Lecture with exercise (SS 15) - LectureStructure of the lecture
I - Introduction | ||
---|---|---|
2015-04-15 | Software composition systems | |
Overview. What is a software composition system? Criteria for component-based and composition systems: component model, composition technique, composition language. Basic concepts: connectors, views, aspects. | ||
2015-04-17 | Metamodelling and Metaprogramming | |
Attention: E023 is occupied by another event. We must move the lecture to lecture hall 403, Hörsaalzentrum 4th floor. Metadata for components. Metamodel hierarchy. Reflection, meta-level architectures, dynamic and static metaprogramming. | ||
2015-04-22 | Guest lecture by Tomas Bures: Software engineering abstractions for smart cyber-physical systems | |
The talk will focus on "ensembles" (roles) and how they can be used in the context of adaptive systems. There will also be the opportunity to talk to Tomas Bures’s PhD Ilias Gerostathopoulos, from Prague University. Ilias’ research topic is: Model-driven development of scalable service-oriented systems. | ||
2015-04-24 | Finding Components | |
Finding components in component repositories. Using metadata to identify. Facet-based search for components. | ||
II - Classical component systems | ||
2015-04-29 | Developing component-based systems | |
Component-based development with Cheesman/Daniels. UML components. Big objects, business objects, and business components. | ||
2015-05-06 | Buffer | |
Dies academicus. A day for your self-Bildung. | ||
2015-05-13 | Transparency problems of classical component systems | |
Due to Dies Academicus on May 6, lecture is moved to May 13: Typical transparency problems (component secrets) in classical component systems. Transparencies such as language, lifetime, location. The design pattern Decorator-Connector. | ||
2015-05-13 | CORBA as heterogeneous component model | |
Concepts of interoperability. Interface definition languages. Heterogenity. Open calls (dynamic calls). Traders. | ||
2015-05-13 | Enterprise Java Beans (EJB) | |
Principles of J2EE. Session, Message, Entity Beans. Interceptors as server decorators. Home and bean interfaces. Containers. Code generation for implicit middleware, specified by metadata annotations. | ||
III - Architecture Systems | ||
2015-05-20 | Architecture systems | |
Architecture systems. Connectors, ports, provided and required interfaces. Reducible architectures. CoSy, Unicon, UML components. Coordinators and architectural skeletons. ArchJava as architectural extension of Java. | ||
2015-05-27 | Pentecost vacation | |
Vacation. | ||
2015-06-03 | Web Services | |
Web services. Business processes and executable workflows. SOAP and WSDL. BPEL. BPMN. Workflows for cyber-physical systems. | ||
IV - Invasive Composition | ||
2015-06-10 | Separations of Concerns | |
How do decompose. Separations of concerns. Grey-box composition. The lambda-N-calculus. Role models as grey-box component model. | ||
2015-06-17 | Generic and View-based Programming | |
Generic programming with BETA. View programming with hyperspaces. | ||
0000-00-00 (optional) | Generic Programming with Rebinding | |
Generic programming with rebinding of slots leads to round-trip engineering for template-based systems. | ||
2015-06-26 | Introduction to aspect-oriented programming | |
Attention! Lecture moved from Wed June 24 to Fri, June 26. Aspect-oriented programming in Aspect/J. | ||
0000-00-00 (optional) | Declarative Aspect Weaving with Crosscut Graphs (Optional) | |
Crosscut graphs. Graph rewriting. Different classes of declarative graph-rewriting based weavers. | ||
2015-07-01 | Invasive Composition | |
Invasive Software Composition (ISC) as a unifying approach for generic, view-based, and aspect-oriented programming. Implicit and declared hooks. Invasive composition operators. ISC with COMPOST. | ||
0000-00-00 | Configuration with acyclic composition programs | |
Configuration as acyclic composition. Build scripts as acyclic composition programs. | ||
2015-07-08 | HRC - Heterogeneous Rich Components | |
Heterogeneous Rich Components, a modern component model for embedded systems, based on views with different quality contracts. What you can verify with HRC. | ||
V - Universal Composition | ||
2015-07-15 | Staged Architectures | |
Lecture is swapped with exercise lecture. Staged metaprogramming, staged composition, and staged architectures. | ||
0000-00-00 | Transconsistent Composition of Active Documents | |
Component models and architectures for documents. Transconsistency as hot-update feature of document architectures. | ||
2015-07-18 | Applications of Composition Systems | |
Lecture is swapped with exercise lecture. Software ecosystems. Cyber-physical component models and composition systems. |