assembled with other components through its interfaces
[4].  
Fig. 3 shows a program built with components. Utili-
ties of program are provided by  client1 and  client2.
Client1 connects to component1 through interface1 to get
service;  client2 connects to  component2 through  inter-
face2_2 to get service. Component2 also provides service
for component1 through its interface2_1.
Because a software component is a self-contained
computer code and it just communicates with out-side
objects through its interfaces. So, when using a compo-
nent, we have no need to know how it operates in-side
and actually, we can not know this if the component is
from a third-party. This stands for the ease to use and the
high security of software component.
If customers use a component-based program, they
will have a chance of upgrading or updating the program
by themselves by replacing existing components with
new components but the same interfaces. This work does
not affect operation of the other components. By this
way, we can also do for our software products. This
stands for the  openness and the  reuse of the programs
which are constructed from components.
A software component also is self-deployable comput-
er code. It can be installed and executed independently of
other components. So, when providing service for other
objects, it plays a role of server and the objects using its
service are clients. In Fig. 3,  component1 is server of
client1 and it is a client of  component2. Component2 is
server of client2 and component1. With the good support
of .NET platform, components can execute as servers in
different computers, they can easily interact remotely to
each other [2]. The program consisting of components
running in different computers is called distributed appli-
cation. This kind of program is used for giving solution
for distributed (complex) systems. This also stands for
the openness of component-oriented software.  
All characteristics: easy use, high security, openness,
reuse, conquering complexity make component-oriented
programming better than other programming techniques
before it (structured programming, object-oriented pro-
gramming,…).
 
4. DESIGN PATTERNS
 
Design patterns were concerned first in [8] for object-
oriented programming and the original implementations
were presented in C++ and Smalltalk. As the useful of
them, there are many new patterns which are applied to
other programming techniques such as component-
oriented programming and implemented into many other
programming languages [9] such as: Visual Basic, C#,
Java, etc. A design pattern is defined in “a generalized
solution to a commonly occurring problem” [3].  
Design patterns are found by experienced developers.
They used to face the problems which are similar to each
other many times. The solution for the problems is gen-
eralized and formalized to create a design pattern. Thus,
design patterns are experiences in software engineering.
If we find suitable design patterns for our architecture,
they can help us a stable architecture and short time in
design.
 
5. COMPONENT-ORIENTED ARCHITECTURE
FOR SCADA SOFTWARE
 
The benefits of component-oriented programming de-
scribed in section 3 give us the motivation of designing
component-oriented architecture for SCADA system to
overcome the limits of existing SCADA systems. A real-
time design pattern can be applied to make the architec-
ture to be stable and more suitable with distributed real-
time systems. The “component-based architecture” pat-
上一篇:PID控制器仿真英文文献和中文翻译
下一篇:模具制造加工英文文献和中文翻译

性别影响幼儿与同伴冲突英文文献

会计师事务所任期与审计...

ADO.NET结构与概述英文文献和中文翻译

信息系统开发与数据库开...

机器人学入门力学与控制英文文献和中文翻译

园林植物景观的园林绿化...

船舶与海洋结构物水动力...

上海居民的社会参与研究

从政策角度谈黑龙江對俄...

压疮高危人群的标准化中...

酵母菌发酵生产天然香料...

浅谈高校行政管理人员的...

基于Joomla平台的计算机学院网站设计与开发

STC89C52单片机NRF24L01的无线病房呼叫系统设计

提高教育质量,构建大學生...

AES算法GPU协处理下分组加...

浅论职工思想政治工作茬...