1 / 42

C&C Viewtype: Components, Connectors, and Runtime Interactions

This lecture provides an overview of the Component and Connector (C&C) viewtype in enterprise systems development. It covers models consisting of elements with runtime presence, pathways of interaction, runtime entities and their interactions, C&C viewtype styles, and the purpose and limitations of C&C viewtype.

khill
Télécharger la présentation

C&C Viewtype: Components, Connectors, and Runtime Interactions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 15 Enterprise Systems Development ( CSC447) COMSATS Islamabad Muhammad Usman, Assistant Professor

  2. Component and Connector ViewType

  3. Overview • Defines models consisting of • elements having some runtime presence – processes, objects, clients, servers, data stores • Pathways of interaction – communication links, protocols, information flows, access to shares storage

  4. Runtime entities and their interactions • May contain many instances of the same component type • Similar to object(collaboration) diagrams as against class diagrams(which define types of elements)

  5. Summary of C&C Viewtype

  6. C&C Viewtype Styles • Pipe-and-filter • Shared-data • Publish-subscribe • Client-server • Peer-to-peer • Communicating processes

  7. Components

  8. Component Interfaces

  9. Connectors

  10. Connector Roles

  11. Connector Role Examples

  12. Relations

  13. What is C&C for? • To reason about runtime system quality attributes – performance, reliability, availability • What are the systems principal executing components and how do they interact • What are the major shared data resources • Which parts of the system are replicated and how many times • How does data progress through a system as it executes • What protocols of interaction are used by communicating entities • What parts of the system run in parallel • How can the system’s structure change as it executes

  14. What is C&C not for? • Can not represent design elements which do not have a runtime presence • Example – interface of an element - usability

  15. C&C Viewtype Styles • Pipe-and-filter • Shared-data • Publish-subscribe • Client-server • Peer-to-peer • Communicating processes

  16. From Clements etal

  17. Pipes and Filters • A filter transforms data that it receives from one or more pipes and transmits through one or more pipes • A pipe is a connector that conveys streams of data from output port of one filter to input port of another • Pipes buffer data • The overall function is a composition of filter functions

  18. What for .. • Very useful in data transformation • Signal processing • compilers • To reason about system performance, stream latency, pipe buffer requirements, schedulability

  19. Pipes and filters - summary

  20. Relationship with other styles • Different from data flow projections/views • In pipes-and-filters lines have specific meaning – transmit streams of data • In dataflow relationships implies data communication – could be implemented as a procedure call, publish-subscribe, via a pipe..

  21. Shared data style • Useful in exchange of persistent data, which has multiple accessors • How does the consumer know data is available? • Store informs the consumer – blackboard • Consumer is responsible - repository

  22. Shared data access -summary

  23. What for.. • Used when there are multiple accessors and persistence • Decouple producer from consumer • Data store performance, security, privacy, compatibility with other stores…

  24. Similarity to others • Client-server style • Publish-subscribe is similar without persistence

  25. Publish-subscribe styles • Components interact via announced events • Components subscribe to a set of events • P-S runtime ensures that each published event is delivered to all subscribers • The connector is an event bus • Used in message production/consumption

  26. P-S summary

  27. Where to use .. • To send events and messages to recipients • Set of recipients are unknown – can be added dynamically

  28. Client-Server • Components interact by requesting services of other components • Communication is initiated by a client

  29. Client-Server summary

  30. What for.. • Assignment of functionality is clear • Can be independently assigned to tiers • Can be used to argue about performance • Example - WWW

  31. Peer-to-peer • Components interact with each other exchanging services • No asymmetry as in client-server • Connectors are bidirectional

  32. Allocation Viewtype

  33. Allocation viewtype styles • Deployment style • Implementation style • Work assignment style

  34. Summary of Allocation Viewtype

  35. Deployment style • Elements of the C&C styles are allocated to execution platforms

  36. Deployment style summary

  37. From Clements etal

  38. Common Architectural Styles (Adapted from Shaw and Garlan) • Dataflow systems • Batch sequential • Process control • Pipes and filters • Call-and-return systems • Main program and subroutine • Object-oriented systems • Hierarchical layers

  39. Common Architectural Styles (Cont’d) • Independent components • Communicating processes • Event systems • Virtual machines • Interpreters • Rule-based systems • Repositories • Databases • Hypertext systems • Blackboards

  40. Reference • Bass, L., Clements, P. and Kazman, R., Software Architecture in Practice, Second Edition (2006), Addison-Wesley. • Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, j., Little, R., Nord, R. and Stafford, J., Documenting Software Architectures: Views and Beyond, 2002, Addison-Wesley.Documenting Software Architectures

More Related