I have been doing DCOM-based component assembly tools in recent time. The process of learning does not forget to make progress together, so I will introduce a style of architecture. This style is proposed and implemented by ICS of University of California, IRVine.
C2 (Component and Connector) is an architectural style based on components and messages (since it is a style, there should be many kinds, C2 is only one of them), the style is a software system for constructive and strong scalability. Beneficial. The biggest feature of C2 is that the communication between the components must be achieved by the transfer of the message, that is, the functionality provided by the connector.
In a particular architecture, all components are in a strict hierarchy system. Like the Middle Century Europe, the knight must be loyal to the Lord, and the Lord must be loyal to the king. Among the C2 architecture, one component can only feel the level of services provided above their own components, and it does not feel the level of less than its own component. It is this unidirectional transmission that makes it easy to maintain and expand with the system in C2 style. This problem is very understanding. If there is a loop among the architecture, the service required by a component may also be its own service, and this itself is impossible.
It is also possible that the readers may not understand too much. I will explain some, but I am just some simple instructions. If the reader is interested, you can see some of the URLs I offer after the article.
What is architecture? In my opinion, the software system is an advanced abstract structure in the eyes of the developer, and the form is ADL (Architecture Description Language). This language is used for a high-level abstraction of the connection between the coarse particares of the system and components. Rough granularity means that the components here are single components or a component package. The architectural description language truly reduces the burden of the system designer (the designer will say, the design I offer is written in the description language, this is very standard and clear, isn't it?), Because the system designer's work is the system Level design, any way to force him or she should do it, it should be a matter of programmers.
So someone will say, don't you also increase the burden of programmers? Because they take time to learn to understand ADL, this is indeed a problem. But we are working on this issue, by using the package and analysis of ADL and our upcoming visualization automatic assembly tool, our goal is that you only want to drag and assemble what you need in your needs in the customer area. Components, this tool can help you assemble these components and even generate software systems.
Let us return to the world of C2, let's take a look at what is C2 in the end? The architecture style of C2 is used to support the application with a graphical interface, but it also has the potential to support the other type of application.
l Component-based style. We can write components in a variety of language, such as C , Object Pascal, Cobol, Perl. Components in the architecture can be easily reused or replaced.
l can be upgraded. Components can be run in a distributed environment, neither need to run in an address space.
l Flexibility. Conceptual architecture and implementation architectures are different, and multiple implementation architectures can achieve a conceptual architecture.
Let's talk about the two main regulations of C2:
1. Assembly rules
There are two basic modules in C2: components and connectors. A C2 architecture can be simply a series of components connected by connectors. Components and connectors have top and bottom. They have a relationship in the following manner: the top end of the component must correspond to the bottom of the connector.
The bottom end of the component must correspond to the top of the connector.
l A connector can connect an unlimited component or connector in principle.
l When the two connector occurs, they must be the top corresponding bottom end.
2. Communication rules
Components in all C2 frames must only pass the message to the purpose of communication. Each component has a top and bottom. The top is sent to the service requirements or respond to the notification above. The bottom is notified or responded to the following service requirements. This is a semi-working state because one component can only feel the level of services provided above its own components, and it does not feel the level of less than its own components.
Finally, it emphasizes that the C2 focuses on the conceptual architecture of the system instead of the architecture. UCI has implemented C2 implementation frame with C , Java. The framework is dynamically configured.
Here is a URL about C2
Http://ftp.ics.uci.edu/pub/c2/publications.html is some papers about C2, very complete.