Integrating design, deployment, and management phases for systems
Abstract
The integrated design, deployment and management phase for a system in accordance with certain aspects includes designing the system using a system definition model. The system definition model is then used to place the system on one or more computing devices and, after the system is deployed, the system definition model is used to manage systems deployed on one or more computing devices.Computing devices, system-defined models, applications

Term
Term ended
Expired 5 March 2024, 2.6 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
47 claims: 17 independent, 30 dependent
- 1하나 이상의 컴퓨팅 장치에 의해 시스템의 개발 페이즈(phase)에서 시스템 정의 모델(system definition model)을 사용하여 상기 시스템을 설계하는 단계 - 상기 시스템은 애플리케이션이고, 상기 시스템을 설계하는 단계는, 상기 시스템 정의 모델 내에서 상기 시스템이 환경에서 실행되기 위해 상기 환경에 의해 만족되어야 하는 제한을 포함하는 단계를 포함함 -;후속적으로 상기 하나 이상의 컴퓨팅 장치에 의해 상기 시스템의 배치 페이즈에서 상기 시스템 정의 모델을 사용하여 상기 시스템을 상기 하나 이상의 컴퓨팅 장치의 적어도 하나 상에 배치(deploy)하는 단계;상기 시스템의 배치 후에, 상기 하나 이상의 컴퓨팅 장치에 의해, 상기 시스템의 관리 페이즈 중에 상기 시스템 정의 모델 내에서 정의된 하나 이상의 기능을 호출하여 상기 하나 이상의 컴퓨팅 장치의 적어도 하나 상에 배치된 상기 시스템을 관리하는 단계;및 상기 하나 이상의 컴퓨팅 장치에 의해, 적어도 상기 시스템의 설계 중에 상기 제한이 만족되는 것을 확인하는 단계 를 포함하는 방법.
- 2삭제
- 3삭제
- 4제1항에 있어서, 상기 시스템을 관리하는 동안 얻어진 지식을 이용하여 상기 시스템의 후속 버전을 설계하는 단계를 더 포함하는 방법.
- 5제1항에 있어서, 상기 시스템 정의 모델은 상기 시스템을 상기 하나 이상의 컴퓨팅 장치 상에 배치하는 방법을 설명하는 지식을 포함하는 방법.
- 6제1항에 있어서, 상기 시스템 정의 모델은 상기 시스템을 다수의 상이한 컴퓨팅 장치 상에 배치하는 방법을 설명하는 지식을 포함하고, 상기 지식은 상기 시스템을 상기 다수의 상이한 컴퓨터 장치의 각각에 배치하는 방법을 설명하는 다른 지식을 포함하는 방법.
- 7삭제
- 8제1항에 있어서, 상기 시스템 정의 모델은 상기 시스템의 설계 동안 상기 하나 이상의 컴퓨팅 장치에 의해 상기 제한이 만족되는지를 검사하기 위하여 사용될 수 있는 방법.
- 9제1항에 있어서, 상기 시스템 정의 모델은 상기 시스템의 설계 동안 및 상기 시스템의 관리 동안 상기 하나 이상의 컴퓨팅 장치에 의해 상기 제한이 만족되는지를 검사하기 위하여 사용될 수 있는 방법.
- 10제1항에 있어서, 상기 시스템 정의 모델은 상기 시스템의 배치 후에 상기 시스템을 관리하는 방법을 설명하는 지식을 포함하는 방법.
- 11제1항에 있어서, 상기 시스템의 관리 동안, 플로우를 사용하여 상기 시스템에 구성 변경(configuration change)을 자동적으로 전파하는 단계를 더 포함하는 방법.
- 12제1항에 있어서, 상기 방법은, 상기 시스템의 설계, 배치, 및 관리 이전에, 상기 하나 이상의 컴퓨팅 장치에 의해, 다른 시스템 정의 모델을 사용하여 상기 환경을 설계하는 단계 - 상기 시스템은 상기 하나 이상의 컴퓨팅 장치 상의 상기 환경에 배치됨 -;상기 하나 이상의 컴퓨팅 장치에 의해, 후속적으로 상기 다른 시스템 정의 모델을 사용하여, 상기 환경을 상기 하나 이상의 컴퓨팅 장치 상에 배치하는 단계;및 상기 환경의 배치 후에, 상기 하나 이상의 컴퓨팅 장치에 의해, 상기 다른 시스템 정의 모델을 사용하여 상기 하나 이상의 컴퓨팅 장치 상에 배치된 환경을 관리하는 단계를 더 포함하고, 상기 시스템 정의 모델은, 상기 시스템이 상기 하나 이상의 컴퓨팅 장치 상에서 실행되도록 하기 위하여, 상기 환경에 의해 만족되어야 하는 제한을 포함하고, 상기 다른 시스템 정의 모델은, 상기 시스템이 상기 하나 이상의 컴퓨팅 장치 상에서 실행되도록 하기 위하여, 상기 시스템에 의해 만족되어야 하는 다른 제한을 포함하는 방법.
- 13제12항에 있어서, 상기 환경에 대한 상기 시스템 정의 모델은 상기 하나 이상의 컴퓨팅 장치의 구성의 조사를 통해 도출되는 방법.
- 14삭제
- 15제1항에 있어서, 상기 하나 이상의 컴퓨팅 장치 상에 복수의 환경이 배치되고, 상기 방법은, 복수의 상이한 시스템 정의 모델을 사용하여 상기 복수의 환경의 각각을 설계하는 단계 - 상기 복수의 환경의 각각은 상기 복수의 상이한 시스템 정의 모델 중의 하나와 관련됨 -;각각의 환경에 대하여, 상기 복수의 상이한 시스템 정의 모델 중의 관련된 시스템 정의 모델을 사용하여 상기 환경을 배치하는 단계;및 배치 후에, 각각의 환경에 대하여, 상기 복수의 상이한 시스템 정의 모델 중의 관련된 시스템 정의 모델을 사용하여 상기 환경을 관리하는 단계 를 더 포함하는 방법.
- 16제15항에 있어서, 상기 복수의 환경의 각각은 계층화되고, 상기 복수의 환경의 각각은 상기 복수의 환경 중 다른 환경 또는 상기 시스템에 대한 환경으로서 기능하는 방법.
- 17복수 개의 명령어들이 기록된 하나 이상의 컴퓨터 판독가능 기록매체로서, 상기 명령어들은 프로세서에 의해 실행될 때, 상기 프로세서로 하여금, 시스템의 개발 페이즈에서 시스템 정의 모델을 사용하여 상기 시스템을 설계하고 - 상기 시스템은 애플리케이션이고, 상기 시스템 정의 모델은 상기 애플리케이션이 배치될 환경의 표시를 포함하고, 상기 시스템을 설계하는 것은, 상기 애플리케이션을 상기 시스템 정의 모델 내의 상기 표시로 바인딩하는 것을 포함하고, 상기 표시는 그 애플리케이션 컴포넌트의 환경 호스트에 대한 정의 및 그 애플리케이션의 구성 상의 제한을 포함함 -, 후속적으로 시스템의 배치 페이즈에서 상기 시스템 정의 모델을 사용하여, 상기 시스템을 하나 이상의 컴퓨팅 장치 상에 배치하고, 상기 시스템의 배치 후에, 상기 시스템의 관리 페이즈에서 상기 시스템 정의 모델 내에서 정의된 하나 이상의 기능을 호출하여 상기 하나 이상의 컴퓨팅 장치 상에 배치된 상기 시스템을 관리하도록 하는 하나 이상의 컴퓨터 판독가능 기록매체.
- 18삭제
- 19삭제
- 20제17항에 있어서, 상기 시스템 정의 모델은 상기 시스템을 배치하는 방법을 설명하는 지식을 포함하는 하나 이상의 컴퓨터 판독가능 기록매체.
- 21제17항에 있어서, 상기 시스템 정의 모델은 상기 시스템을 복수의 상이한 환경에 배치하는 방법을 설명하는 지식을 포함하고, 상기 지식은 상기 시스템을 상기 복수의 상이한 환경의 각각에 배치하는 방법을 설명하는 상이한 지식을 포함하는 하나 이상의 컴퓨터 판독가능 기록매체.
- 22제17항에 있어서, 상기 시스템 정의 모델은 상기 시스템이 환경에서 실행되도록 하기 위하여 상기 환경에 의해 만족되어야 하는 제한을 포함하는 하나 이상의 컴퓨터 판독가능 기록매체.
- 23제22항에 있어서, 상기 시스템 정의 모델을 사용하여 상기 시스템을 배치하는 것은 상기 시스템 정의 모델을 사용하여 상기 시스템의 설계 동안 상기 환경에 의해 상기 제한이 만족되는지를 검사하는 것인 하나 이상의 컴퓨터 판독가능 기록매체.
- 24제17항에 있어서, 상기 시스템 정의 모델은 상기 시스템을 관리하는 방법을 설명하는 지식을 포함하는 하나 이상의 컴퓨터 판독가능 기록매체.
- 25프로세서;시스템의 개발 페이즈에서 시스템 정의 모델을 사용하여 상기 시스템을 설계하기 위한, 상기 프로세서에 의해 동작되는 수단 - 상기 시스템은 애플리케이션이고, 상기 시스템의 개발 페이즈에서 시스템 정의 모델을 사용하여 상기 시스템을 설계하는 것은, 상기 시스템 정의 모델 내에서 상기 시스템이 환경에서 실행되기 위해 상기 환경에 의해 만족되어야 하는 제한을 포함하는 것을 포함함 -;후속적으로 상기 시스템의 배치 페이즈에서 상기 시스템 정의 모델을 사용하여 상기 시스템을 하나 이상의 컴퓨팅 장치 상에 배치하기 위한, 상기 프로세서에 의해 동작되는 수단;상기 시스템의 배치 후에, 상기 시스템의 관리 페이즈에서 상기 시스템 정의 모델 내에서 정의된 하나 이상의 기능을 호출하여 상기 하나 이상의 컴퓨팅 장치 상에 배치된 상기 시스템을 관리하기 위한, 상기 프로세서에 의해 동작되는 수단;및 적어도 상기 시스템의 설계 중에 상기 제한이 만족되는 것을 확인하기 위한, 상기 프로세서에 의해 동작되는 수단 을 포함하는 장치.
- 26제25항에 있어서, 상기 후속적으로 상기 시스템의 배치 페이즈에서 상기 시스템 정의 모델을 사용하여 배치하기 위한 수단은 상기 시스템을 배치하는 방법을 설명하는 지식을 상기 시스템 정의 모델 내에 포함시키는 수단을 포함하는 장치.
- 27제25항에 있어서, 상기 후속적으로 상기 시스템의 배치 페이즈에서 상기 시스템 정의 모델을 사용하여 배치하기 위한 수단은 상기 시스템을 복수의 상이한 환경에 배치하는 방법을 설명하는 지식을 상기 시스템 정의 모델 내에 포함시키는 수단을 포함하고, 상기 지식은 상기 시스템을 상기 복수의 상이한 환경의 각각에 배치하는 방법을 설명하는 상이한 지식을 포함하는 장치.
- 28삭제
- 29삭제
- 30제25항에 있어서, 상기 관리 페이즈에서 상기 시스템 정의 모델을 사용하여 관리하기 위한 수단은 상기 시스템을 관리하는 방법을 설명하는 지식을 상기 시스템 정의 모델 내에 포함시키는 수단을 포함하는 장치.
- 31프로세서;및 복수 개의 실행가능한 명령어들을 포함하고, 상기 명령어들은 상기 프로세서에 의해 실행될 때 작업들을 수행하고, 상기 작업들은 시스템 정의 모델을 사용하여 애플리케이션을 설계하는 단계 - 상기 시스템 정의 모델은 상기 애플리케이션의 라이프사이클에 걸쳐 적용가능하고, 상기 애플리케이션의 상기 라이프사이클은 상기 애플리케이션의 설계, 상기 애플리케이션의 배치, 및 상기 애플리케이션의 관리를 포함하고, 상기 시스템 정의 모델은 상기 애플리케이션이 배치될 환경의 표시를 포함하고, 상기 시스템을 설계하는 단계는, 상기 애플리케이션을 상기 시스템 정의 모델 내의 상기 표시로 바인딩하고, 상기 표시는 그 애플리케이션 컴포넌트의 환경 호스트에 대한 정의 및 그 애플리케이션의 구성 상의 제한을 포함함 -;후속적으로 상기 시스템 정의 모델을 사용하여 상기 시스템을 하나 이상의 컴퓨팅 장치 상에 배치하는 단계;상기 시스템의 배치 후에 상기 시스템 정의 모델 내에서 정의된 하나 이상의 기능을 호출하여 상기 하나 이상의 컴퓨팅 장치 상에 배치된 상기 애플리케이션을 관리하는 단계 를 포함하고, 상기 시스템은 상기 시스템 정의 모델 내의 기능 동작이 지정되는 방법을 지시하는 스키마를 더 포함하는 시스템.
- 32제31항에 있어서, 상기 시스템 정의 모델은 상기 애플리케이션을 배치하는 방법을 설명하는 정보를 포함하는 시스템.
- 33제31항에 있어서, 상기 시스템 정의 모델은 상기 애플리케이션을 복수의 상이한 환경에 배치하는 방법을 설명하는 정보를 포함하고, 상기 정보는 상기 애플리케이션을 상기 복수의 상이한 환경의 각각에 배치하는 방법을 설명하는 다른 정보를 포함하는 시스템.
- 34제31항에 있어서, 상기 시스템 정의 모델은 상기 애플리케이션이 환경에서 실행되도록 하기 위하여 상기 환경에 의해 만족되어야 하는 제한을 포함하는 시스템.
- 35제34항에 있어서, 상기 시스템 정의 모델은, 상기 애플리케이션의 설계 동안 및 상기 애플리케이션의 관리 동안, 상기 제한이 상기 시스템에서 하나 이상의 컴퓨팅 장치에 의해 만족되는지를 검사하는 데 사용될 수 있는 시스템.
- 36제34항에 있어서, 상기 시스템 정의 모델은, 상기 애플리케이션의 설계 동안 상기 제한이 상기 환경에 의해 만족되는지를 검사하는 데 사용될 수 있는 시스템.
- 37제31항에 있어서, 상기 시스템 정의 모델은 상기 애플리케이션을 관리하는 방법을 설명하는 정보를 포함하는 시스템.
- 38제31항에 있어서, 상기 시스템은, 환경의 라이프사이클에 걸쳐 적용가능한 다른 시스템 정의 모델 - 상기 환경의 라이프사이클은 상기 환경의 설계, 상기 환경의 배치 및 상기 환경의 관리를 포함함 - 을 더 포함하고, 상기 스키마는 상기 다른 시스템 정의 모델 내의 기능 동작이 지정되는 방법을 지시하는 시스템.
- 39제38항에 있어서, 상기 환경에 대한 상기 다른 시스템 정의 모델은 하나 이상의 컴퓨팅 장치의 구성의 조사를 통해 도출되는 시스템.
- 40제38항에 있어서, 상기 시스템 정의 모델은 상기 애플리케이션이 상기 환경 상에서 실행되도록 하기 위하여 상기 환경에 의해 만족되어야 하는 제한을 포함하고, 상기 다른 시스템 정의 모델은 상기 애플리케이션이 상기 환경 상에서 실행되도록 하기 위하여 상기 애플리케이션에 의해 만족되어야 하는 다른 제한을 포함하는 시스템.
- 41제38항에 있어서, 상기 시스템은, 추가의 환경의 라이프사이클에 걸쳐 적용가능한 추가의 시스템 정의 모델 - 상기 추가의 환경의 라이프사이클은 상기 추가의 환경의 설계, 상기 추가의 환경의 배치 및 상기 추가의 환경의 관리를 포함함 - 을 더 포함하고, 상기 추가의 환경은 상기 환경의 하부에 계층화되고, 상기 스키마는 상기 추가의 시스템 정의 모델 내의 기능 동작이 지정되는 방법을 지시하는 시스템.
- 42삭제
- 43삭제
- 44제1항에 있어서, 상기 시스템 정의 모델은 복수의 상이한 런타임에 상기 시스템을 배치하는 방법을 설명하는 정보를 포함하고, 상기 정보는 상기 복수의 상이한 런타임 각각에 상기 시스템을 배치하는 방법을 설명하는 상이한 정보를 포함하는 방법.
- 45삭제
- 46삭제
- 47삭제
Independent claims47
37 paragraphs, as filed
Integrated design, deployment and management methods for systems, devices, systems, and computer readable media {INTEGRATING DESIGN, DEPLOYMENT, AND MANAGEMENT PHASES FOR SYSTEMS}
1 is a view showing an example of a network setting.
2 is a block diagram showing an example of an architecture using the SDM definition model.
Figure 3 is a view showing an example of a layered set (layered setting).
Figure 4 is a flowchart showing an example of a process for using the system definition model (SDM) across the entire lifecycle of a system.
5 is a view showing an example of an architecture using the SDM runtime Fig.
Figure 6 is a view showing an example of SDM document.
7 is a diagram showing the basic definition and members.
8 is a view showing an example of a member of FIG.
9 is a view showing an example of a list of values and setting values.
10 is a view showing an example of the life cycle of the SDM application in accordance with some embodiments.
11 is a view showing an example of mapping a Web application to a Web server host.
12 is a view showing an example of a built-in datatype hierarchy.
Figure 13 shows an example of implicit extension of an abstract object definition.
14 is a view showing an example of implicit extension of an abstract relationships.
15 is a view showing an example of a change request Fig.
16 is a diagram showing an example of the process of loading new definitions into the runtime.
17 is a view showing an example of performing a change request.
18 is a view showing an example of the connected members also.
19 is a view showing an example of the structure associated with the connection diagram.
20 is a view showing an example of a UML diagram that provides an overview of the instance space Fig.
21 is a diagram showing a general computer environment, which can be used to implement the techniques described herein.
<Description of the Related Art>
200: Architecture
202: Development System
204: SDM document
206: Controller
208: Batch Module
210: Management Module
212: Target Device
The present invention relates to an architecture for a distributed computing system.
Using the Internet has increased exponentially over the past few years has been growing continuously. People e-mail, online shopping, news and information gathering, music, watching video clips, such as job World Wide Web (or briefly, "web") were satisfied with the many services offered on. In accordance with the growing demand for Internet-based services, using the Web site hosting, and has provided a back-end service (backend service) for these sites it is growing rapidly a computer system for storing data associated with those sites.
One type of distributed computer system is a network-based service in a specially designed complex that houses many computers for hosting Internet Data Center {(IDC)} of the data center or enterprise data centers (EDC). "Weppam (Webfarm)" or "server farms (sever farm)", also known as data centers, which can be referred to is housing hundreds to thousands of computers in a normal atmosphere controlled (climate-controlled) physically secure buildings. Data centers are usually reliability can provide Internet access, reliable power supplies, and a secure operating environment.
At present, large data centers are complex and often called to host multiple applications. For example, some websites may operate several thousand computers, and host many distributed may applications. These distributed applications often have complex networking requirements that require that the machine operator is to support the complex applications to arrange the cable be manually configured in the data center as well as a physical connection to a predetermined network switch. Consequently, to establish the physical network topology (topology) to comply with the application requirements, the task can be a time consuming process; he easily annoying to a human error occurs. Therefore, the design of the distributed application on a physical computing system, and improved techniques are needed to place.
<p num="34">Designed for systems integration, deployment and management phases are described.</p><p num="35">According to some aspects, a system definition model is used to design the system. Then, the system definition model is used to deploy the system on one or more computing systems. After deployment of the system, the system definition model is used to manage the system deployed on the one or more computing devices.</p>
<p num="36">The following disclosure describes a number of embodiments for an architecture for designing and implementing a distributed computing system with large-scale application services. The specification includes a description of a system definition model (SDM) and the SDM runtime environment, which may be also referred to as the service definition model (SDM). The SDM provides a context (context) and tools for the application designer to design distributed computer applications and data centers in an abstract manner. The model defines a set of elements that represent functional units of the applications to be implemented after all by physical computer resources and software. Model element is associated schema (schema) indicating how to specify the function that the operation represented by the component.</p><p num="37">As used herein, the term "wire (wire)" is also "connected", "communication", or "communication relationship" also can be referred to. Further, the term "system" may be referred to as "modules", the term "resource space" may be referred to as "resource." Further, the term "application space" is referred to as "application", the term "instance space" may be referred to as "instances". Further, the term "class" is referred to as "abstract definition", the term "port" may also be referred to as "end point", the term "type" may be referred to as "definition".</p><p num="38">Figure 1 illustrates an example network setting 100. In the set 100, a computing device of a plurality (x) {102 (1), 102 (2), ..., 102 (x)} is coupled to the network 106. Network 106 (including wired and / or wireless network), display any of the conventional variety of network topologies and types, and, (including public and / or private protocol), any of the conventional variety of network protocols It should be used. Network 106 may be, for example, a local area network (LAN), a wide area network (WAN), may comprise a portion of the Internet. Set 100 {e.g., the Internet data center (IDC)} For example, a data center, office or business settings, home settings, educational or research facilities, retail or sales settings, a variety of settings, including a data storage setting It represents any of the. </p><p num="39">Computing device 102 is a desktop PC, a workstation, mainframe computers, personal computers, server computers, Internet appliances (Internet Appliance), a game console, a handheld computer, a cellular telephone, a conventional variety of computing devices, including personal digital assistant (PDA) It may be of any. One or more devices 102 may be devices of the same type or different types of devices. Further, even if multiple devices are the same type of device, multiple devices can be configured differently {e.g., but two device 102 may be a server computer, a different processor, the other capacity RAM, of different sizes It may have different hardware configurations, such as a hard disk drive}.</p><p num="40">One or more computing devices 102 may also be reconstituted and added to the set 100. For example, a particular computing device 102 is a period to perform a function (e.g., minutes, hours, days, months, etc.) can be operated for, then, the administrator may decide that a different function is preferable The (e. g., changing from a server computer to a workstation computer, a change to a local file server from the web server, etc.).</p><p num="41">2 is a block diagram showing an example of architecture 200 using the system definition model. The SDM is designed to be used across the entire lifecycle of a system. System is to work with a set of related software and / or hardware resources to achieve a common function. An example of such a system is an application, referred to as the operating or set of instructions executable by a computing system to perform various functions. Examples include the application of a distributed application that can be used to refer to such applications, web services or financial analysis, such as productivity applications, entertainment applications, such as electronic dictionary, a word processor, such as a game. Another example of such a system is an environment that can be arranged in the application (or another environment). Environment application (or another environment) refers to software and / or hardware resources are placed. This environment is hierarchical (layered) as will be described in detail below. </p><p num="42">The life cycle of the system is typically three primary phases (also referred to as a stage), that is, the design or development phase, but the placement or installation phase, the administration phase comprises the operation or after. Depending on the model applies to all three phases of the life cycle system, the model can be considered as an integrated point for the various phases of the life cycle of the system, and facilitates each of these phases. Further, using the model, these phases in between, for knowledge (for example, for the management of the system, is fed back to the design and development team for future versions or to the design and development team to modify the system, the current version of the performance that to improve), the system structure of the knowledge of the placement requirements and the operation reaction, knowledge of the operating environment of the data center from the desktop, the knowledge, such as knowledge of the service level that is observed by the end user may be delivered have.</p><p num="43">Generally, during the design phase, development tools that affect the SDM it is used to define a system of communicating software and hardware components. System definition contains all information necessary to deploy a distributed system, including the requested resource, configuration, operational features, policies, and operations. During deployment phase, the system will automatically define the software and hardware required to place the system (e.g., server, storage and networking) resources are used to dynamically allocate and configure. The same system definition can be used in place of a different host environment and a different scale. For administration phase, the SDM Service in the operating system provides a system-level view (system-level view) to manage the system. This is a new management tools resource allocation, configuration management, enable the induction of the process automation from the perspective of upgrades and system.</p><p num="44">Architecture 200 SDM definition model as well as the use of a schema that defines functional operations within the SDM definition model. Definition model as a whole comprises a variety of data structures referred to as "definition". Features of the SDM is exposed through one or more platform services, such as application program interface (API).</p><p num="45">During the design phase of the system, the development system 202 generates a document that contains the system definition, such as SDM document 204. Development system 202 is Microsoft Corporation of Redmond, Washington (Microsoft<img id="1" file="112004009345357-pat00001.tif" wi="5" he="5" img-format="tif" /> Visual Studio available from the Corporation) (Visual Studio<img id="2" file="112004009345357-pat00002.tif" wi="5" he="5" img-format="tif" />) It may be any of a variety of development systems, such as the development system. The SDM document 204 defines all information (also referred to as knowledge) related to the deployment and management of the system. Used to position the system or managing the system or the necessary knowledge is included in the SDM document 204. Although described herein as a single document, it is obvious that this knowledge can be developed and maintained in multiple documents.</p><p num="46">The system defines a system defined by the resource, endpoint, relationship, and at least one of the subsystems. System definition is declared in the SDM document (e.g., XML document). Resources may be hardware resources or software resources. Endpoints represent communications across systems. Relationship defines the association between systems, resources and endpoints. Subsystem is part of a larger system usually can be treated as a complete system.</p><p num="47">A system definition captures the basic structure of a dynamic system. This can be thought of as contours (skeleton), all other information is added. This structure is typically specified during the development process, by architects and developers, and typically does not change frequently. In addition to the structure, the SDM can contain deployment information, installation processes, and configuration, the schema for the event, and means, automation tasks, health models, operation policy and the like. Other information may be added by the operation over the life cycle of a distributed system the staff (staff), the seller, and / or management system.</p><p num="48">The SDM document 204 includes the system is arranged and / or one or more of the limitations of the system environment that must be satisfied is executed (also referred to as requirements), the. Environment itself is described using an SDM document. This environment may be a computing device as an alternative to a single computing device (e.g., data centers), application hosts, etc. can be set. Other systems may be installed in a different environment. For example, a data center may include fifty computing devices, a system is arranged in five of those computing devices, and the remaining system is installed in a computing system 35 of them. These requirements for the hardware requirements (for example, on the computing device (s) the system is arranged, a minimum processor speed, a minimum amount of memory, a minimum amount of free hard drive space, a minimum amount of available network bandwidth, available for a particular security mechanisms, and so on), the system software requirements for the computing device (s) is disposed (e. g., a particular operating system, and one or more other applications that must be installed, the specific system and / or a specification of how the operating system is configured , a certain type of encryption, security and the like), the system is different requirements regarding the computing device (s) is disposed (e.g., the available specific secret key, which must be performed the data center policy, used authentication, environment topology, , etc.) it can take a variety of forms such as.</p><p num="49">Requirements can also head in the other direction. That is, setting limits or requirements on the configuration of the system may have to be installed (for example, in order to implement the standards or policies of the environment). They may be specific settings or configuration, the system specific function is to be provided or supported, and the system is generated by the operator of the environment, such as a specific security mechanism must support "express (explicit)" requirements that the system must . It may also be a specific configuration are caused by the "implicit (implicit)" requirements of the environment. For example, if a host computing device in the environment is using a particular type of file system, some of the actions may not be possible to be performed using that file system (although the same action using a different file system although it may be carried out).</p><p num="50">During the design and development phase of the system, SDM document 204 can be used to validate (validate) the system for one or more particular environment (s). This system environments are valid for two painters are validated against the system as being validated for the environment. Environments are compared to identify the requirements and the environment in the SDM document 204 and be validated for the system by determining whether all of the requirements are satisfied by the environment. The system can compare the requirement with the system identified in the SDM document for the environment and can be validated for the environment by determining whether all of the requirements are satisfied by the system. If all the requirements are satisfied by the environment and the system, the designer or developer to be appreciated that the system is arranged in the operating environment or in the environment. However, when all the requirements are not satisfied by the environment and / or systems, by selectively notified not meet requirements, the designer or to the developer to the system operation is placed in the environment, the SDM document 204 (and correspondingly system) and / or inform any changes should be performed in the environment.</p><p num="51">The knowledge of the layout of the system included in the SDM document 204. The method is based on one or more environmental system is disposed. SDM document 204 is created and made available to the controller 206, the controller includes a deployment module 208 and control module 210. In some embodiments, all of the files in the systems that need to set up the system (e.g., binaries, data, libraries, and so on) as well as the SDM document 204 is a single container, referred to as SDU (System Definition Unit) (e. example, are packaged together in a single file). Controller 206 may be one or more of the computing device 102 of FIG. For example, a single unit of Figure 1 102 may be distributed across the charge controller (controller resposibilities) a plurality of devices 102, or may alternatively be a controller for a data center. </p><p num="52">The arrangement module 208 includes services that are used to place the system in an environment (s). In Figure 2, the system is that inside (or on) the placement of one or more target device 212. The system also may be placed in the controller 206. The installation of one or more of these services system arrangement module 208 to the environment, or to place a call, or includes one or more functions that can be invoked (invoke).</p><p num="53">Other knowledge for deployment in different environments may be included in the SDM document 204. This arrangement knowledge and any changes that need to be performed in the environment, (for example, to be generated the system registry, a folder, a directory, or changes to the file, the other set of computing environments to be set to a specific value or configuration parameters) , which need to be copied to the computing device (s) in the configuration file for any operation (for to be performed on (e.g., program and / or data files), and these file, any file is extracted, and / or password may be required to be decoded) will be described. In many implementations, the deployment knowledge in the SDM document 204 includes, for example, information similar to that currently found in typical setup or installation programs for systems.</p><p num="54">During the deployment process, controller 206 is not only a record or store of the software and hardware resources that are contained in the arrangement to generate a relationship between them. These records can be used or stored by the controller during phase after administration.</p><p num="55">Management module 210 includes services that are used to manage the system once when the system is installed in the environment (s). These services of management module 210 is invoked to manage the systems in the environment, or includes one or more functions that can be invoked. The knowledge management system included in the SDM document 204 describes a method where the system is managed by one or more environments.</p><p num="56">Other knowledge for managing the system in different environments may be included in the SDM document 204. Management knowledge includes any knowledge used in the management or operation of the system. Administration, for example, configuration (and optionally subsequent reconfiguring), patching (patching) and upgrading, maintenance tasks (e.g., backup), health or performance comprises monitoring. </p><p num="57">The changes to the system are arranged is carried out through the administration module 210. Service management module 210 are invoked to make changes to one or more systems are disposed in the environment, or includes one or more functions that can be invoked. By these changes through the management module 210, one of the advantages can be realized. One such benefit is that controller 206 can maintain a record of the changes is performed. Controller 206 may maintain a copy of the SDM document 204 for the system and can be burned in the SDM document 204 any changes that are performed on the system. Alternatively, controller 206 may maintain a separate record of the changes performed to the system.</p><p num="58">Record of changes maintained by controller 206 is a system and / or solve the problems that occur in the environment, or the system by means of hardware failure to reinstall (the system is reinstalled returns to operate with the same parameters / settings as the case of failure can simplify subsequent operations, such as to be also) it can be. Make this change is performed by the controller 206, the controller 206 by keeping a record, mistakes Some people may be removed from the environment (for example, by the administrator to make changes to the change expected to be written in the book but forgets to do so, the record of the change will not be present - this is a problem that the controller 206 is addressed by keeping the records).</p><p num="59">Further, by performing a change to the system via the controller 206, as well as to place the system via the controller 206, the controller 206 environment, the system is placed in the environment, the storage of the knowledge about the interaction between them, It can serve as. Knowledge of the environment and / or the system is placed in the environment can be easily obtained from the controller 206. This knowledge can be used to ensure consistency of the controlled environment by ensuring that the control devices in the environment reflect the state stored in the central controller (206).</p><p num="60">While any conditions may be a change to the system and / or environment, care should be taken to not be carried out via the controller 206. For example, the computing device may fail or off suddenly. In these circumstances, an attempt is made to reflect the change in the controller 206. These changes will be automatically reflected in the controller 260, and {e.g., detecting the device failures and use the services of management module 210, the system notifies the this failure the controller 206 may operate} , or it may be passively reflected in controller 206 {e.g., the administrator can notify these changes to use the services of management module 210 to the controller 206}. Alternatively, the change may be performed to restore the reverse (reverse) to the system and / or of the environment is consistent with the desired state of the system as recorded by controller 206.</p><p num="61">SDM document 204 can be viewed as a "live (Live)" document, and this is the basis of the change of the changes and / or system of the environment throughout the life cycle of the system is always subject to change. </p><p num="62">The SDM enables the functional composite (function composition) of the system over the horizontal and vertical axes. The synthesis is carried out according to the horizontal axis systems and subsystems. The synthesis is performed according to the vertical axis as "layers (layers)". Applications, services, network topology (network topologies) and hardware to play a role in a distributed system, but is defined independently of the normal, it is owned by different teams or organizations. Layering is achieved by a component for defining a set of constraints on a host and vice versa.</p><p num="63">Figure 3 shows a layered set. Four layers, i.e., layer 302, layer 304, layer 306 and layer 308 is shown in FIG. In Figure 3, but showing the four layers, the actual number of layers may vary and may be greater than four small. Further, the content of different layers can be varied in other embodiments. 3, the different layers are placed on each of the top and / or bottom of the other layers {e.g., layer 306 is placed under the placed only layer 308 over the layer 304}.</p><p num="64">Different systems and subsystems within a layer can interact with one another and can interact with systems and subsystems of different layers. For example, the subsystem in the layer 308, 310 may serve the sub-system 314 in the cross-over-subsystem (312) to interact with, and layer 306 in the layer 308. Further, each layer can be viewed as the environment for the follow-up to higher layers. For example, the layer 306 is the environment for systems and hand subsystems in layer 308, layer 304 is the environment for the system and subsystem in the layer 306. Layer (302, 304, 306, 308) of each of which has its own associated SDM document.</p><p num="65">Different layers (302, 304, 306, 308) may represent a different content. In some embodiments, the layer 302 is a hardware layer, and layer 304 is a network topology and operating systems layer, layer 306 is an application hosts layer, and layer 308 is the application layer. Hardware layer represents the physical devices layered system is installed (for example, a computing device) {e.g., Figure 1 of the apparatus 102}. Network topology and operating systems layer represents the operating system to be installed on the network topology and their computing device of the computing device {e.g., network setting 100 of FIG. 1}. Application hosts layer represents applications installed on the computing devices that can host other applications (e.g., SQL Server, IIS, etc.). Application layer represents applications installed on the computing devices that do not host other applications (e.g., entertainment applications such as games, productivity applications such as word processors, can be used to refer to applications, web services or financial analysis of the electronic dictionary, etc. in distributed applications, etc.).</p><p num="66">4 is a flowchart showing an example of a process 400 for using the SDM across the entire lifecycle of a system. Various actions of the process 400 of Figure 4 can be implemented in software, firmware, hardware, or a combination thereof.</p><p num="67">Initially, the system is designed based on the SDM (action 402). System, the system is placed in the environment and is designed to include the additional knowledge that is used for deployment and management requirements, and a system that needs to be met that the environment is to be operated. This knowledge is included in the SDM document associated with the system. Once designed, the system can optionally be validated using the SDM (action 404). This validation will be to verify that the operating system is validated and placed in the environment that allows the designer or developer. As described above, the system is validated for the environment, not only is their place, the environment is also validated against the system. If validation fails for a particular environment, the system (may be a further step of performing change or environment) is added to the design phase may be performed to change the system to be operating in that environment.</p><p num="68">Once validated, the system can be disposed using the SDM (action 406). When placing the system into the environment, the system is installed in that environment so that it can be subsequently run in the environment. Knowledge used to install the system is included in the SDM document associated with the system. Once placed, the system is using the SDM monitoring and / or management (action 408). Knowledge in the SDM document associated with the system identifies how the system is monitored and / or managed, and the system is monitored and / or managed within the environment in accordance with this knowledge. </p><p num="69">Environment, system, process 400 of Figure 4, as well as applications of the system may be used. For example, an application can be validated against the SDM of its environment {e.g., in an application in layer 308 of FIG. 3 is validated against the environment of layer 306, FIG. 3}. Or by way of another example, the operator or system planners {e.g., Figure 3 of layer 306 or layer 304} environments and to design, these circumstances are circumstances be placed {e.g., respectively, and enabling the environment thereof for the layer (304, 302)}.</p><p num="70">System and / or restrictions on the environment is used during runtime (while the system is monitored and / or managed) to validate changes to the system and / or the environment during runtime. These run-time enabling, for example, or the operator of the environment to how the changes to the environment operating system determination as to whether that affect how the system designer changes to the system that affect how the operation of the system in the environment and to decide.</p><p num="71">As will be described later, it is created by the reference to the flow and setting flow with respect to the runtime. Flow is used to pass configuration information between parts of a distributed system (e.g., to the developer to specify the configuration information in one place, or to the operator to only provide a single entry). Flow is also used to a flow of setting data between parts of the system determines the impact (impact) by the changes to the configuration to follow behind.</p><p num="72">Figure 5 shows an example architecture 500 using an SDM runtime. The architecture 500 includes the SDM runtime 510, the architecture of Figure 2 using the 200, as well as the section "Example SDM Implementation" In the example implementation of the SDM to be described later. SDM runtime 510 is to accept and validate the SDM file, and, SDU (System Definition Units - package being of one or more SDM files and their related files) loading, creating and executing SDM Change request and target the SDM based systems It includes a set of components and the process of placing the environment. Run-time feature, the system is defined and enabled, is described using the SDM to be placed in a set of computing devices, and managed.</p><p num="73">SDM, which will be described later in the section "Example SDM Implementation" is designed to support description of the configuration, interaction and changes in the components in a distributed system (the modeled system). SDM is based on an object-relational model. "Definitions" describes an entity (entities) present in the system and "relationships" identify the links between the various entities will be. The definitions and relationships are also defined to capture semantic (semantic) information related to the SDM. In particular, definitions are divided into components, endpoints and resources. Relationship is connected (also referred to as communication), including (containment), hosting, delegation, is divided into (delegation) and the reference. The more detailed description of the definitions and relationships are provided below.</p><p num="74">SDM includes "abstract definitions (abstract definitions)" which provides the basis for definition checking at design time and to provide support for the tool to provide a common categorization of system parts and a wide range of systems. Set of abstract definitions provide a comprehensive basis for service design. "Specific definition (concrete definitions)" shows parts of an actual system or data center design. Concrete definition is generated by selecting an abstract definition provides an implementation that defines the set value for the members and the properties of the concrete definition. The distributed application is created using the collection of these concrete definitions.</p><p num="75">The SDM also includes "limit (constraint)" to model the limited (restriction) based on the set of permitted between an instance of a relationship can participate. Restriction is useful to describe the requirements that depend on the configuration of the object in the relationship. For example, the restriction may be used to determine whether participants on each end of a communication protocol using compatible security settings.</p><p num="76">In order to achieve the change to the target system, SDM uses a "change request (Change Request)" or CR declarative description of the required change is referred to as (declarative description). The SDM defines the process that is used to expand and validate and execute a change request as part of the "SDM execution model."</p><p num="77">"Instance space" will capture all of the both the desired state and the current state of the managed application. Changes in the instance space are tracked (track) and is related to the change request that initiated the change. The instance space is stored in the SDM runtime reflects the current state of the modeled system. The runtime contains a complete record of the relationship between the created instance, and these instances. Each instance has an associated version history that links each version to a change request. The process of creating new instances is initiated by a change request. The change request defines a set of create, update and delete requests for definitions and relationships associated with specific members of an existing instance: </p><p num="78">The following is a simplified function will be described with respect to how to operate with that component of FIG. Operator or the administrator may describe the environment in which the application is placed, such as the topology of a data center. The operator or administrator produces an SDM file describing the environment, the file is a "logical infrastructure"; referred to as (LIM 502) or referred to as a data center description or data center model. This SDM file can be generated using any of a variety of development systems, such as the Visual Studio development system available from Microsoft Corporation of Redmond, Washington.</p><p num="79">In addition, the application developer can use any of a variety of development systems, such as the Visual Studio development system design and develop their application. As the developer defines components of the application and how these components relate to each other, the developer can validate the description of the application of the described data center (502). This is also referred to as "design time validation (Design Time Validation)".</p><p num="80">When the application is complete, the developer saves the description in the SDM and requests that the application be packaged for deployment as an SDU to be (504). SDU is the application SDM as well as a reference for other files that are used to install the application and the application binary.</p><p num="81">LIM (502) and the SDU (504) is fed to deployment tool 506 of a controller device 520 for deployment. Deployment tool 506 enables the operator, including a user interface (UI) can load the SDU (504) of the small chain. The deployment tool 506 to install the application associated with the SDU (504) based on the information in the SDM of the work to create CR module (530) SDU (504). Further, SDM definitions and instances from SDU (504) is stored in the storage unit 508 of the SDM runtime 510. SDU is managed in SDM runtime 510 by SDU management module (540), SDU management module provides the appropriate portions of the SDU are to be available to other components of runtime 510 and target (s) 522.</p><p num="82">The operator also target the application is placed (522; e.g., target computing devices) to specify what he wants to take action on. The operator can perform the deployment through the batch file, it referred to as a change request (CR) here. CR is run through one or more engines (512, 514, 516, 518). In general, expansion CR engine 512 identifies their connections and actions, as well as all the components involved to expand the CR, and the flow values engine 514, the value (the connection string, and so on) for the component flows (flow) and Limited scan engine 516 to check the limits between the environment and the application, the action sequence engine 518 specifies the order for all of the actions necessary for the CR. </p><p num="83">To initiate the validation of (batch including the application), or changes to the system model, an operator or process submits a CR. The CR contains a set of actions that the operator wants performed over the instances in the runtime to 510. These actions, for example, create an action, the action can be updated, and / or delete actions.</p><p num="84">In addition to user or operator initiated change requests, such as a bar, which will be described later, there may be extended / automatically generated change requests generated as part of the expansion process. Regardless of their source, once fully expanded and checked, the change request is the search target in a target instance 522, is performed by transmitting the setup, and the separating action, such as changing. </p><p num="85">CR is treated as a small set of actions complete or fail as a group. This, for example limited inspection engine 516 should be considered when checking the validity of all the action.</p><p num="86">At design time validation, the CR will contain one or the minimum of each SDM component in the SDM file will be created by the SDM Compiler 528. This CR of create instance commands will flow through the expansion engine 512, the flow values engine 514, and limit checking engine 516. Error discovered in the phase of these three will be returned to the user via the development system in which the user is using.</p><p num="87">In the arrangement, the operator will create a CR with the UI imparted by the development tool (506). CR, and the flow through all the engines (512, 514, 516 and 518) in the SDM runtime 510, and the appropriate actions and information are required to be executed by the CR module 532 (for example, the application is installed), the appropriate It will be transmitted to the target (s) 522. The appropriate target (s) 522 is a target that is normally installed application (s) for a particular installation.</p><p num="88">In the definition phase analysis, starting to process a CR, create CR module 530 to analyze all definitions and members that are referenced in the change request. Change request to which they will be presumed to have been already loaded by the runtime 510, and, if they do not exist, create CR module 530 initiates a load / compile action. Create CR module (530) also performs the path analysis phase is analyzed by reference to the instances defined in the existing instance and generating an action change request.</p><p num="89">When the expansion is carried out by expansion engine 512 is given a change request, all the remaining actions required to execute the request is the process that is populated. In general, these actions are construction and dismantling actions for definition and relationship instances. The operator may provide details for all the actions required for the construction or dismantling of the instance, and alternatively can be the automated portion of the processor: For example, an operator action on the member (e.g., byReference members) It provides key information about the changes he wants by identifying and the rest of the action is the nesting member is provided (e.g., byReference and byValue members) and relationships. By way of another example, automated expansion can also be referred to as an external resource manager that can be determined on the basis of the arrangement and will select a device having an available resource, and data required for the position in the vicinity of an application.</p><p num="90">The expansion engine 512 also performs the "Auto record". For automatic recording, engine 512 analyzes the scale invariant grouping is specified synthetic components, and components in the SDM and how grouping when scaled to the requested level, the component determines whether the interconnect.</p><p num="91">The expansion engine 512 also performs value member expansion, reference member expansion, and relationship expansion.</p><p num="92">Value member expansion refers to identification of all non-reference (non-reference) defining member. The cardinality of these members (cardinality) is recognized, since all the required parameters are known, for each member create requests are the parents (parent) is added to the change request for those members are produced. Changing requirements include the dismantling operation, dismantling operation is appended to include all their instances.</p><p num="93">Reference member expansion refers to reference members are (the non-reference definition members versa). The cardinality of reference members is often undefined reference member can have deployment time settings that require values to a configuration instance. Thus, the reference member is the process of expanding (e.g., byReference member) can require more information about the instance than the runtime in a position to provide.</p><p num="94">Reference member expansion is related to the process is referred to as a search (Discovery) it is used to find already disposed instance. A search is that the action typically initiated by an operator of the environment. For example, it is determining whether for, expansion engine 512 is an instance already exists, installation requirements, and if it is determined that already exists, it is determined whether there is any that, when it is determined that it does not exist, creates the instance. The instance of the controller 520, manager (IM) (534) initiates a search process to communicate with the instance managers 526 on the target device 522. The search process is returned to the controller 520 from the target device 522, data of the instance.</p><p num="95">The search process populates reference definition members as part of the construction or update action. Typically, only reference members with object managers that support discovery (also an instance manager to perform the search) are to participate in the process.</p><p num="96">When a new instance to be searched for, instance by using a specific key value checks the instance does not already exist in the SDM database. Once that is known to be the new instance, the instance is classified according to the definition of the search member. When an instance is certainly not consistent or inconsistent with the member, the member will remain in the blank state reference instances are marked as offline and non-completion.</p><p num="97">When all of the definitions known instance is configured, between the expansion will create relationship instances that reference the definition instances together coupling. When defining instance is dismantled, all relationship instances that reference defines an instance is removed.</p><p num="98">In order to create a relationship, the member space is used to identify the structure of the relationship that must exist between the instances. Having defined the larger cardinality than one member, topology relationships are inferred from the base relationship definition. For example, for communication relationship, "Auto record" may be carried out, with respect to the relationship between the host, the host may be obtained based on the algorithm associated with the hosting relationship. </p><p num="99">A flow stage, flow values engine 514 evaluates flow across all the relationship instances. Flow values engine 514 may add update requests to the change request for instances that were affected by any altered parameter flow. Engine 514 evaluates flow by determining the set of instances that have the updated settings as a result of the change request. For each of these, any outgoing settings depending on the changed settings are evaluated and the target nodes added to the set of changed instances. Process is set is empty, or is continued until the set contains a cycle.</p><p num="100">After the flow stage, a process of duplicate detection is performed. Duplicate detection may be performed by the illustrated engine {e.g., flow values engine 514 or limiting check engine 516} another engine not shown in the in the one or 5 in Fig. 5 (e. G. , duplicate detection engine may be included in SDM runtime 510). A process of duplicate detection matches expanded instances against instances that already exist in the SDM data store. For example, the process detects that another application has installed a shared file. When an instance that already exists is detected, one of several actions can be performed, depending on the version of the existing instance. Installation can fail and; Or the instance can be reference counted; Or the instance can be upgraded; Or the installation can be performed side-by-side.</p><p num="101">Limit check engine 516 is carried out to limit any limitations in the model evaluation phase is check to see if any restrictions are still valid after the change request has been processed.</p><p num="102">After the limit check engine 516 terminates a limited evaluation phase, a complete list of actions is available. Thus, the action sequence engine 518 determines the effective change order by using the relationships among the components. Any of the many algorithms are used to perform a determination.</p><p num="103">When the action sequence engine to determine the order 518 is completed, by distributing subsets of the ordered set of machine specific person action arrangement can be performed. Once the actions are ordered and grouped by machine, a copy of the necessary portion of the SDM runtime store part of the action as well as with the instance information 508 is sent to a target computing device 522. SDM is stored temporarily at the target device in the storage cache 538.</p><p num="104">The target computing device includes a target portion 536 of the SDM runtime 510, and the communication to the SDM runtime. Target computing device 522 also includes an execution engine 524, and the appropriate instance manager (IM; 526) on the target device includes an agent to make a change on the communication target, such as create, update, and delete actions by . Each action is sent as a call to the instance manager 526 and the instance manager 526 returns a status message, and returns the data for some action (for example, for the search). If all action is completed on target 522, the agent in the target returns any errors and status to the controller 520. Then, the controller 510 uses this information to update the SDM runtime store 508.</p><p num="105">As described above, the change is carried out by classification with a possible change request on the basis of the relationship between distributed parts involved. If all parts are completed (or after one or more has failed) the results are contrasted by the runtime 510 and a summary returned to the operator. If it fails, all the action is "rolled back (rolled back)", the system is returned to the state before initiating the change.</p><p num="106">In some embodiments, during the above-described design time validation, SDM Compiler 528 receives an SDM file, creates a test CR, and the expansion of the SDM runtime, operating the test CR, and through the flow value and the limit check engine, The returned any errors to the development system. This process provides SDM validation for deployment and during design time for the developer.</p><p num="107">SDM runtime 510 and / or controller 520 is through an object model to the air interface (API) library. Library is a managed code object model and such that the following is done.</p><p num="108"><img id="3" file="112004009345357-pat00003.tif" wi="5" he="5" img-format="tif" />The SDM in the runtime management - SDM files can be loaded into the runtime. SDM is constant and is loaded at one time, one part of the file (for example, one from the individual definitions, classes or mappings from the SDM file) may be more than one of the SDM file is loaded}. The SDM may be deleted from the runtime and an XML document is created for the SDM in the runtime.</p><p num="109"><img id="4" file="112004009345357-pat00004.tif" wi="5" he="5" img-format="tif" />Manage SDU known by the runtime.</p><p num="110"><img id="5" file="112004009345357-pat00005.tif" wi="5" he="5" img-format="tif" />The SDM definition management (SDM loaded in the runtime from) SDM navigation elements to reflect. No public API provided for creating a new SDM (i.e., this is a read only object model over the immutable elements of the SDM). This includes SDM, SDU, the identification information (Identity), versions, classes, definitions, binding / mappings and versioning policy (versioning policy).</p><p num="111"><img id="6" file="112004009345357-pat00006.tif" wi="5" he="5" img-format="tif" />Manage SDM instances a-components, endpoints, resources and relationships, and search for instances of reflection. In the instance space each instance can be identified by a GUID, a stable path or an array based path. The paths are strings and can be relative. These identifiers, including relative paths instance is searched for in documents such as the change request document to be referred to.</p><p num="112"><img id="7" file="112004009345357-pat00007.tif" wi="5" he="5" img-format="tif" />Instance operation - creating, changing topology, upgrading, make changes to the SDM instance that contains the settings to change and delete. Instance changes are carried within the confines of a change request which provides the minimum unit of the update, the entire request is to fail by any error or limit violation. If so required the commit (commit) have the host instance, the instance requests are also instances without binding to the host such that there temporarily. In addition, many of the operations, and the installation or settings that affect a single component performing, by acting until commit the installation or settings update, a single update occurs on the component. SDM model checking is performed prior to the change request commit time or the time the commit will fail on any model or a limit violation.</p><p num="113"><img id="8" file="112004009345357-pat00008.tif" wi="5" he="5" img-format="tif" />Load a change request - a change request is a document that represents a set of instance space operations, for example, an XML file. This article can be used a path relative to a reusable 'script' for creating or deleting the application instance.</p><p num="114"><img id="9" file="112004009345357-pat00009.tif" wi="5" he="5" img-format="tif" />Navigation and reflect on change requests - including the installation / update tasks and all error retry the acquisition of information, and the installation of the components affected by the request / update.</p><p num="115"><img id="10" file="112004009345357-pat00010.tif" wi="5" he="5" img-format="tif" />Generating a change request document from a change request in the database. These documents are somewhat portable (portable).</p><p num="116"><img id="11" file="112004009345357-pat00011.tif" wi="5" he="5" img-format="tif" />Progress, the subscriber in the event of a change request tasks, such as log or status updated. Lifetime of these event subscriptions limited by the lifetime of the process loads the client (that is, these are regular CLR events).</p><p num="117">SDM runtime engine performs the functions surfaced by the proof and the API of the SDM model. The library (SDM entities to reflect on) load SDM, create component instance and calling the entire SDM obtained is not very accurate, as (fairly coarse call) to the runtime engine as a web service and the communication. A plurality of formats of the parameters for this web service is XML with the same schema for SDM files. The engine can also perform a test with respect to permission (permission). </p><p num="118">Controller 520 may use the Instance Manager (IM), the instance manager can be associated with any definition or relationship in the model. IM can be carried out one or more of the following rules:</p><p num="119"><img id="12" file="112004009345357-pat00012.tif" wi="5" he="5" img-format="tif" />Support deployment of the instance.</p><p num="120"><img id="13" file="112004009345357-pat00013.tif" wi="5" he="5" img-format="tif" />Once placed {audits (audit)}, for instance validation support.</p><p num="121"><img id="14" file="112004009345357-pat00014.tif" wi="5" he="5" img-format="tif" />A navigation aid instance is not disposed over the run time of the already placed instance.</p><p num="122"><img id="15" file="112004009345357-pat00015.tif" wi="5" he="5" img-format="tif" />Support of flow setting.</p><p num="123"><img id="16" file="112004009345357-pat00016.tif" wi="5" he="5" img-format="tif" />Support evaluation of constraints.</p><p num="124"><img id="17" file="112004009345357-pat00017.tif" wi="5" he="5" img-format="tif" />Support expansion of a change request.</p><p num="125"><img id="18" file="112004009345357-pat00018.tif" wi="5" he="5" img-format="tif" />As CLR class through an API support provided to the user instance.</p><p num="126">To the arrangement, the controller 520, an instance manager (IM) plug-in on being associated with a class host relation, provided the design experience for the classes and used in a development system for generating the associated binary and set the schema in the SDU (540) The plug-ins coming from separation. The instance managers are supplied to the SDM runtime 510 as CLR classes that (in the example dll assembly) implement an instance manager interface or from the abstract class. Instance Manager (IM) plug-in, referred to also as a SDM Instance Manager provides the following functions to the controller 520.</p><p num="127"><img id="19" file="112004009345357-pat00019.tif" wi="5" he="5" img-format="tif" />Files and commands (tasks) to generate an installation component instances on their hosts, separate or should re-install - if the change request occurs a change to a component that requires a new component instance, removal of a component instance, or removal or reinstallation, SDU (204) instances in the host instance, the components associated with the definitions and those definitions and obtain a set of associated binary, and the insertion or removal on a target server ready for manual execution or dispatch (dispatch) by the placement engine is the instance manager to create the file, and commands needed to perform.</p><p num="128"><img id="20" file="112004009345357-pat00020.tif" wi="5" he="5" img-format="tif" />(E.g., task) file and a command time to generate the be the setting change or when observed from one of its endpoints changes (e.g., as communication between topology changes or a visible endpoint has a change set by) to update a component instance.</p><p num="129"><img id="21" file="112004009345357-pat00021.tif" wi="5" he="5" img-format="tif" />Mapping the endpoint instances visible on a component instance's endpoints to settings on component instance - In the SDM, a component instance, as a result of some communication relationship topology, and an endpoint instance to see other endpoint instances. Details of the other endpoint instances are mapped to settings that allow to combine the fetched (FETCH) in the component instance is run. For example, a Web site may have a database client endpoint instance and thus the communication relationship can be established as a database. When correctly established its database client endpoint is able to observe the settings on a single database server endpoint instance and the server endpoint. This information is used by the instance manager to place a connection string for the server in a configuration file under the name of the client endpoint. The final result is that code simply reads the connection string for the database from its configuration settings.</p><p num="130"><img id="22" file="112004009345357-pat00022.tif" wi="5" he="5" img-format="tif" />It generates a file, and commands (tasks) to edit a component instance - Edit confirms the presence and the correct setting. This can also be applied to host instance settings.</p><p num="131"><img id="23" file="112004009345357-pat00023.tif" wi="5" he="5" img-format="tif" />Reports a status for any task - IM transforms the captured partial or full output, and success status of those tasks, failure, incomplete and optionally offer progress (% or last response) for incomplete, details about the failure It provides information (error message) and a human readable log on any status. By analyzing the output of the go back and task Instance Manager, Instance Manager has free enough that task log, rather than trying to have to create a log structured information (for example, XML or even SOAP) for the diagnosis as it remains possible human-readable .</p><p num="132"><img id="24" file="112004009345357-pat00024.tif" wi="5" he="5" img-format="tif" />The instance managers may also include code for performing the restriction checking between hosts and their guests a. For example, the installer, XML, can be used to limit the common language based on XPath and XQuery.</p><p num="133"><b><u>SDM implementation</u></b></p><p num="134">The following description will describe the embodiment of the schema that defines the elements of the SDM.</p><p num="135"><b>1. Definitions</b></p><p num="136"><tables id="1"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="1703" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8978" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">The term</entry><entry align="left" nameend="2" namest="2"> Justice</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Changing requirements</entry><entry align="left" nameend="2" namest="2">Declarative document that describes a set of changes to a modeled system</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Fully authorized change request</entry><entry align="left" nameend="2" namest="2">Through the model evaluation stages and the change request is ready to be executed for the current target system</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Abstract type</entry><entry align="left" nameend="2" namest="2">Type is used to define the settings required to act with respect to the modeled system object</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Specific types</entry><entry align="left" nameend="2" namest="2">Reusable definition of a modeled system object that contains definitions for member types and relationships</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">relation</entry><entry align="left" nameend="2" namest="2">Sdm object that is used to describe the interaction between modeled system elements</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">System Definition Model (SDM) Documents</entry><entry align="left" nameend="2" namest="2">Abstract object, XML document that contains the definition of a concrete type and relationship</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Software distribution unit (SDU)</entry><entry align="left" nameend="2" namest="2">Related to the type used to place the SDM managed system binary information (files), and a combination of a set of SDM documents</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">SDM floor</entry><entry align="left" nameend="2" namest="2">Layer is a set of abstract object specified in the object modeled in that layer. For example, while the application layer types may include Web application and Database, the operating system layer may include types for file systems and network devices. Any type can be used over the range of the layer, but instead be assigned to the layer.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">SDM instance space</entry><entry align="left" nameend="2" namest="2">A set of concrete type and relationship instances that represent the modeled system</entry></row></tbody></tgroup></table></tables></p><p num="137"><b>2. Architecture Overview</b></p><p num="138">The System Definition Model (SDM) is designed to support description of the configuration, interaction and changes in the components in a distributed system (the modeled system).</p><p num="139">SDM is based on an object-relational model. We can describe the entities and relationships that exist in a system using an object identifies the link between them. The SDM also distinguish objects and relationships to capture semantics on a major SDM. In particular, we have to divide the object to the system, the end point and the resource, the communications relationship, including (containment), host, and divided into a delegation (delegation) and the reference.</p><p num="140">We allow the tool support for a wide range of applications using the abstract definitions to provide a common categorization of system parts that provides the basis for type checking at design time to. We expect the set of abstract definitions to provide a comprehensive basis for system design and expect that they slowly change with time.</p><p num="141">We create a concrete object definition that indicates part of the actual application or data center design. We take an abstract object definition and provide an implementation that defines the concrete type of the setting value for the members and their properties. Then, we take a system from the collection of these definitions.</p><p num="142">Limit is used to model the limitation on the allowed set of relationships that an instance can participate. We capture the fine requirements depending on the configuration of objects in the relation with the limit (fine-grained requirements). For example, the restriction may be used to validate that participants on each end of a communication protocol using compatible security settings.</p><p num="143">In order to achieve the change in the target system, SDM uses a declarative description of the required changes called a change request. The SDM defines the process that is used to expand, validate and execute a change request as part of the SDM execution model.</p><p num="144">The instance space captures both the desired and current state of the managed application. We involves changes required to track changes in the instance space sphere and initiate a change thereof.</p><p num="145">Following uml diagrams capture the extensive interactions between the objects in the sdm model. For simplicity, some of these interactions have been defined between base types, physical interaction is present between derived types (derived type), and therefore more specialized. For example, communication relationships may only reference abstract endpoint is defined.</p><p num="146">Sdm document information that describes the document, managers for the definitions in the document, and an import statement (import statement) and a set of definitions to reference other documents.</p><p num="147">Figure 6 shows an example of a document.</p><p num="148">All sdm definitions can include a member, as shown in Figure 7 is derived from a common base definition. Relationship between definitions and members can be more complex than that shown in the following figures.</p><p num="149">Members are divided by the kind of definition that the reference shown in Fig.</p><p num="150">Setting declarations reference a setting definition. The set value and the value lists provide values for settings as shown in FIG.</p><p num="151"><b>2.1 SDM lifecycle of applications</b></p><p num="152">An example of the life cycle of the SDM application in accordance with some embodiments is shown in Fig.</p><p num="153">The application is designed and implemented within the visual studio environment (block 1002). The developer is a combination of them within the composite component and the implementation components. The application is described in the SDM file. In order to verify that their application is disposed in a data center, the developer will be bonded to the display of the data center described in their application SDM file (block 1004). The display will include a limitation on the definition and configuration of their application for the hosts of their application components. The combination of a failure, a developer can change the design of their application.</p><p num="154">If the developer once satisfied with their applications, with a strong name and version associated with the application shall publish by signing the application (block 1006). Published form of an application is called the software distribution unit (SDU). The operator takes the SDU from the developer and loads the application into the SDM runtime (block 1008). In the process of loading the application, the operator chooses the model of the desired data, they combine the application center. Selecting the operator to deploy the application, they supply deployment time parameters to the application and they determine the scale of the application (block 1010). This is done using a change request.</p><p num="155">Once an application is deployed, the operator can determine the setting of the parts of the configuration and application of the application to interact with the runtime (block 1012). The runtime may also be able to verify whether the actual configuration matches the desired configuration recorded in the runtime of the application. The operator can remove the applications deployed by submitting a change request (block 1014). The operator can also change the individual is performed in a running application such as removing a service pack rolled back (rollback). In block 1016, the configuration of a running application can be changed by adding or removing parts of the deployed application such as a web front-end (web frontends). The application can also be upgraded by installing newer versions of one or more of the application components.</p><p num="156"><b>2.2 abstract objects and relationships defined</b></p><p num="157">Abstract object definitions define the building blocks necessary to place and been checked, the application configured to manage the application design time, at run time. These building blocks represent entities that exist in the modeled system. For example, we use abstract object definitions to model files and directories, or in the configuration database sql server in the web server.</p><p num="158">We model the interactions that can occur between abstract object definition by using the abstract relationship definitions. Relationship is directed to identifying the object definition that defines the instances that participate in expression of a binary relationship. Relationship can be modeled, including a communications link between the service, configuration, and how to combine objects with the objects.</p><p num="159">Limit is then used by the object and limits the relationship that limits the objects that can be linked to join by their relationship. These limitations can be set as a target involved in the definitions and relationships. This limit is to narrow the participants in a relationship instance is derived from a particular definition and to require that the instance has a set value within a certain range. </p><p num="160">We have three kinds of the objects defined categories, that is, the system divides the endpoints and resources.</p><p num="161">Abstract system definitions are used to describe the magnetic arrangement comprises a stand can be part of the application (self-contained independently deployable parts). These definitions represent parts of an application that interact through well defined communication channels that can cross process and machine boundaries.</p><p num="162">Abstract endpoint definitions are used to describe the communication endpoints that a system is exposed. These verify system connectivity at design time and are used to model all forms of communication that the system should know in order to enable access from the runtime.</p><p num="163">Abstract resource definitions describe the behavior included in the system. Resource definitions may have strong dependencies on other resource definitions. These dependencies can include initiating a run-time interaction with the communication mechanism is not required to prove a specific installation order.</p><p num="164">All abstract object definitions share the ability to expose settings. These settings are simple name that use xml schema to define the type of the set-value pair. Settings can be dynamic or static, the static merely can be set only during the deployment process, if the dynamic has to be changed after deployment. Code that applies the setting value to the operating system is hosted in the SDM runtime.</p><p num="165">The SDM supports inheritance (inheritance) to the abstract object definition. Which is the information derived can extend the properties exposed by its parent and can set values for the characteristics of their parents. Derived definition can participate in any of the relationships that identify their parent as a participant.</p><p num="166">Relationship definitions are five categories, that is, communication, including, delegation, hosting, and reference is divided into.</p><p num="167">The communication relationship is used to capture potential communication interactions between abstract endpoint definitions. The existence of a communication relationship indicates that it is possible to expose endpoints of the identified definition to the communication system. The actual establishment of the link is subject to the limited exposure of the endpoint to endpoint.</p><p num="168">Between the abstract object definition that includes the ability to be described include the members of another abstract object definition. More specifically, a relationship between two abstract object definitions A and B are concrete object definition that implements A to contain a member of a concrete object definition that implements B.</p><p num="169">We used the model the natural nesting comprises the (nested) structure occurs when developers build applications. By containing a member object, the parent is able to control the lifetime and visibility of the contained object. All object instances in the run time space exist as members of other object instances, forming a completely connected set of instances. Thus, the set of containment relationship describes the allowed patterns including occurring in the instance space.</p><p num="170">Delegation relationships are used to selectively expose contained object members, in particular, we expose endpoint members from system definitions use the delegation. By the delegate endpoints from a subsystem, the outer system exposes the ability to communicate using a particular protocol without exposing the implementation beyond the protocol.</p><p num="171">Hosting and reference relationships are two forms of dependency relationships. Hosting relationship describes a primary dependency between abstract objects that should exist before the it can be an instance of the concrete object is created. Every instance should participate as a guest in exactly one hosting relationship, and generates the hosting relationships to form a completely connected tree over the instance space. Reference relationships capture the dependencies of the parameters that can be used as additional flow and configuration ordered.</p><p num="172"><b>2.3 specifically defining objects and relationships</b></p><p num="173">We create a concrete object definitions from abstract object definitions and concrete relationship definitions from abstract relationship creates a definition.</p><p num="174">The combination of abstract object definitions and abstract relationship definitions defines a schema for modeling the target system. The role of concrete object definition is to use a subset of the abstract definition space to create a reusable configuration based on one or more abstract definitions. As a simple analogy, the abstract definition space can be compared to the schema for the database, a specific object defined represent a reusable template for a set of rows in the database. The rows are only created in the database when an instance of the concrete object is created. In order to perform design time validation we can validate a concrete object schema definition against the abstract definition space in the same way as rows in a database for enabling the restriction of the (e. G., Heterogeneous keys, etc.).</p><p num="175">Each concrete object definition provides an implementation for a specific abstract object definition. Extensions to the settings schema implementation, declarations for object member, and a value for the setting, and a related member and limiting member and the flow member. Behavior of the concrete object follows the definition of the abstract object: abstract system definition become concrete system definitions, abstract endpoint definitions become concrete endpoint definition, abstract resource definitions become concrete resource definitions.</p><p num="176">Each concrete relationship definition provides an implementation for a specific abstract relationship definition. The implementation can include settings declarations and values, nested members of the same relationship category (hosting, including, communication, etc.), and limits on the types that can participate in the relationship.</p><p num="177">Concrete hosting relationships are used to define the mapping for the other member of the specific objects of a specific object. For example, concrete hosting relationship can be used to identify an association between a web application and the IIS host to be placed. One or more concrete hosting relationship can exist for a given type of developer to define different deployment configurations for specific topologies.</p><p num="178"><b>2.4 Members</b></p><p num="179">Concrete type can declare members of other concrete or abstract objects. We called these object members. These members are referenced from relationship members that define the relationships between the object members.</p><p num="180">Object members are used to create an instance of an object definition. Flags set low is used to provide a value for the object. When declaring an object member, the user can decide whether the object member is created at the same time as the outer system is created (value semantics), or if created by an explicit new operation that occurs later (reference semantics).</p><p num="181">Relationship members define the relationships that will be involved when the object member is created. If the object member is contained by its parent, containment member will be declared between the type member and the outer type. If the object member is a delegate, delegation members are defined in the relationship between the object and nested object members members. Communication relationship members can be declared between can be declared between endpoints on object members dependency relationship members (reference and hosting) the object members or nested object members.</p><p num="182">Relationship constraint is used to narrow the set of relationships that a particular object is willing to participate. It identified the limits for the participants at the other end of the restricted and related to a specific relationship.</p><p num="183"><b>2.5 instances space</b></p><p num="184">The instance space stored in the SDM runtime reflects the current state of the modeled system. Run time includes the relationship between the full record, and their instance of the generated instance. Each instance has an associated version history that each version is linked to a change request.</p><p num="185">The process of creating new instances is initiated by a change request. Change request is generated for the type of the set of update and delete requests and define relationships associated with specific members of an existing instance, the root (root) is a special case.</p><p num="186">A change request is made and then expanded by the run-time and tested with respect to any restriction. The expansion process identifies object and relationship instances implicitly configured as part of a configuration request including the object and then settings flow is evaluated across all relationships. Verification that all required relationships exist phase, and checks whether the relationship they fulfill all limited. Finally, the construction process determines an appropriate order for the deployment, update or control of each instance and then perform the appropriate actions to pass each instance to an instance manager to the correct sequence.</p><p num="187"><b>2.6 stratification (layering)</b></p><p num="188">Goal of the SDM model is to allow a separation of concerns between the architects of the data center designers and developers of applications, software infrastructure. Each of these groups focuses on particular services and has a different dependency sets.</p><p num="189">For example, developers mainly care about having sex composition and SQP, connections between hosts depend on IIS and CLR. The designer of the host configuration care about the network topology and having an OS configuration, the network topology, OS configuration and storage planner for developing mapping need to know about the hardware that exists in the datacenter.</p><p num="190">In order to support the separation of concerns, SDM exposes a concept of layering. Layered with the hosting relationship, without the services of the application is dependent not declared as part of the containment structure of the application, the application is coupled to such a service. </p><p num="191">We identify four layers as part of the SDM model.</p><p num="192">Application layer</p><p num="193"><img id="25" file="112004009345357-pat00025.tif" wi="5" he="5" img-format="tif" />The application layer supports the construction of applications in a constrained context. The context is defined by the configuration of the hosts identified in the host layer.</p><p num="194"><img id="26" file="112004009345357-pat00026.tif" wi="5" he="5" img-format="tif" />Examples of system-defined in the application layer include Web services, database, and BizTalk schedule (biztalk schedules).</p><p num="195">Host floor</p><p num="196"><img id="27" file="112004009345357-pat00027.tif" wi="5" he="5" img-format="tif" />Create a data center of software components. Configuring the connection between the components. Some of these components act as hosts for the application layer.</p><p num="197"><img id="28" file="112004009345357-pat00028.tif" wi="5" he="5" img-format="tif" />Examples of system definitions in this layer - IIS, SQL, AD, EXCHANGE, DNS and BizTalk (Biztalk).</p><p num="198">Network / OS / storage layer</p><p num="199"><img id="29" file="112004009345357-pat00029.tif" wi="5" he="5" img-format="tif" />Data center networks and platforms created. Configure network security model and operating system platform configuration. Adding a storage device to the operating system configuration.</p><p num="200"><img id="30" file="112004009345357-pat00030.tif" wi="5" he="5" img-format="tif" />Examples of system definitions in this layer - VLAN, Windows, Filter, storage</p><p num="201">Hardware layer</p><p num="202">The hardware layer identifies the physical connections that exist between the types of machines that exist in the data center, and these machines.</p><p num="203">11 shows an example of mapping a layer 4 web application to a layer 3 web server. An external box for each layer represents a system, the box is inside the box indicates the end point on the boundary represents the resources. We mapped to a host of the layer below, each of these elements via a hosting relationship.</p><p num="204">In order to satisfy the required relationships of the system, and we coupled to a host system that has matching capabilities to the system. We call this process called placement (placement). In the design, we make up a specific host relationship indicating possible placement. At a time of deployment, we combine the guest system instance to the host system instance to demonstrate an instance of the concrete hosting relationship.</p><p num="205"><b>2.7 Assessment Model</b></p><p num="206">SDM model is associated with a well-defined process for managing change to a distributed system.</p><p num="207">And each of the change request of the action is dispersed in the declarative change request is induced by passing through the several processing steps before it is executed on a target system.</p><p num="208"><b>3. The Implementation Details</b></p><p num="209"><b>3.1 Naming</b></p><p num="210">Within the SDM, there are a number of places that need a strong naming system for identifying objects. The following naming system, a user of definition, the definition is to allow the developer to define the type of the signature generator in a manner that is identical to that originally published confirmed. </p><p num="211">The following header is an example of an identifier for an sdm namespace (namespace).</p><p num="212"><img id="31" file="112004009345357-pat00031.tif" wi="77" he="34" img-format="tif" /></p><p num="213">And a type in another namespace you need to import the namespace to see.</p><p num="214"><img id="32" file="112004009345357-pat00032.tif" wi="163" he="6" img-format="tif" /></p><p num="215">Thereafter, the alias to refer to types within the namespace (alias) can be used.</p><p num="216"><img id="33" file="112004009345357-pat00033.tif" wi="25" he="6" img-format="tif" /></p><p num="217"><b>3.1.1 identity (Identity)</b></p><p num="218">The SDM names are limited by the namespace they define. Namespace is identified by a name, version, language and a public key token is contained in a single file.</p><p num="219">The basic form of identification, including the name, version, culture (culture), platform and a public key token.</p><p num="220"><img id="34" file="112004009345357-pat00034.tif" wi="130" he="28" img-format="tif" /></p><p num="221"><tables id="2"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2903" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="7778" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">name</entry><entry align="left" nameend="2" namest="2">The name of the sdm file is a friendly name that a developer can use to reference the contents of the file. The name associated with the public key token provides a strong name for the file.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">version</entry><entry align="left" nameend="2" namest="2">Version is used to identify the version of the contents of the file. All elements of the file adopt the same version number.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">PublicKeyToken</entry><entry align="left" nameend="2" namest="2">The public key token is a short name for the public key associated with the file.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">culture</entry><entry align="left" nameend="2" namest="2">Culture binary. The default for the neutral.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">platform</entry><entry align="left" nameend="2" namest="2">Support for binary platform.</entry></row></tbody></tgroup></table></tables></p><p num="222">Basic identification information is used to reference an existing identity or in conjunction signature and the public key, to create a new strong identity. Document allows signed using the private key and the user of the document to verify its contents using the public key.</p><p num="223"><img id="35" file="112004009345357-pat00035.tif" wi="103" he="21" img-format="tif" /></p><p num="224"><tables id="3"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="1834" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8847" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">signature</entry><entry align="left" nameend="2" namest="2">Sdm signed hashes contained in the type definition (hash)</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">publickey</entry><entry align="left" nameend="2" namest="2">The public key that can be used to check the signature of the file</entry></row></tbody></tgroup></table></tables></p><p num="225">Public key token is a public / 16 character hex string that identifies the public part of the private key pair (16 character hex string). This is not the public key, a 64-bit hash of the public key simply.</p><p num="226"><img id="36" file="112004009345357-pat00036.tif" wi="132" he="34" img-format="tif" /></p><p num="227"><b>Version 3.1.2</b></p><p num="228">The file version is defined by a four part number of the form NNNN. Here, 0 <= N <is 65535. Number by convention (convention) refers to the Major.Minor.Build.Revision.</p><p num="229"><img id="37" file="112004009345357-pat00037.tif" wi="158" he="22" img-format="tif" /></p><p num="230"><b>3.1.3 Short name</b></p><p num="231">The simple name consists of alphanumeric characters and limited punctuation. The name should start with a number other than characters. </p><p num="232"><img id="38" file="112004009345357-pat00038.tif" wi="109" he="32" img-format="tif" /></p><p num="233">We had planned to match the C # definition for the identifier; The appropriate section (2.4.2) has been inserted in the hereafter. Specification can be found in:</p><p num="234"><u>http://devidiv/SpecTool/Documents/Whidbey/VCSharp/Formal%20Language%20Sepcification/Csharp%20Language%Specification.doc</u></p><p num="235">We note that does not support names with the "@" prefix in the sdm models.</p><p num="236">Rules are given an identifier in this section, underscores (underscore) is (which is common in the C programming language) that will be allowed as an initial character, a Unicode escape sequences are allowed in identifiers, "@" character is permissible as a prefix except that the keyword is to be used as an identifier, exactly corresponds to the one recommended by the Unicode Standard, Annex 15 (Unicode Standard Annex 15).</p><p num="237"><img id="39" file="112004009345357-pat00039.tif" wi="117" he="148" img-format="tif" /></p><p num="238">Unicode characters to the information about the class described above, the Unicode Standard, Annex, version 3.0, please refer to section 4.5.</p><p num="239">Examples of valid identifier and a "idenfifier1", "_identifier2", and "if". Should be within the normal format defined by the Unicode Normalization Forms, such as the program identifier in the combine (conforming program) is as defined by the Unicode Standard, Annex 15 C (Unicode Normalization Form C). Behavior of the time they see the identifier is not in normalized form, but the C is defined according to the embodiment, the diagnosis is not required.</p><p num="240">The prefix "@" is to enable the use of keywords as the identifier, it is useful in other programming languages, and the interface. @ Character is substantially not a part of the identifier, and thus, the identifier can be displayed in different languages as a normal identifier without a prefix. Identifier with an @ prefix is called La verbatim identifier (verabtim idenfifier). Use of the @ prefix for a non-keyword identifier is allowed, but is strongly disturbed as a style issue.</p><p num="241">Yes:</p><p num="242"><img id="40" file="112004009345357-pat00040.tif" wi="98" he="59" img-format="tif" /></p><p num="243">Define a class named by "class" has a "boo1" that takes a parameter named as "static" named static method (static method) a. Not allowed in Unicode escapes (Unicode escape) keyword, the token "c1\u0061ss" is the identifier is the same identifier as "class". </p><p num="244">If the two identifiers are the same after the conversion is applied in the following order, these two are considered to be the same identifier. </p><p num="245"><img id="41" file="112004009345357-pat00041.tif" wi="5" he="5" img-format="tif" />The prefix "@" is removed after use.</p><p num="246"><img id="42" file="112004009345357-pat00042.tif" wi="5" he="5" img-format="tif" />Each unicode-escape-sequence is converted to the corresponding Unicode character.</p><p num="247"><img id="43" file="112004009345357-pat00043.tif" wi="5" he="5" img-format="tif" />Any formatting-character are removed.</p><p num="248">Two contiguous Unicode characters (U + 005F) including the identifier is stored to be used by an implementation. For example, the implementation provides the expanded keywords that begin with two underscores.</p><p num="249"><b>3.1.4 stored name (Reserved names)</b></p><p num="250">The following is a list of the stored names, the user can use these stored names when creating names for objects in the SDM model.</p><p num="251">Within a given context, the given name will be stored.</p><p num="252"><tables id="4"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="5265" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="5265" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Context</entry><entry align="left" nameend="2" namest="2">name</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Abstract and concrete definition</entry><entry align="left" nameend="2" namest="2">this</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Abstract and concrete hosting relationship defined</entry><entry align="left" nameend="2" namest="2">Guest host</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Abstract and concrete containment relationship definition</entry><entry align="left" nameend="2" namest="2">Parents, members</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Communication between abstract and concrete definitions</entry><entry align="left" nameend="2" namest="2">Client, server,</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">See abstract and concrete relationship definition</entry><entry align="left" nameend="2" namest="2">Source, dependent</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Abstract and concrete definitions delegation relationship</entry><entry align="left" nameend="2" namest="2">Proxy, delegate</entry></row></tbody></tgroup></table></tables></p><p num="253">The name is stored, because integration with the CLR.</p><p num="254"><img id="44" file="112004009345357-pat00044.tif" wi="135" he="146" img-format="tif" /></p><p num="255"><b>3.1.5 references to other namespaces</b></p><p num="256">We import a namespace in the current namespace and, by associating an alias to the namespace, the namespace allows you to see the different namespaces. The imported namespace is referenced by name, version and public key token. Versioning will be described in section 3.16.</p><p num="257"><img id="45" file="112004009345357-pat00045.tif" wi="100" he="17" img-format="tif" /></p><p num="258"><tables id="5"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="1590" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="9090" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">alias</entry><entry align="left" nameend="2" namest="2">The alias used to reference the external sdm file within the scope of the current sdm file.</entry></row></tbody></tgroup></table></tables></p><p num="259"><b>3.1.6 the authorized route (Qualified Path)</b></p><p num="260">The path is the name that refers to the defined name space to define or manager (aliased namespace) with the current namespace or alias.</p><p num="261">[<alias>:] (. <simpleName>) <simpleName> *</p><p num="262">The alias is defined in the import statement. The following simple names identify a type in the case of the nested type, or path.</p><p num="263"><img id="46" file="112004009345357-pat00046.tif" wi="169" he="24" img-format="tif" /></p><p num="264"><b>3.1.7 Definition and Members path</b></p><p num="265">Path is a sequence of names that identifies a member or setting. The path should begin with a known name or member name that is defined by the object or relationship associated with it.</p><p num="266"><simpleName> (. <simpleName>) *</p><p num="267"><img id="47" file="112004009345357-pat00047.tif" wi="134" he="22" img-format="tif" /></p><p num="268"><b>3.1.8 instance path</b></p><p num="269">The path in the instance space are based on the path x, where x in the path element name correspond to member names and attributes in the set corresponds to the path x. </p><p num="270"><b>3.1.9 the name resolution (Name Resolution)</b></p><p num="271">The name does not begin with an alias is not applied fully. This means that to change the range in which they are combined the resulting evaluation. This example is nested definitions. When analyzing the nested definition name is defined in the local scope hide definitions within a wider range.</p><p num="272"><b>Set 3.2</b></p><p num="273">All definitions can expose settings declarations. These settings will be generated from the abstract definition or definitions specific definitions are used to describe the values that can be provided when they are referenced from a member within another definition.</p><p num="274">In order to define the set, first, it is necessary to define the definition of the setting using xsd to.</p><p num="275"><img id="48" file="112004009345357-pat00048.tif" wi="77" he="48" img-format="tif" /></p><p num="276">Then, it is possible to use such a set to define and declare a set of attributes to define its behavior.</p><p num="277"><img id="49" file="112004009345357-pat00049.tif" wi="173" he="7" img-format="tif" /></p><p num="278">Having once the setting declaration, it is possible to provide a value for the setting.</p><p num="279"><img id="50" file="112004009345357-pat00050.tif" wi="99" he="6" img-format="tif" /></p><p num="280"><b>3.2.1 Defining settings</b></p><p num="281">We use XSD schemas, and defines the setting definitions used by declaring the set. Even though other schema elements exist to support the use of simple and complex types, we can support the use of this type from a single scheme.</p><p num="282">Setting the definitions section should include a complete xml schema that contains the namespace declaration and namespace import. We will exclude the xsd schema namespace, and check whether the imports in xsd schema match the imports in the sdm file. This means that all referenced types should be defined in another sdm file again, the schema can not reference types that are defined in the auxiliary xsd file.</p><p num="283"><img id="51" file="112004009345357-pat00051.tif" wi="104" he="29" img-format="tif" /></p><p num="284"><tables id="6"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2265" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8415" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">xs: schema</entry><entry align="left" nameend="2" namest="2"><u>http://www.w3.org/2001/XMLSchma</u> Schema namespaces in</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">manager</entry><entry align="left" nameend="2" namest="2">Clr assembly comprising a rescuer class (helper class) for this scheme</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">clrNameSpace</entry><entry align="left" nameend="2" namest="2">Clr namespace these classes are defined. All setting type is based on their mapping through CLR serialization it will be analyzed by CLR.</entry></row></tbody></tgroup></table></tables></p><p num="285">Settings must be analyzed from three separate namespaces. </p><p num="286">a) sdm namespace - we system, resource, endpoint, relationship, to refer to setting types within the limit or flow type.</p><p num="287">b) clr namespace - when we write on the type and other settings set to refer to this type of setting, using a strongly typed class within the clr.</p><p num="288">c) XSD namespace - when setting types are built using other setting types.</p><p num="289">To this is to properly carried out, we have to place a number of restrictions on how to declare a set.</p><p num="290">a) All settings should be in the same group of each of the clr, sdm and xsd namespaces. That is, if two settings are together in one namespace, they should be together in all three namespaces.</p><p num="291">b) the imported namespaces in xsd schema definitions must be consistent with the imported namespace in the imported namespace and assembly rescuers involved in the SDM files.</p><p num="292">c) except for the xsd namespace, all imported namespaces in the xsd schema should be defined within the sdm file.</p><p num="293">XSD types from imported SDM documents are accessible using QNames:</p><p num="294"><img id="52" file="112004009345357-pat00052.tif" wi="31" he="5" img-format="tif" /></p><p num="295">Thus, for instance, when the import Foo.sdm Bar.sdm, setting type Bar.sdm this example may be referred to in setting the type of the element Foo.sdm as illustrated as follows:</p><p num="296"><img id="53" file="112004009345357-pat00053.tif" wi="79" he="77" img-format="tif" /></p><p num="297"><b>3.2.2 Built-in simple data types (Built in simple data types)</b></p><p num="298">The SDM supports a limited set to create a data type in the intersection of the XSD and C # namespaces. These types are supported inherently by the SDM runtime are defined in the following table. In addition to these types, users are free to be used to configure the mapping between xsd and cls types.</p><p num="299"><tables id="7"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="4" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="1883" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="4320" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="3" colnum="3" colsep="0" colwidth="2389" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="4" colnum="4" colsep="0" colwidth="2089" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">type</entry><entry align="left" nameend="2" namest="2">Described</entry><entry align="left" nameend="3" namest="3">XSD type</entry><entry align="left" nameend="4" namest="4">C # type</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">string</entry><entry align="left" nameend="2" namest="2">String is a sequence of Unicode characters.</entry><entry align="left" nameend="3" namest="3">string</entry><entry align="left" nameend="4" namest="4">string</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">integer</entry><entry align="left" nameend="2" namest="2">64-bit signed integer type</entry><entry align="left" nameend="3" namest="3">long</entry><entry align="left" nameend="4" namest="4">long</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">float</entry><entry align="left" nameend="2" namest="2">Single-precision (single precision) floating-point type</entry><entry align="left" nameend="3" namest="3">float</entry><entry align="left" nameend="4" namest="4">float</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">double</entry><entry align="left" nameend="2" namest="2">Double precision (double precision) floating-point type</entry><entry align="left" nameend="3" namest="3">double</entry><entry align="left" nameend="4" namest="4">double</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">boolean</entry><entry align="left" nameend="2" namest="2">It is called true or false value.</entry><entry align="left" nameend="3" namest="3">boolean</entry><entry align="left" nameend="4" namest="4">boolean</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">any</entry><entry align="left" nameend="2" namest="2">The default type for all other types</entry><entry align="left" nameend="3" namest="3">any</entry><entry align="left" nameend="4" namest="4">object</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Date</entry><entry align="left" nameend="2" namest="2">Short date</entry><entry align="left" nameend="3" namest="3">Date</entry><entry align="left" nameend="4" namest="4">dateTime</entry></row></tbody></tgroup></table></tables></p><p num="300">These types can be compatible with the flow in C # and xsd type spaces in the derivation of these types (compatible derivations). For example, the value for the string is defined by the limitation on the flow to xsd type string and any value can be set to accept flow with type = "any".</p><p num="301"><b>3.2.2.1 XSD built-in types </b></p><p num="302">Figure 12 shows an example of a built-in datatype hierarchy.</p><p num="303"><b>3.2.2.2 C # data types</b></p><p num="304"><tables id="8"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="3" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2267" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="4854" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="3" colnum="3" colsep="0" colwidth="3560" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">type</entry><entry align="left" nameend="2" namest="2">Described</entry><entry align="left" nameend="3" namest="3">Yes</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">object</entry><entry align="left" nameend="2" namest="2">The ultimate base type of all other types</entry><entry align="left" nameend="3" namest="3">object 0 = null;</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">string</entry><entry align="left" nameend="2" namest="2">String type; String is a sequence of Unicode characters.</entry><entry align="left" nameend="3" namest="3">string s = "hello";</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">stype</entry><entry align="left" nameend="2" namest="2">8-bit signed integer display (signed integral) type</entry><entry align="left" nameend="3" namest="3">sbyte val = 12;</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">short</entry><entry align="left" nameend="2" namest="2">Display 16-bit signed integer type</entry><entry align="left" nameend="3" namest="3">short val = 12;</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">int</entry><entry align="left" nameend="2" namest="2">Display 32-bit signed integer type</entry><entry align="left" nameend="3" namest="3">int val = 12;</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">long</entry><entry align="left" nameend="2" namest="2">Display 64-bit signed integer type</entry><entry align="left" nameend="3" namest="3">long val1 = 12; long val2 = 34L;</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">byte</entry><entry align="left" nameend="2" namest="2">Undisplayed 8-bit signed integer (unsigned integral) type</entry><entry align="left" nameend="3" namest="3">byte val1 = 12;</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">ushort</entry><entry align="left" nameend="2" namest="2">16-bit signed integer type undisplayed</entry><entry align="left" nameend="3" namest="3">ushort val1 = 12;</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">uint</entry><entry align="left" nameend="2" namest="2">32-bit signed integer type undisplayed</entry><entry align="left" nameend="3" namest="3">uint val1 = 12; uint val2 = 34U;</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">ulong</entry><entry align="left" nameend="2" namest="2">64-bit signed integer type undisplayed</entry><entry align="left" nameend="3" namest="3">ulong val1 = 12; ulong val2 = 34U; ulong val3 = 56L; ulong val4 = 78UL;</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">float</entry><entry align="left" nameend="2" namest="2">A single-precision floating-point type</entry><entry align="left" nameend="3" namest="3">float val = 1.23F;</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">double</entry><entry align="left" nameend="2" namest="2">Double-precision floating-point type</entry><entry align="left" nameend="3" namest="3">double val1 = 1.23; double val2 = 4.56D;</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">boo1</entry><entry align="left" nameend="2" namest="2">Called type; boo1 value of being true or false</entry><entry align="left" nameend="3" namest="3">bool val1 = true; bool val2 = false;</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">char</entry><entry align="left" nameend="2" namest="2">Character type; char value is a Unicode character</entry><entry align="left" nameend="3" namest="3">char val = 'h';</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">decimal</entry><entry align="left" nameend="2" namest="2">Precise decimal type with 28 digits higher</entry><entry align="left" nameend="3" namest="3">decimal val = 1.23M;</entry></row></tbody></tgroup></table></tables></p><p num="305"><b>3.2.2.3 support conversion</b></p><p num="306">These are the conversions that exist between xsd types and cls types.</p><p num="307">XML Schema (XSD) type .NET Framework type</p><p num="308">anyURI System.Uri </p><p num="309">base64Binary System.Byte □</p><p num="310">Boolean System.Boolean</p><p num="311">Byte System.SByte</p><p num="312">Date System.DateTime</p><p num="313">dateTime System.DateTime</p><p num="314">decimal System.Decimal</p><p num="315">Double System.Double</p><p num="316">duration System.TimeSpan</p><p num="317">ENTITIES System.String □</p><p num="318">ENTITY System.String</p><p num="319">Float System.Single</p><p num="320">gDay System.DateTime</p><p num="321">gMonthDay System.DateTime</p><p num="322">gYear System.DateTime</p><p num="323">gYearMonth System.DateTime</p><p num="324">hexBinary System.Byte □</p><p num="325">ID System.String</p><p num="326">IDREF System.String</p><p num="327">IDREFS System.String □</p><p num="328">int System.Int32 </p><p num="329">integer System.Decimal</p><p num="330">language System.String</p><p num="331">long System.Int64</p><p num="332">month System.DateTime</p><p num="333">Name System.String</p><p num="334">NCName System.String</p><p num="335">negativeInteger System.Decimal</p><p num="336">NMTOKEN System.String</p><p num="337">NMTOKENS System.String □</p><p num="338">nonNegativeInteger System.Decimal</p><p num="339">nonPositiveInteger System.Decimal</p><p num="340">normalizedString System.String</p><p num="341">NOTATION System.String</p><p num="342">positiveInteger System.Decimal</p><p num="343">QName System.Xml.XmlQualifiedName</p><p num="344">short System.Int16</p><p num="345">string System.String</p><p num="346">time System.DateTime</p><p num="347">timePeriod System.DateTime</p><p num="348">token System.String </p><p num="349">unsignedByte System.Byte</p><p num="350">unsignedInt System.UInt32</p><p num="351">unsignedLong System.UInt64</p><p num="352">unsignedShort System.UInt16</p><p num="353"><b>3.2.3 Declaration setting (Setting Declaration)</b></p><p num="354">Setting declaration section creates a named set with the setting definitions from the previous section. The attributes will be used to provide further information about each setting.</p><p num="355"><img id="54" file="112004009345357-pat00054.tif" wi="89" he="32" img-format="tif" /></p><p num="356"><tables id="9"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2734" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="7947" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">settingsAttributes</entry><entry align="left" nameend="2" namest="2">A set of attributes that can be applied to individual settings Declaration</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">list</entry><entry align="left" nameend="2" namest="2">This attribute is used to indicate that this setting is a list of values rather than a single value.</entry></row></tbody></tgroup></table></tables></p><p num="357"><b>3.2.4 Support list</b></p><p num="358">In order to support the operation of the multi-value setting (multivalued settings), we support simple lists of setting values. List is a sequence of values of the same definition and declaration set. List may be flow in the other list, they can be replaced or combined. It does not support duplicate detection when merging values into a list (duplication detection), and the reason for this is because it can be done more flexibly using settings flow statements, and does not guarantee any form of ordering.</p><p num="359">List declaration includes an attribute list set to true (true).</p><p num="360"><img id="55" file="112004009345357-pat00055.tif" wi="92" he="5" img-format="tif" /></p><p num="361">Next, the value is provided by using the settingValueList. When providing the list, the user can specify whether to merge or replace the previous value.</p><p num="362"><img id="56" file="112004009345357-pat00056.tif" wi="85" he="18" img-format="tif" /></p><p num="363">sdm supports simple manipulation of lists of values. When the path is from the flow member to the purpose of the setting declaration that the resulting behavior is dependent of the definitions at either end of the route.</p><p num="364"><tables id="10"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="3" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="1217" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="1292" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="3" colnum="3" colsep="0" colwidth="8173" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">sauce</entry><entry align="left" nameend="2" namest="2">destination</entry><entry align="left" nameend="3" namest="3">result</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Element</entry><entry align="left" nameend="2" namest="2">List</entry><entry align="left" nameend="3" namest="3">Replace = false - element is added to the list replace = false - list with single element</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">List</entry><entry align="left" nameend="2" namest="2">List</entry><entry align="left" nameend="3" namest="3">Replace = false - source and destination lists are merged replace = true - source list</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">List</entry><entry align="left" nameend="2" namest="2">Element</entry><entry align="left" nameend="3" namest="3">sdm can not be analyzed if an element is selected from the list, this combination is not supported.</entry></row></tbody></tgroup></table></tables></p><p num="365"><b>3.2.5 Setting Properties</b></p><p num="366">Setting property is used by the runtime to describe the behavior of a particular setting. </p><p num="367"><img id="57" file="112004009345357-pat00057.tif" wi="91" he="67" img-format="tif" /></p><p num="368"><tables id="11"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="3" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="1460" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="7873" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="3" colnum="3" colsep="0" colwidth="1348" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property name</entry><entry align="left" nameend="2" namest="2">Described</entry><entry align="left" nameend="3" namest="3">default</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">access</entry><entry align="left" nameend="2" namest="2">The access attribute specifies whether the setting is allowed to read and write the value of the set; SDM runtime provides access rules control and display to the designer / editing.</entry><entry align="left" nameend="3" namest="3">Read-write</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1" /><entry align="left" nameend="2" namest="2">This means display / edit the value attribute value in the run-time rule set read-write SDM can be edited that can be read and the value is displayed is written. display The setting value read only be displayed, but the reading, but can not be edited can be written. Indicating that can not be written. This value can not be the target for a flow. In general, a read-only setting is to be calculated or provided by a real-world instances. For example, a value indicating the number of the connection on the server. Write only setting values are written, however, display the value of the mask, however, is not provided. It can be edited. This value can not be a source for the flow. For example, passwords for service accounts </entry><entry align="left" nameend="3" namest="3" /></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">deploymentTime</entry><entry align="left" nameend="2" namest="2">Value that can be provided as part of a batch process, for instance. Design time-out can not be evaluated with respect to this value. Definition or member can not supply a fixed value for the setting.</entry><entry align="left" nameend="3" namest="3">lie</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">required</entry><entry align="left" nameend="2" namest="2">If required it is true, the value is placed before the instance can be provided in a set. This setting can not be read-only.</entry><entry align="left" nameend="3" namest="3">lie</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">dynamic</entry><entry align="left" nameend="2" namest="2">If dynamic is true, then the instances placed, Instance Manager supports a change to the value.</entry><entry align="left" nameend="3" namest="3">Oh yeah</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">keyValue</entry><entry align="left" nameend="2" namest="2">Keyvalue is used to indicate that the host is set in the specific range. Instance Manager identifies the object instances using the set in the path, and detects the collision with the existing instance</entry><entry align="left" nameend="3" namest="3">lie</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Secure</entry><entry align="left" nameend="2" namest="2">The secure property for setting the value of the set encrypted when stored in the SDM document (true or false) should be specified. In addition, the tool for operations, such as indicating whether the installation should log this value.</entry><entry align="left" nameend="3" namest="3">lie</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">nillable</entry><entry align="left" nameend="2" namest="2">Nillable attribute set is the name of the place<u>http: www.w3.org/2002/XMLSchema-instance</u>From the namespace - Is the property<u>xsi: nil</u>If you pass, valid setting value is displayed</entry><entry align="left" nameend="3" namest="3">lie</entry></row></tbody></tgroup></table></tables></p><p num="369"><b>3.2.6 Setting values</b></p><p num="370">Depending on whether the set is declared as a single value, or if the list of declared, the value for the setting can be provided using the set value or set value list element element. </p><p num="371"><b>3.2.6.1 setpoint</b></p><p num="372">The setpoint is used to provide a value for a particular setting declaration. The value must match the definitions relating to the declaration. If the value is declared fixed, provided value will be used in all derived definitions or a reference member, the value depends on a fixed point. If the value is fixed override (override) can not be.</p><p num="373"><img id="58" file="112004009345357-pat00058.tif" wi="124" he="36" img-format="tif" /></p><p num="374"><tables id="12"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="1440" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="9240" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">name</entry><entry align="left" nameend="2" namest="2">The name of the declared value is set to be applied</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">fixed</entry><entry align="left" nameend="2" namest="2">Fixed (fixed) attribute controls whether the value provided can subsequently be overridden by new values. Fixed value of true indicates that the value provided for the setting can not be overridden. If the fixed value to the set value of the true specific definition member, and is fixed in all deployments of that member. Otherwise, if a fixed value is false, it is possible to override each deployment of that member. If the fixed value to the set value of the true specific definition, all members of that concrete definition is fixed to (use). Otherwise, if the value of fixed is false, it can be changed to the specific definition of each member (i.e., use). If the fixed value of true for the abstract definition's setting value, it is fixed for concrete definitions that implement or abstract objects that extend that abstract definition. Otherwise, if a fixed value is false, the derived abstract definition or in a member declaration may be overridden by a concrete definition.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Nil</entry><entry align="left" nameend="2" namest="2">Finally, the property has the value true<u>xsl: nil</u> A Having, the set value is considered valid without content. The label element be empty, but, when allowed by the definition set may have attributes.</entry></row></tbody></tgroup></table></tables></p><p num="375"><b>3.2.6.2 setting value list</b></p><p num="376">The setting value list is used to provide one or more values for a setting declared as a list. When declaring the values the user can decide to merge with previous values or writing redundant any previous value.</p><p num="377"><img id="59" file="112004009345357-pat00059.tif" wi="124" he="58" img-format="tif" /></p><p num="378"><tables id="13"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="1440" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="9240" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">name</entry><entry align="left" nameend="2" namest="2">The name of the declared value is set to be applied</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">fixed</entry><entry align="left" nameend="2" namest="2">Fixed (fixed) attribute controls whether the value provided can subsequently be overridden by new values. Fixed value of true indicates that the value provided for the setting can not be overridden. If the fixed value to the set value of the true specific definition member, and is fixed in all deployments of that member. Otherwise, if a fixed value is false, it is possible to override each deployment of that member. If the fixed value to the set value of the true specific definition, all members of that concrete definition is fixed to (use). Otherwise, if the value of fixed is false, it can be changed to the specific definition of each member (i.e., use). If the fixed value of true for the abstract definition's setting value, it is fixed for concrete definitions that implement or abstract objects that extend that abstract definition. Otherwise, if a fixed value is false, the derived abstract definition or in a member declaration may be overridden by a concrete definition.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">replace</entry><entry align="left" nameend="2" namest="2">Replacing (replace) attribute is used to indicate whether to replace or merge with previous non-fixed values for setting a new value for the setting. If the alternative is true, all the values of the previous will be ignored. If the alternative is false, then the new and the previous values will be combined into a single list. Duplication will not be detected during the merge process.</entry></row></tbody></tgroup></table></tables></p><p num="379"><b>3.2.7 Settings Inheritance (Setting Inheritance)</b></p><p num="380">Settings inheritance means that a derived definition implicitly contains all the settings declarations from the base definition. Any relevant form of inheritance settings are as follows.</p><p num="381"><img id="60" file="112004009345357-pat00060.tif" wi="5" he="5" img-format="tif" />Setting inheritance is going to move (transitive). If C is derived from B, and B is derived from A, C inherits the settings declared in the set A is declared in B as well.</p><p num="382"><img id="61" file="112004009345357-pat00061.tif" wi="5" he="5" img-format="tif" />Derived definition can add new settings declarations to be inherited from the base definition. This extension, however, can not remove the definition of an inherited setting.</p><p num="383"><b>3.2.8 Type Conversion</b></p><p num="384">We support lossless conversions between the built in types. Other type conversions require flow in order to execute the appropriate conversions.</p><p num="385"><b>3.3 Properties</b></p><p num="386">A plurality of objects in the SDM can result orthogonal to capture the behavior to the behavior of the object core (Core). We use a general property model defined as follows:</p><p num="387"><b>3.4 Definition and members</b></p><p num="388"><b>3.4.1 Definition</b></p><p num="389">The definition of objects, relations, and the flow definition is derived base is limited. All definitions can include a settings schema, and design to the surface data. Each definition is identified by a simple name and references a manager. The manager provides the enhanced support to the SDM runtime for this particular definition.</p><p num="390">Sets schema defines the values that can be found on an instance of this definition. DesignData element is used to contain the particular person to the definition of the data display and editing in the design surface.</p><p num="391"><img id="62" file="112004009345357-pat00062.tif" wi="118" he="55" img-format="tif" /></p><p num="392"><tables id="14"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2809" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="7872" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">SettingDeclaration</entry><entry align="left" nameend="2" namest="2">Declaration of the setting</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">SettingValue</entry><entry align="left" nameend="2" namest="2">Settings or values for the basic definition of the definition. This value can be provided once for a setting declaration within the definition.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">SettingValueList</entry><entry align="left" nameend="2" namest="2">Defined or a list of values for a list of available settings recorded on the basic definition</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">DesignData</entry><entry align="left" nameend="2" namest="2">Design surface specific data</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">name</entry><entry align="left" nameend="2" namest="2">Name for this definition that is unique within the scope of the sdm file containing</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Manager</entry><entry align="left" nameend="2" namest="2">Reference to the manager declaration for this definition. Section for the definition of a manager: 3.10 See</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">CirClassName</entry><entry align="left" nameend="2" namest="2">Clr name of the class that supports the definitions in the runtime. The class should exist in the assembly identified by the manager. If this is granted, the property manager should be granted.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Description</entry><entry align="left" nameend="2" namest="2">Text description of defined</entry></row></tbody></tgroup></table></tables></p><p num="393"><b>3.4.2 Members</b></p><p num="394">Members are used to identify definition instances that can exist at runtime. All members are identified by a unique name within the scope of the type, the member can provide the settings for the information referenced may include a design surface specific data.</p><p num="395"><img id="63" file="112004009345357-pat00063.tif" wi="120" he="46" img-format="tif" /></p><p num="396"><tables id="15"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2340" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8340" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Description</entry><entry align="left" nameend="2" namest="2">Description of members</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">DesignData</entry><entry align="left" nameend="2" namest="2">Design surface specific information about the member</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">SettingValue</entry><entry align="left" nameend="2" namest="2">The value of the set corresponding to the recording setting of the referenced type. If these values are fixed to the mark, and the value to be used when an instance is created for the member, if the value is not fixed, the values can be overridden by deployment or flow parameters.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">SettingValueList</entry><entry align="left" nameend="2" namest="2">The list of values can be set for recording on the referenced type</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Name</entry><entry align="left" nameend="2" namest="2">Including a unique name for the type of member within range</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Definition</entry><entry align="left" nameend="2" namest="2">The members that are referenced by the name of justice</entry></row></tbody></tgroup></table></tables></p><p num="397"><b>3.5 Setting the flow</b></p><p num="398">Setting the flow between members of an object definition, and is used to pass parameters between the participants in a relationship. As part of the flow, the user can join or separate the set value by means of conversion (transformation) and calculates a new set value.</p><p num="399">All settings flow members use a flow implements a conversion definition. The flow definition is declared in the sdm file. The following is a flow another mouth to parse the url (parse).</p><p num="400"><img id="64" file="112004009345357-pat00064.tif" wi="111" he="28" img-format="tif" /></p><p num="401">The flow member is then declared within an object or relationship. Flow member provides the input for the flow definition and then sends the output from the flow to the target settings.</p><p num="402"><img id="65" file="112004009345357-pat00065.tif" wi="86" he="17" img-format="tif" /></p><p num="403"><b>3.5.1 Flow Definition</b></p><p num="404">We use a flow definition to define a particular transform that we wish to apply to a set of setting values. Flow definition input settings (write-only settings) and the output set (the read-only settings) setting scheme, the design data section and the sdm file for the design surface specific information such as an input interface for defining the transform browsing defining the (browsing) to It is exposed for use in explanation. The flow definition is identified by name within the namespace in which it is defined. Definition also identifies a manager that supports the runtime when it evaluates the flow.</p><p num="405">We order to simplify the linear transformation (straightforward transformations), the configuration of the flow elements is required, the run-time expected to include several standard flow definition. Example may include copy, merge and string substitution (substitution). Since flow definition can be parameterized, we also expect that the conversion is a simple one for performing a different action based on the configuration parameters.</p><p num="406"><img id="66" file="112004009345357-pat00066.tif" wi="65" he="21" img-format="tif" /></p><p num="407"><b>3.5.2 Flow Members</b></p><p num="408">Each flow element identifies one or more source nodes, one or more destination nodes, any static settings and a flow definition, the flow is evaluated, source data is combined with the setting from the collection and flow elements from the source node to transform It is passed to the flow definition for. The output data is transmitted to the defined nodes.</p><p num="409">Re-evaluation of the flow will be triggered whenever one of the source values changes. For this reason, we need to avoid circular flows that flip-flop value. If the value is kept constant, the loop will terminate. The runtime will detect and terminate infinite loops while keeping track of the stack depth.</p><p num="410"><img id="67" file="112004009345357-pat00067.tif" wi="99" he="41" img-format="tif" /></p><p num="411"><tables id="16"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="1534" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="9147" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">input</entry><entry align="left" nameend="2" namest="2">The list of paths to setting values that are used as input to the flow. Each input should identify a write only setting on the flow definition on.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">output</entry><entry align="left" nameend="2" namest="2">A list of the path of the set to be set as a result of this flow. Each output should identify a read only setting on the flow definition on.</entry></row></tbody></tgroup></table></tables></p><p num="412"><b>3.5.3 Setting targets</b></p><p num="413">Sets the path to the target is identified in the associated set value in a member or nested member of the well known name in the context of the flow is defined. Examples of well-known names include target defined within the host and guest, or limiting declarations in this, hosting relationship defined or declared in the standard declaration. The setting target also identifies the setting on the associated flow definition to be used as a source or destination setting value of the setting identified by the path.</p><p num="414"><img id="68" file="112004009345357-pat00068.tif" wi="81" he="17" img-format="tif" /></p><p num="415"><tables id="17"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="1365" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="9315" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Name</entry><entry align="left" nameend="2" namest="2">The name of the setting on the flow or the source or destination of the setting identified by the limits defined path</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Path</entry><entry align="left" nameend="2" namest="2">Setting the path to the source or the destination associated with the flow is defined context. The path should identify a single setting. - This means that the maximum cardinality of all the members on the path (cardinality) is a 1 or a 0 to be.</entry></row></tbody></tgroup></table></tables></p><p num="416">Output path is a parameter for setting a target that supports the semantics for fixing and replacing the target values.</p><p num="417"><img id="69" file="112004009345357-pat00069.tif" wi="116" he="33" img-format="tif" /></p><p num="418"><tables id="18"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="1422" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="9259" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Fix</entry><entry align="left" nameend="2" namest="2">This will declare the target value to be fixed. This means that any attempt to change the value of a subsequent occurrence of the error.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Replace</entry><entry align="left" nameend="2" namest="2">When a list is the target of the path, we can choose to merge or replace the current contents of the list. The default behavior is to merge with the current contents.</entry></row></tbody></tgroup></table></tables></p><p num="419"><b>3.6 Limit Setting (Settings Constraints)</b></p><p num="420">It is used to identify the only limitation for the participants in the setting value or the relationship between the members of the definition. These limitation are evaluated in the instance space at design time and deployment time.</p><p num="421">Any set limit to assess the set value with the defined limits. Limit defined by using the settings declarations to identify the values of limiting it. The following restrictions definition implements a simple comparison function that takes two arguments (argument) and the operator, then evaluates the limit, and finally returns success or error.</p><p num="422"><img id="70" file="112004009345357-pat00070.tif" wi="111" he="21" img-format="tif" /></p><p num="423">The limiting member is used to provide a value to limit the type of the evaluation.</p><p num="424"><img id="71" file="112004009345357-pat00071.tif" wi="120" he="22" img-format="tif" /></p><p num="425"><b>3.6.1 Defining limits</b></p><p num="426">Limited definition defines the limits of motion to the set of input values. Limits are parameterized with respect to the support can be a simple limit engine that defines the behavior of a customer behavior, select or use a parameter. We have a set of standard constraint definitions are written to the set of simple parameter value limits and the complex is expected to support the ball limiting grounded relationship between abstract objects.</p><p num="427"><img id="72" file="112004009345357-pat00072.tif" wi="74" he="20" img-format="tif" /></p><p num="428"><b>3.6.2 limiting members</b></p><p num="429">Limiting member identifies a set of input values for a specific limited definition. Member can identify static values for the set value, it is possible to combine the limit set on the path using the input statement.</p><p num="430"><img id="73" file="112004009345357-pat00073.tif" wi="99" he="36" img-format="tif" /></p><p num="431"><tables id="19"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="1403" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="9278" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">input</entry><entry align="left" nameend="2" namest="2">The input list to the limit. Input identifies a path to the limits set to the setting value to be set as the source and the result is passed to the limit. My source definition and set limits set must be compatible.</entry></row></tbody></tgroup></table></tables></p><p num="432"><b>3.7 System endpoints and resource definition</b></p><p num="433">This section describes the schema for abstract and concrete object definitions.</p><p num="434">Abstract object definition denotes a set of setting declarations, can contain a limit on the relationships they participate, has an associated manager in the runtime.</p><p num="435">The following is an abstract system definition for a web server. The web server has a relationship constraint that requires jimyeo the two sets comprising at least the vsite type.</p><p num="436"><img id="74" file="112004009345357-pat00074.tif" wi="110" he="59" img-format="tif" /></p><p num="437">vsite is an abstract endpoint definition that contains server binding information.</p><p num="438"><img id="75" file="112004009345357-pat00075.tif" wi="117" he="25" img-format="tif" /></p><p num="439">Concrete system definition for a web server to identify the front-end web server category as static content, contains a single byReference endpoint is to express the endpoint instance between 1 and 100. Specific endpoint for the endpoint is nested inside the system definition defines the end point for the end point 80 that vsite.</p><p num="440"><img id="76" file="112004009345357-pat00076.tif" wi="162" he="28" img-format="tif" /></p><p num="441"><b>3.7.1 Object definition</b></p><p num="442">Abstract and concrete object extend the following base object definition is. In addition to the elements of the base type Definition, and that share the ability to limit the related object involved.</p><p num="443"><img id="77" file="112004009345357-pat00077.tif" wi="159" he="44" img-format="tif" /></p><p num="444"><tables id="20"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="3765" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="6915" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Flow</entry><entry align="left" nameend="2" namest="2">Members declared flow</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">RelationshipConstraint</entry><entry align="left" nameend="2" namest="2">Limited to these types can participate in the relationship</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">RelationshipConstraintGroup</entry><entry align="left" nameend="2" namest="2">Limited to these types can participate in the relationship</entry></row></tbody></tgroup></table></tables></p><p num="445"><b>3.7.2 abstract object definition</b></p><p num="446">Abstract object definitions are designed surface exposed and is used to define the building blocks that all the concrete object derived: a concrete object definition should implement an abstract object definition.</p><p num="447">Abstract object definitions extend SDM object by adding simple inheritance of: extends attribute is used to identify a base object definition for an abstract object definition. Abstract object definition then inherits the settings and relationship limits from a base object definition. Through inheritance, the object definition can extend the settings and restrictions of the abstract object definition by adding new settings and constraints.</p><p num="448">Abstract object definitions can also add restrictions on the relationships that they wish to participate. For example, an abstract object definition may require the existence of certain relationships, may limit the object definitions that may be placed on the other end of the relationship, it is possible to restrict the set of instances that participate in a given relationship .</p><p num="449"><b>3.7.2.1 abstract object definition</b></p><p num="450">All abstract objects can identify the desired layer to be they related. If this is not provided, it is assumed that the object definition can be used in any layer. Abstract object definitions can identify a base object definition for their extension, in any case, inherit the settings and constraints of that object definition and a base object definition that may be replaced for the base object definition in the relationships involved.</p><p num="451"><img id="78" file="112004009345357-pat00078.tif" wi="121" he="34" img-format="tif" /></p><p num="452"><tables id="21"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="1384" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="9297" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">layer</entry><entry align="left" nameend="2" namest="2">Layer (layer) attribute identifies the layer that can be used is an abstract object definition. If this is not provided, the abstract object definition can be used at any layer.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">extends</entry><entry align="left" nameend="2" namest="2">Identifies the abstract object definition that this object definition derives</entry></row></tbody></tgroup></table></tables></p><p num="453"><b>3.7.2.2 Abstract endpoint, system and resource object definitions</b></p><p num="454">SDM 3 gaji classification of abstract objects defined in the model - that is, the abstract endpoint definitions and abstract abstract system definition resources are defined. Each of these is a simple rename of abstract object definition.</p><p num="455"><img id="79" file="112004009345357-pat00079.tif" wi="96" he="72" img-format="tif" /></p><p num="456">Endpoint definitions represent communication endpoints. The settings for the end-point is associated with its use in the binding process. For example, a client server protocol, server endpoint definitions use the settings schema to identify settings that need to be coupled to the endpoint, client endpoint definitions expose client specific connection attributes.</p><p num="457">System definitions are used to represent collections of data, software or hardware elements. Examples include web services, databases and switches. Resource definitions are used to capture specific elements that can be identified as part of a system definition.</p><p num="458"><b>3.7.3 implicit base definition (Implicit base definitions)</b></p><p num="459">All abstract object definitions and do not extend another abstract object definition is extended as shown in Figure 13, the endpoint, system or resource base definitions of either implicitly. These base definitions form a root for each of the trees that can be used in the relationship declaration and limited. This is to show that it can be used in place of the route defined, derived from any type of the identified root causes in relation or limitation. These root types are always abstract and can not be demonstrated directly.</p><p num="460">Definitions of these types include base constraints that control the demonstration in the model. They can be searched at System.sdm.</p><p num="461"><b>3.7.4 Specific Object Definitions</b></p><p num="462">Concrete object definition provides an implementation for an abstract object definition. Implementation object and relationship members, values for the settings of implemented abstract definition, new settings declarations, consists of a restriction for the flow, and a member between the members.</p><p num="463">Concrete definitions can also contain declarations of nested definitions. These definitions can be used for members within the scope of the containing definitions it may be referenced in the other extent of the defined limits.</p><p num="464"><b>3.7.4.1 base concrete object definition</b></p><p num="465">Base concrete type of object definition, inheriting setting declarations, design data, an optional manager reference, a name, it is limited to the to join relation, the flow between the ability to provide values for the set of abstract definitions and the setting and the setting of its members the ability to expand the description. More specifically defined it is then added to the ability to identify the abstract definition that implements and several optional attributes add the ability to coarse Thomas rise on bonding behavior of the definition.</p><p num="466"><img id="80" file="112004009345357-pat00080.tif" wi="126" he="30" img-format="tif" /></p><p num="467"><tables id="22"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="1609" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="9072" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Implements</entry><entry align="left" nameend="2" namest="2">Identifies the abstract type that this concrete type implements</entry></row></tbody></tgroup></table></tables></p><p num="468"><b>3.7.4.2 Object Members</b></p><p num="469">Members abstract or concrete objects should refer to the object definition. The object members may represent an array of instances to define the upper and lower bounds for the array in some cases. If the object member is a reference member, the user to demonstrate the object should explicitly construct an instance for the member. The reference member or members of the object, the runtime will create an instance at the same time as the outer object is created.</p><p num="470"><img id="81" file="112004009345357-pat00081.tif" wi="121" he="36" img-format="tif" /></p><p num="471"><tables id="23"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="1684" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8997" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">MinOccurs</entry><entry align="left" nameend="2" namest="2">The lower limit for the number of instances associated with this member. If the lower limit is 0, the number is optional. The default is 1.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">MaxOccurs</entry><entry align="left" nameend="2" namest="2">The upper limit for the number of instances associated with this member. It must be greater than 1. The default is 1.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">IsReference</entry><entry align="left" nameend="2" namest="2">If the value is true, the instance associated with the member to be created explicitly by the operator or be referenced in another type. If the value is false, the instance is created when the type is created.</entry></row></tbody></tgroup></table></tables></p><p num="472">in the sdm model we need to differentiate members that are created when the parent is constructed and destroyed when the parent is destroyed with the members, may have an independent life from their parents. We use IsReference properties for this purpose. on the basis of the new is used to create an instance is similar to the stack-based, and pile (heap) C ++ declarations that allow the base configuration. If a member is marked as IsReference, an explicit new operation is required on the part of the operator to create an instance and associate members with him.</p><p num="473">There are a number of reasons for doing this.</p><p num="474">1. When the operator has to configure the system, we expose the ability to configure the isReference member. This greatly simplifies the operator experience greatly.</p><p num="475">2. When we process an sdm document to, the instance space of the document have a clear border can be changed from the concrete definition space.</p><p num="476"><b>Members 3.7.4.3 Relationship (Relationship Member)</b></p><p num="477">Relationship members identify the relationships should exist between object members when it is created. Relationship instances are created explicitly by the operator or implicitly created by runtime. Examples of the former is hosting relationships between instances, the latter is a relationship between the communication systems. </p><p num="478"><img id="82" file="112004009345357-pat00082.tif" wi="77" he="25" img-format="tif" /></p><p num="479"><b>3.7.4.3.1 Hosting Member</b></p><p num="480">Host members are used to declare a hosting relationship between two object members. Objects can be either direct members, including a member having a defined (direct member), it may be nested members with a membership relationship. The membership should include defining the chain between the reference member.</p><p num="481"><img id="83" file="112004009345357-pat00083.tif" wi="117" he="32" img-format="tif" /></p><p num="482"><tables id="24"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="1647" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="9034" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">GuestMember</entry><entry align="left" nameend="2" namest="2">Identifying a member having a definition compatible with the guest of the relationship. The members may be nested.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">HostMember</entry><entry align="left" nameend="2" namest="2">Identifying a member having a host compatible with the definition of the relationship. The members may be nested.</entry></row></tbody></tgroup></table></tables></p><p num="483"><b>3.7.4.3.2 Communications Members</b></p><p num="484">A communication member is used to declare a communication relationship between endpoint members of the intermediate member of the defined system.</p><p num="485"><img id="84" file="112004009345357-pat00084.tif" wi="117" he="32" img-format="tif" /></p><p num="486"><tables id="25"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="1815" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8865" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">ClientMember</entry><entry align="left" nameend="2" namest="2">Identifying an endpoint member that has a definition compatible with the client definition of the relationship. Endpoint member should be a member of the intermediate member of the defined system.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">ServerMember</entry><entry align="left" nameend="2" namest="2">Identify the relationship between the server and endpoint definition member that has a compatible definition. Endpoint member should be a member of the intermediate member of the defined system.</entry></row></tbody></tgroup></table></tables></p><p num="487"><b>3.7.4.3.3 including members</b></p><p num="488">It includes a member is used to declare that a type member is contained by the type. Each type member can be included, or delegate. Includes members of the parent value of the containment relationship to be set to the "this" pointer to the relationship automatically. </p><p num="489"><img id="85" file="112004009345357-pat00085.tif" wi="115" he="30" img-format="tif" /></p><p num="490"><tables id="26"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="1647" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="9034" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">ChildMember</entry><entry align="left" nameend="2" namest="2">Identifying the adjacent objects to be included by the parent member</entry></row></tbody></tgroup></table></tables></p><p num="491"><b>3.7.4.3.4 delegation members</b></p><p num="492">Delegation member is used to set up a delegation relationship between an endpoint definition member on an endpoint definition member and the outer type of the adjacent machine member for the outer type.</p><p num="493"><img id="86" file="112004009345357-pat00086.tif" wi="121" he="32" img-format="tif" /></p><p num="494"><tables id="27"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2078" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8603" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">ProxyMember</entry><entry align="left" nameend="2" namest="2">Proxy identifies a neighboring endpoint member on the system that does not have a containment relationship to the system. Definition of the member should match the definition of the proxy on the delegation relationship.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">DelegateMember</entry><entry align="left" nameend="2" namest="2">Delegate identifies an endpoint member on the type of the adjacent members. Type of the endpoint member should match the delegate type on the delegation relationship on.</entry></row></tbody></tgroup></table></tables></p><p num="495"><b>3.7.4.3.5 see members</b></p><p num="496">Reference member is used to set up the two adjacent or nested relationship between the external reference system.</p><p num="497"><img id="87" file="112004009345357-pat00087.tif" wi="121" he="36" img-format="tif" /></p><p num="498"><tables id="28"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2153" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8528" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">dependentMember</entry><entry align="left" nameend="2" namest="2">Object member that depends on the source member. It must be consistent with the definition of the dependent object in the reference relationship.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">sourceMember</entry><entry align="left" nameend="2" namest="2">The source object members. It must be consistent with the definition of the source object in the reference member.</entry></row></tbody></tgroup></table></tables></p><p num="499"><b>3.7.4.4 endpoint definition</b></p><p num="500">Endpoint definitions extend the base object definition by adding the ability to declare nested resource types, resource members and host, and including a reference relationship members.</p><p num="501"><img id="88" file="112004009345357-pat00088.tif" wi="127" he="52" img-format="tif" /></p><p num="502"><tables id="29"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2622" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8059" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">ResourceDefinition</entry><entry align="left" nameend="2" namest="2">Nested resource definition that can be used by type members within the scope of the outer type definition</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Resource</entry><entry align="left" nameend="2" namest="2">Center member declaration that references a resource type</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Hosting</entry><entry align="left" nameend="2" namest="2">Hosted relationship member declaration</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Containment</entry><entry align="left" nameend="2" namest="2">Including the relationship member declaration</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Reference</entry><entry align="left" nameend="2" namest="2">See related member declaration</entry></row></tbody></tgroup></table></tables></p><p num="503"><b>3.7.4.5 Service definition</b></p><p num="504">System type is nested endpoint, system and resource types; By endpoint, system, and resource members and host, including the connection, additional support for delegation and reference relationships extends the base type.</p><p num="505"><img id="89" file="112004009345357-pat00089.tif" wi="129" he="75" img-format="tif" /></p><p num="506"><tables id="30"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2640" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8040" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">EndpointDefinition</entry><entry align="left" nameend="2" namest="2">Nested endpoint definition that can be used by members within the scope of the outer service definition</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">ResourceDefinition</entry><entry align="left" nameend="2" namest="2">Nested resource definition that can be used by type members within the scope of the outer type definition</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">SystemDefinition</entry><entry align="left" nameend="2" namest="2">Nested system definition that can be used by members within the scope of the outer system definition</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Endpoint</entry><entry align="left" nameend="2" namest="2">Endpoint member declaration that references an endpoint definition</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Subsystem</entry><entry align="left" nameend="2" namest="2">Declaration of subsystem members to refer to the system definition</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Resource</entry><entry align="left" nameend="2" namest="2">Center member declaration that references a resource definition</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Containment</entry><entry align="left" nameend="2" namest="2">Including the relationship member declaration</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Hosting</entry><entry align="left" nameend="2" namest="2">Hosted relationship member declaration</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Connection</entry><entry align="left" nameend="2" namest="2">Connection between member declaration</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Delegation</entry><entry align="left" nameend="2" namest="2">Delegation relationship member declaration</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Reference</entry><entry align="left" nameend="2" namest="2">See related member declaration</entry></row></tbody></tgroup></table></tables></p><p num="507"><b>3.7.4.6 Resource Definition</b></p><p num="508">Resource types may include nested resource type definitions, resource members, and host, and including a reference relationship members.</p><p num="509"><img id="90" file="112004009345357-pat00090.tif" wi="127" he="52" img-format="tif" /></p><p num="510"><tables id="31"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2547" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8134" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">ResourceDefinition</entry><entry align="left" nameend="2" namest="2">Nested resource definition that can be used by members within the scope of the outer resource definition</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Resource</entry><entry align="left" nameend="2" namest="2">Center member declaration that references a resource definition</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Hosting</entry><entry align="left" nameend="2" namest="2">Hosted relationship member declaration</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Containment</entry><entry align="left" nameend="2" namest="2">Including the relationship member declaration</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Reference</entry><entry align="left" nameend="2" namest="2">See related member declaration</entry></row></tbody></tgroup></table></tables></p><p num="511"><b>3.7.4.7 Relationship Rules</b></p><p num="512">For a particular instance of an object definition the following tables identify the cardinality (cardinality) associated with each of the roles that the instance. </p><p num="513"><b>3.7.4.7.1 System Rules</b></p><p num="514"><tables id="32"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="5" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2137" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="2137" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="3" colnum="3" colsep="0" colwidth="2137" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="4" colnum="4" colsep="0" colwidth="2137" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="5" colnum="5" colsep="0" colwidth="2137" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Justice</entry><entry align="left" nameend="2" namest="2">role</entry><entry align="left" nameend="3" namest="3">system</entry><entry align="left" nameend="4" namest="4">Endpoints</entry><entry align="left" nameend="5" namest="5">Resources</entry></row><row rowsep="0" valign="middle"><entry align="left" morerows="9" nameend="1" namest="1">System</entry><entry align="left" nameend="2" namest="2">Parent (0 ... *)</entry><entry align="left" nameend="3" namest="3">Including (Contains)</entry><entry align="left" nameend="4" namest="4">include</entry><entry align="left" nameend="5" namest="5">include</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Member (1 ... 1)</entry><entry align="left" nameend="3" namest="3">ContainedBy</entry><entry align="left" nameend="4" namest="4">Not acceptable</entry><entry align="left" nameend="5" namest="5">Not acceptable</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Proxy (0 ... *)</entry><entry align="left" nameend="3" namest="3">Not acceptable</entry><entry align="left" nameend="4" namest="4">Not acceptable</entry><entry align="left" nameend="5" namest="5">Not acceptable</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Delegae (0 ... *)</entry><entry align="left" nameend="3" namest="3">Not acceptable</entry><entry align="left" nameend="4" namest="4">Not acceptable</entry><entry align="left" nameend="5" namest="5">Not acceptable</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Client (0 ... *)</entry><entry align="left" nameend="3" namest="3">Not acceptable</entry><entry align="left" nameend="4" namest="4">Not acceptable</entry><entry align="left" nameend="5" namest="5">Not acceptable</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Server (0 .. *)</entry><entry align="left" nameend="3" namest="3">Not acceptable</entry><entry align="left" nameend="4" namest="4">Not acceptable</entry><entry align="left" nameend="5" namest="5">Not acceptable</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Guest (1..1)</entry><entry align="left" nameend="3" namest="3">HostedBy</entry><entry align="left" nameend="4" namest="4">HostedBy (??)</entry><entry align="left" nameend="5" namest="5">HostedBy</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Host (0 .. *)</entry><entry align="left" nameend="3" namest="3">Hosts (Hosts)</entry><entry align="left" nameend="4" namest="4">Hosts</entry><entry align="left" nameend="5" namest="5">Hosts</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Source (0 .. *)</entry><entry align="left" nameend="3" namest="3">Offer (Provides)</entry><entry align="left" nameend="4" namest="4">Not acceptable</entry><entry align="left" nameend="5" namest="5">Not acceptable</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Dependent (0 .. *)</entry><entry align="left" nameend="3" namest="3">Consumption (Consumes)</entry><entry align="left" nameend="4" namest="4">Not acceptable</entry><entry align="left" nameend="5" namest="5">Not acceptable</entry></row></tbody></tgroup></table></tables></p><p num="515"><b>3.7.4.7.2 endpoint Rules</b></p><p num="516"><tables id="33"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="5" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="1818" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="2268" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="3" colnum="3" colsep="0" colwidth="1874" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="4" colnum="4" colsep="0" colwidth="2587" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="5" colnum="5" colsep="0" colwidth="2137" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1" /><entry align="left" nameend="2" namest="2">role</entry><entry align="left" nameend="3" namest="3">system</entry><entry align="left" nameend="4" namest="4">Endpoints</entry><entry align="left" nameend="5" namest="5">Resources</entry></row><row rowsep="0" valign="middle"><entry align="left" morerows="9" nameend="1" namest="1">Endpoint</entry><entry align="left" nameend="2" namest="2">Parent (0 ... *)</entry><entry align="left" nameend="3" namest="3">Not acceptable</entry><entry align="left" nameend="4" namest="4">Not acceptable</entry><entry align="left" nameend="5" namest="5">include</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Member (1 ... 1)</entry><entry align="left" nameend="3" namest="3">ContainedBy</entry><entry align="left" nameend="4" namest="4">Not acceptable</entry><entry align="left" nameend="5" namest="5">Not acceptable</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Proxy (0 ... *)</entry><entry align="left" nameend="3" namest="3">Not acceptable</entry><entry align="left" nameend="4" namest="4">DelegateTo</entry><entry align="left" nameend="5" namest="5">Not acceptable</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Delegae (0 ... *)</entry><entry align="left" nameend="3" namest="3">Not acceptable</entry><entry align="left" nameend="4" namest="4">Implementation (Implements)</entry><entry align="left" nameend="5" namest="5">Not acceptable</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Client (0 ... *)</entry><entry align="left" nameend="3" namest="3">Not acceptable</entry><entry align="left" nameend="4" namest="4">ConnectsTo</entry><entry align="left" nameend="5" namest="5">Not acceptable</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Server (0 .. *)</entry><entry align="left" nameend="3" namest="3">Not acceptable</entry><entry align="left" nameend="4" namest="4">ProvidesService</entry><entry align="left" nameend="5" namest="5">Not acceptable</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Guest (1..1)</entry><entry align="left" nameend="3" namest="3">HostedBy</entry><entry align="left" nameend="4" namest="4">HostedBy</entry><entry align="left" nameend="5" namest="5">HostedBy</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Host (0 .. *)</entry><entry align="left" nameend="3" namest="3">Hosts (Hosts)</entry><entry align="left" nameend="4" namest="4">Hosts</entry><entry align="left" nameend="5" namest="5">Hosts</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Source (0 .. *)</entry><entry align="left" nameend="3" namest="3">Not acceptable</entry><entry align="left" nameend="4" namest="4">offer</entry><entry align="left" nameend="5" namest="5">offer</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Dependent (0 .. *)</entry><entry align="left" nameend="3" namest="3">Not acceptable</entry><entry align="left" nameend="4" namest="4">consumption</entry><entry align="left" nameend="5" namest="5">consumption</entry></row></tbody></tgroup></table></tables></p><p num="517"><b>3.7.4.7.3 Resources Rules</b></p><p num="518"><tables id="34"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="5" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="1818" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="2268" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="3" colnum="3" colsep="0" colwidth="1874" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="4" colnum="4" colsep="0" colwidth="2587" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="5" colnum="5" colsep="0" colwidth="2137" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1" /><entry align="left" nameend="2" namest="2">role</entry><entry align="left" nameend="3" namest="3">system</entry><entry align="left" nameend="4" namest="4">Endpoints</entry><entry align="left" nameend="5" namest="5">Resources</entry></row><row rowsep="0" valign="middle"><entry align="left" morerows="9" nameend="1" namest="1">Resource</entry><entry align="left" nameend="2" namest="2">Parent (0 ... *)</entry><entry align="left" nameend="3" namest="3">Not acceptable</entry><entry align="left" nameend="4" namest="4">Not acceptable</entry><entry align="left" nameend="5" namest="5">include</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Member (1 ... 1)</entry><entry align="left" nameend="3" namest="3">ContainedBy</entry><entry align="left" nameend="4" namest="4">ContainedBy</entry><entry align="left" nameend="5" namest="5">ContainedBy</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Proxy (0 ... *)</entry><entry align="left" nameend="3" namest="3">Not acceptable</entry><entry align="left" nameend="4" namest="4">Not acceptable</entry><entry align="left" nameend="5" namest="5">Not acceptable</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Delegae (0 ... *)</entry><entry align="left" nameend="3" namest="3">Not acceptable</entry><entry align="left" nameend="4" namest="4">Not acceptable</entry><entry align="left" nameend="5" namest="5">Not acceptable</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Client (0 ... *)</entry><entry align="left" nameend="3" namest="3">Not acceptable</entry><entry align="left" nameend="4" namest="4">Not acceptable</entry><entry align="left" nameend="5" namest="5">Not acceptable</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Server (0 .. *)</entry><entry align="left" nameend="3" namest="3">Not acceptable</entry><entry align="left" nameend="4" namest="4">Not acceptable</entry><entry align="left" nameend="5" namest="5">Not acceptable</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Guest (1..1)</entry><entry align="left" nameend="3" namest="3">HostedBy</entry><entry align="left" nameend="4" namest="4">HostedBy</entry><entry align="left" nameend="5" namest="5">HostedBy</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Host (0 .. *)</entry><entry align="left" nameend="3" namest="3">Hosts (Hosts)</entry><entry align="left" nameend="4" namest="4">Hosts</entry><entry align="left" nameend="5" namest="5">Hosts</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Source (0 .. *)</entry><entry align="left" nameend="3" namest="3">Not acceptable</entry><entry align="left" nameend="4" namest="4">offer</entry><entry align="left" nameend="5" namest="5">offer</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="2" namest="2">Dependent (0 .. *)</entry><entry align="left" nameend="3" namest="3">Not acceptable</entry><entry align="left" nameend="4" namest="4">consumption</entry><entry align="left" nameend="5" namest="5">consumption</entry></row></tbody></tgroup></table></tables></p><p num="519"><b>3.7.4.7.4 care</b></p><p num="520">All instances must be properly involved more than one hosting relationship with one of containment.</p><p num="521">This means the following.</p><p num="522">A) it should be included identifying the relationship between the non-reference members.</p><p num="523">B) to be configured, the reference member should identify a containment relationship is. </p><p num="524">C) having no reference member including relationship can only delegate to other members.</p><p num="525"><b>3.8 Relations</b></p><p num="526">Relationships are used to identify possible interactions between types. The relationship is a binary command, and identifies the type of the instances that can participate in the respective relationship. Relationship may also include a set number of instances that participate in the relationship and the flow setting values across the relationship.</p><p num="527">The following is a possible hosting relationship for a web application to a web server described in the section type. Relationship comprises a limit to verify that the security models of the two systems are compatible, a settings flow member that copies the server name from vdir vsite.</p><p num="528"><img id="91" file="112004009345357-pat00091.tif" wi="139" he="63" img-format="tif" /></p><p num="529">Relationship is used by declaring a relationship member that identifies the type of members to participate in the relationship.</p><p num="530"><img id="92" file="112004009345357-pat00092.tif" wi="138" he="23" img-format="tif" /></p><p num="531"><b>3.8.1 Defining Relationships</b></p><p num="532">The base relationship definition adds object constraint and flow definitions. Object is a statement about the set limit values for the object instances that participate in an instance of this relationship. For example, a communication relationship that represents a DCOM connection may check that the security settings for client and server are compatible. In this case, there is a strict relationship between settings that could easily be captured as part of the design process; 4 factorial (4 factorial) of setting a combination of the relationship, but may be the effective combination of fewer.</p><p num="533">The relationship between the flow provided to the developer the ability to forward values from one instance to another instance. This object definitions to be developed separately from their possible interactions and instances to stand as a reference point for information rather than requiring a subset of the relationship graph in order to fully describe a particular instance. </p><p num="534">The name for the relationship should be unique within the namespace that contains the relationship.</p><p num="535"><img id="93" file="112004009345357-pat00093.tif" wi="139" he="46" img-format="tif" /></p><p num="536"><tables id="35"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2359" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8322" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">ObjectConstraint (group)</entry><entry align="left" nameend="2" namest="2">Limited to instances that participate in this relationship. See section 3.5.3.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Flow</entry><entry align="left" nameend="2" namest="2">Flow between the instances that participate in this relationship</entry></row></tbody></tgroup></table></tables></p><p num="537"><b>3.8.2 abstract relationship</b></p><p num="538">The abstract relationship between the defined between two abstract object definition. Abstract relationship represents the possible interactions between the two definitions.</p><p num="539"><img id="94" file="112004009345357-pat00094.tif" wi="121" he="30" img-format="tif" /></p><p num="540"><b>3.8.2.1 abstract communication relationship</b></p><p num="541">Communication relationships are used to capture possible communication links between endpoint definitions. Communication relationships are used to describe the interactions between the software elements disposed independently. Communication relationship schema extends the base relation schema by adding client and server endpoint references section.</p><p num="542"><img id="95" file="112004009345357-pat00095.tif" wi="134" he="32" img-format="tif" /></p><p num="543"><tables id="36"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2415" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8265" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">clientDefinition</entry><entry align="left" nameend="2" namest="2">Definition of the communication between the client instance containing</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">ServerDefinition</entry><entry align="left" nameend="2" namest="2">The type of server instances in the relation</entry></row></tbody></tgroup></table></tables></p><p num="544">The following combinations of abstract type pairs are valid for communication relationships</p><p num="545"><tables id="37"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="5340" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="5340" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Client Type</entry><entry align="left" nameend="2" namest="2">Server Type</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Endpoints</entry><entry align="left" nameend="2" namest="2">Endpoints</entry></row></tbody></tgroup></table></tables></p><p num="546"><b>3.8.2.2 Abstract hosting relationship</b></p><p num="547">Hosting relationships are used to capture the fact that it requires the host to the guest configuration. Because they can be more than on possible host for a guest, hosting relationship is also responsible for the construction of the guest on a host. In order to create an instance of an object, a hosting relationship should exist from a guest from a compatible host.</p><p num="548">For example, a hosting relationship between the web service and the IIS object definition objects can be defined. In this case, when MyWebservice and MyIIS assumed to implement a web service and IIS respectively, the relationship is shown that by using the manager on the hosting relationship can be generated for an instance of the system for instance of the system MyWebservice MyIIS. We do not know if it can create the relationship until assess the limitations that exist with respect to the system and relationships.</p><p num="549"><img id="96" file="112004009345357-pat00096.tif" wi="132" he="32" img-format="tif" /></p><p num="550"><tables id="38"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2397" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8284" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">GuestDefinition</entry><entry align="left" nameend="2" namest="2">Identify the definition of the guest instance</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">HostDefinition</entry><entry align="left" nameend="2" namest="2">Identify the definition of the host instance</entry></row></tbody></tgroup></table></tables></p><p num="551">The following combinations of abstract definition pairs are valid for hosting relationships.</p><p num="552"><tables id="39"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="5340" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="5340" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Guest type</entry><entry align="left" nameend="2" namest="2">Host Type</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Endpoints</entry><entry align="left" nameend="2" namest="2">Endpoints</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Resources</entry><entry align="left" nameend="2" namest="2">Resources</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Resources</entry><entry align="left" nameend="2" namest="2">system</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">system</entry><entry align="left" nameend="2" namest="2">Resources</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">system</entry><entry align="left" nameend="2" namest="2">system</entry></row></tbody></tgroup></table></tables></p><p num="553"><b>3.8.2.3 includes abstract relations (Abstract Containment Relationship)</b></p><p num="554">A containment relationship between two abstract objects captures the fact that a concrete type based on the parentType can contain members based on MemberType. Including implies that the parent instance can control the lifetime of the member instance and can locate Delhi behavior to the member instance.</p><p num="555"><img id="97" file="112004009345357-pat00097.tif" wi="137" he="33" img-format="tif" /></p><p num="556"><tables id="40"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2359" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8322" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">ParentDefinition</entry><entry align="left" nameend="2" namest="2">Identify the definition of the instance that contains the member</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">MemberDefinition</entry><entry align="left" nameend="2" namest="2">The definition of the instance to be identified with members</entry></row></tbody></tgroup></table></tables></p><p num="557">The following combinations of abstract definition pairs are valid for containment relationships.</p><p num="558"><tables id="41"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="5340" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="5340" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Parents Type</entry><entry align="left" nameend="2" namest="2">Members Type</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">system</entry><entry align="left" nameend="2" namest="2">Endpoints</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">system</entry><entry align="left" nameend="2" namest="2">Resources</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">system</entry><entry align="left" nameend="2" namest="2">system</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Endpoints</entry><entry align="left" nameend="2" namest="2">Resources</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Resources</entry><entry align="left" nameend="2" namest="2">Resources</entry></row></tbody></tgroup></table></tables></p><p num="559"><b>3.8.2.4 Abstract delegation relationship (Abstract Delegation Relationship)</b></p><p num="560">Delegation is used to forward behavior from an external system with a system. How to do this is to gating Delhi endpoints on the outer system to endpoints on the inner system. It forwards all interaction directed to the external system to the endpoint on the inner system efficiently. Delegation is a chain, inside the system may allow the Delhi gating in another system the behavior.</p><p num="561">Delegation relationship defines pairs of abstract endpoint definitions that can participate in the delegation. Each relationship identifies an abstract endpoint definition that can be Delhi gating the abstract endpoint definitions and behavior that can act as a proxy.</p><p num="562"><img id="98" file="112004009345357-pat00098.tif" wi="138" he="33" img-format="tif" /></p><p num="563"><tables id="42"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2659" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8022" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">ProxyDefinition</entry><entry align="left" nameend="2" namest="2">Identify the definition of the outer endpoint that gating Delhi the behavior inside the endpoint</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">DelegateDefinition</entry><entry align="left" nameend="2" namest="2">Identify the definition of the inner endpoint that provides the required behavior</entry></row></tbody></tgroup></table></tables></p><p num="564">The following combinations of abstract type pairs are valid for delegation relationships.</p><p num="565"><tables id="43"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="5340" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="5340" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Proxy type</entry><entry align="left" nameend="2" namest="2">Delegates Type</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Endpoints</entry><entry align="left" nameend="2" namest="2">Endpoints</entry></row></tbody></tgroup></table></tables></p><p num="566">We can to support the coupling between the resource and system delegation this layer. For example, to allow IIS to expose part of the file system without having to be arranged for the file system.</p><p num="567"><b>3.8.2.5 Abstract Reference Relationship</b></p><p num="568">We use reference relationships to capture strong dependencies between instances in addition to the hosting relationship dependency. These dependencies are used to control the flow parameters between systems during the configuration procedure, and the update for installation and deployment. Reference relationships indicate a strong dependency, so we can not allow a reference relationship to cross a system boundary. This is one of the resources in the system means that it can not have dependencies on resources in another system. This is not to create an independent unit of the system is no longer placed. If dependencies exist between systems, we use communication relationships. Communication relationships can change over time without requiring reinstallation of the system.</p><p num="569"><img id="99" file="112004009345357-pat00099.tif" wi="140" he="33" img-format="tif" /></p><p num="570"><tables id="44"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2734" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="7947" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">DependentDefinition</entry><entry align="left" nameend="2" namest="2">The definition of the instance that depends on the source instance</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">SourceDefinition</entry><entry align="left" nameend="2" namest="2">Definition of the source instance. This instance is not required to know the dependency.</entry></row></tbody></tgroup></table></tables></p><p num="571">The following combinations of abstract type pairs are valid for reference relationships.</p><p num="572"><tables id="45"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="5340" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="5340" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Dependent Type</entry><entry align="left" nameend="2" namest="2">Source Type</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">system</entry><entry align="left" nameend="2" namest="2">system</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Resources</entry><entry align="left" nameend="2" namest="2">Resources</entry></row></tbody></tgroup></table></tables></p><p num="573"><b>3.8.3 Implicit base relationships (Implicit base relationship)</b></p><p num="574">All abstract relationships extends in the base relationship definition as the one shown in Fig. 14 implicitly. These definitions form a root for each of the relationship trees. By doing this we can refer to the root definition can inherit common type within the limits defined limits from the root type.</p><p num="575"><b>3.8.4 Specific relationships (Concrete relationship)</b></p><p num="576">Specifically, the relationship between two concrete object definitions relationship. Each concrete relationship should implement an abstract relationship is. Abstract relationship (through inheritance) directly or indirectly by the concrete object definition should be in the match between the pair of abstract objects definitions that are implemented.</p><p num="577"><img id="100" file="112004009345357-pat00100.tif" wi="106" he="30" img-format="tif" /></p><p num="578"><b>3.8.4.1 Hosting Relationship</b></p><p num="579">When we deploy an application to a data center, we need to analyze all of the hosting relationship to the system in the applications. By doing this, the operator may need to create hosting members for each of the required hosting relationships. In order to simplify the task of the operator, and allows the developer to guide the deployment process, the developer can create a concrete hosting relationship on behalf of them. Concrete hosting relationship is used to group a set of hosting the operator only needs to declare a relationship to members of a single hosting member when deploying the application.</p><p num="580"><img id="101" file="112004009345357-pat00101.tif" wi="166" he="46" img-format="tif" /></p><p num="581"><tables id="46"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2172" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8509" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">HostDefinition</entry><entry align="left" nameend="2" namest="2">This relationship is hosting a guest concrete object definitions that apply to the name</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">GuestDefinition</entry><entry align="left" nameend="2" namest="2">This applies to the host that is hosting the relationship between the definition of the specific name</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Hosting</entry><entry align="left" nameend="2" namest="2">List of hosting relationship members that reference members of the guest and host, a route of the specifically defined relationship</entry></row></tbody></tgroup></table></tables></p><p num="582">The following combinations of concrete type pairs are valid for hosting relationships.</p><p num="583"><tables id="47"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="5340" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="5340" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Guest type</entry><entry align="left" nameend="2" namest="2">Host Type</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">system</entry><entry align="left" nameend="2" namest="2">system</entry></row></tbody></tgroup></table></tables></p><p num="584">Guests may be coupled to a host IFF.</p><p num="585">For each guest in the guestMember</p><p num="586">It is present in the host at least one hostMember</p><p num="587">guestMember.Type have a hosting relationship with hostMember.type,</p><p num="588">guestMember.hostConstraints is to validate the hostMember.settings,</p><p num="589">hostMember.guestConstraints is to validate the guestMember.settings,</p><p num="590">for each member of guestMember, there is a combination of a member of hostMember.</p><p num="591">For example the following concrete relationship binds a layer three system (Bike) to layer two host (operating system). In this case, we define a setting for the hosting relationship with the default value of "system folder". We then flow this setting to one of three hosting members that define the hosting relationship between systems of the layer 2 host system of the layer 3 application.</p><p num="592"><img id="102" file="112004009345357-pat00102.tif" wi="175" he="55" img-format="tif" /></p><p num="593"><b>See 3.8.4.2 Relationship</b></p><p num="594">We can use a concrete reference relationship between two concrete types to capture specific dependencies between systems that do not include a communication relationship. For example, we can capture the fact that another application must already exist in order to be one of the application is installed.</p><p num="595"><img id="103" file="112004009345357-pat00103.tif" wi="170" he="44" img-format="tif" /></p><p num="596"><tables id="48"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2715" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="7965" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">DependentDefinition</entry><entry align="left" nameend="2" namest="2">Specifically, the definition of a dependent object name to see the relationship applies</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">SourceDefinition</entry><entry align="left" nameend="2" namest="2">This relationship applies to sources that refer specifically define the object name</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Reference</entry><entry align="left" nameend="2" namest="2">List of reference relationship members that reference members of the guest and host definitions</entry></row></tbody></tgroup></table></tables></p><p num="597">The following combinations of concrete type pairs are valid for reference relationships.</p><p num="598"><tables id="49"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="5340" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="5340" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Dependent Type</entry><entry align="left" nameend="2" namest="2">Source Type</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">system</entry><entry align="left" nameend="2" namest="2">system</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Resources</entry><entry align="left" nameend="2" namest="2">Resources</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Resources</entry><entry align="left" nameend="2" namest="2">Endpoints</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Endpoints</entry><entry align="left" nameend="2" namest="2">Resources</entry></row></tbody></tgroup></table></tables></p><p num="599"><b>3.9 Objects and relationships restrictions</b></p><p num="600">We define the topology of the concrete space of time to be used for a particular relationship with the objects and relationships limits and restricts the set of objects.</p><p num="601">For example, in the abstract object definition (A), we want to identify that should contain one instance of this abstract definition implementation of another abstract object definition (B). Assuming that at least one appropriate containment relationship already exists, to do this, we use a relationship constraint within A that looked like the following.</p><p num="602"><img id="104" file="112004009345357-pat00104.tif" wi="79" he="26" img-format="tif" /></p><p num="603">This limitation is implemented to identify the presence of Type B of the type including on the other end of the relationship and the relationship of the parent role of A. We want more control over the configuration of B, we can add a restriction on the settings of type B as follows:</p><p num="604"><img id="105" file="112004009345357-pat00105.tif" wi="85" he="63" img-format="tif" /></p><p num="605">In this case, we have to add the name of the member is limited, and needs to be equal to the string "myport".</p><p num="606">We also can be added to limit the relationship; We can call these object constraint. From the relation, we have to restrict the object involved in the relationship. For each role in the relationship, we can identify a object definition can be added to set limits on the object definition. From the relationship, because the cardinality is always minOccurs = 1 and maxOccurs = 1, this is not to limit the declaration.</p><p num="607"><img id="106" file="112004009345357-pat00106.tif" wi="59" he="21" img-format="tif" /></p><p num="608">Finally, we can nest restrictions. This provides the ability to chain together the restrictions and the outer limits are set the context for the inner limit. Next, the system that limits the webapp webApp to include an example of the end point of a particular type IIS system that hosts.</p><p num="609">In this case, we use a group of objects in order to specify a limited set of possibilities that must be true, one or more.</p><p num="610"><img id="107" file="112004009345357-pat00107.tif" wi="169" he="48" img-format="tif" /></p><p num="611">The nested restriction forms a path that can be evaluated from the outside. Each of the path is limited to access the settings of previous instances on the path as well as the current instance. Evaluation of nested restriction is carried out, as defined in the system as if the identification is limited.</p><p num="612">in view of the foo, it is equivalent to the following two scenarios. Claim 1 foo places a nested restrictions contained system bar, in claim 2 foo, the type bar already contains the limit.</p><p num="613">Scenario 1:</p><p num="614"><img id="108" file="112004009345357-pat00108.tif" wi="114" he="37" img-format="tif" /></p><p num="615">Scenario 2:</p><p num="616"><img id="109" file="112004009345357-pat00109.tif" wi="112" he="38" img-format="tif" /></p><p num="617"><b>3.9.1 limited model</b></p><p num="618">Two parts to restrict the model, that is, a guard (Guard) and predicate (predicates). We define a context for executing a predicate with the guard. For example, in the relationship, we identified a unique combination of the type desired to run the predicate with the guard. In the object, we identify a set of relationship to other objects by using the guard.</p><p num="619">The predicate is run when that guard the requirements are met. We have two forms of predicate-limit setting to validate setting values and group constraints that validate a set limit - has:</p><p num="620">We can nest guards within guards, in which case the inner guard is only to be satisfied outside the check Degas. This is to create a path to support verification of a relationship structure.</p><p num="621">The combination of a guard and its predicates is, the guard should match and can have a cardinality that indicates the number of times of evaluating the predicate is true.</p><p num="622">More formally,</p><p num="623"><img id="110" file="112004009345357-pat00110.tif" wi="165" he="28" img-format="tif" /></p><p num="624">Guard is defined as ObjectConstraint or RelationshipConstraint. The object limitation identify two object definitions associated with the end of the relationship. Relationship constraint identifies the relationship definition and a target object definition. Object constraint can be optional or required is, between the lower and upper limit has. While this relationship can identify the two types, the type is different from the cardinality reflects the fact that in that it can participate in multiple relationships.</p><p num="625"><img id="111" file="112004009345357-pat00111.tif" wi="138" he="6" img-format="tif" /></p><p num="626">Predicate is one of the group including a set of the set limit and a guard that includes rules. Predicates are evaluated in the context of the guard. For a set limit, the predicate can identify settings from the owner and the context identified by each nested guard of the root guard. Group is used to identify a set of guard that evaluates to true, and one or more matches. </p><p num="627">Yes:</p><p num="628"><img id="112" file="112004009345357-pat00112.tif" wi="147" he="8" img-format="tif" /></p><p num="629">This example shows a guard that evaluates to true whenever there is a relationship restricted to the webapp. The guard can truly be evaluated once the maximum. Also to return an error to the matching user.</p><p num="630"><img id="113" file="112004009345357-pat00113.tif" wi="146" he="19" img-format="tif" /></p><p num="631">This example adds a predicate to the guard. Guard will be evaluated just as true when the match between the target and the setting defined limits evaluates to true. Target definition and consistent relationship with this true or set limits, an error is returned to the user. If the relationship and target type match and the setting limit is more than one evaluates to true, an error is returned to the user.</p><p num="632"><img id="114" file="112004009345357-pat00114.tif" wi="140" he="20" img-format="tif" /></p><p num="633">In this example, we nest a guard in the guard. When the outer guard is true (the type that contains a restriction when comprises a webapp), we must evaluate the inner guard in the context in the outer guard. This means that the inner relationship constraint is evaluated in the context of the webapp instance. If webApp includes a vdirs from 0 to 1 and the inner limit is returned to stand, the inclusion of large vdir than 1, it returns an error to the user restrictions.</p><p num="634"><img id="115" file="112004009345357-pat00115.tif" wi="155" he="35" img-format="tif" /></p><p num="635">The context of the object constraint is the main object definition (the first object definition). This means that the relationship constraint will be evaluated in the context of the webapp. Relationship and define the limits of the two possible contexts, the first context is a context object in relation to the limit, and the second context is defined for the context of the target object related limitations.</p><p num="636"><img id="116" file="112004009345357-pat00116.tif" wi="160" he="39" img-format="tif" /></p><p num="637">In this example, we use a group comprises two relationships is evaluated in the context of the limited Webapp. Group to generate an error does not return one or more of the relationship is generated and stand. In this case, Webapp shall include the Vdir or directory.</p><p num="638"><b>3.9.2 bass limits</b></p><p num="639"><img id="117" file="112004009345357-pat00117.tif" wi="118" he="30" img-format="tif" /></p><p num="640"><tables id="50"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="5340" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="5340" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Name</entry><entry align="left" nameend="2" namest="2">The name of this limited section</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">DesignData</entry><entry align="left" nameend="2" namest="2">Design surface specific information about this limited</entry></row></tbody></tgroup></table></tables></p><p num="641"><b>3.9.3 Object limits</b></p><p num="642">Object constraint describes the limits for one or both of the roles of relationship. Restriction has a name to aid identification of the limit when there is a failure, including a list of the set limit in the target type associated with the role, so that the object is derived from the definition associated with the role may be limited instances.</p><p num="643"><img id="118" file="112004009345357-pat00118.tif" wi="155" he="62" img-format="tif" /></p><p num="644"><tables id="51"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="3784" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="6897" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">SettingConstraint</entry><entry align="left" nameend="2" namest="2">List of restriction applied to the context of setting a limit</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">RelationshipConstraint</entry><entry align="left" nameend="2" namest="2">Nested relationship limits. The relationship is evaluated as if the declaration for the type associated with the primary role.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">RelationshipConstraintGroup</entry><entry align="left" nameend="2" namest="2">Nested between groups - relationships within the group will be evaluated as it is declared with respect to the type associated with the primary role. Before the restriction is a well-known name for a set route.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">PrimaryRole</entry><entry align="left" nameend="2" namest="2">The name of the role of the limitation is related to the target</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">PrimaryObject</entry><entry align="left" nameend="2" namest="2">The name of the object definitions associated with the primary role</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">SecondaryRole</entry><entry align="left" nameend="2" namest="2">The name of the other role on the relationship between the limit for the target</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">SecondaryObject</entry><entry align="left" nameend="2" namest="2">The name of the object definition associated with the secondary role on the relationship. This is required when a secondary role is specified.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Required</entry><entry align="left" nameend="2" namest="2">If indeed required, limit must match the definitions declared and the role of the relationship. If required is false, then guard does not match the types in use. required is used for the relationship to use a particular combination of types.</entry></row></tbody></tgroup></table></tables></p><p num="645"><b>3.9.4 Object limited group</b></p><p num="646">Object constraint group that is evaluated using at least one semantic object to be grouped together in a set of restrictions. Group is returned to the error does not match the object for one or more of the limits and the relationships of the objects included predicate evaluates to true. We ignore the required attribute for type limited as long direct member of the group is limited.</p><p num="647"><img id="119" file="112004009345357-pat00119.tif" wi="159" he="35" img-format="tif" /></p><p num="648"><tables id="52"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2753" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="7928" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">ObjectConstraint</entry><entry align="left" nameend="2" namest="2">Limiting list of types defined in the group</entry></row></tbody></tgroup></table></tables></p><p num="649"><b>3.9.5 Relationship limit</b></p><p num="650">Relationship constraint is used to limit the relationships that the objects participate in. Relation between defined limits is to identify the cardinality of an object definition and relationship instances in the other end of the relationship. This name is given to restrict the error message may be identified in the. The body of the relationship constraint contains predicates for instance at the other end of the relationship and the relationship.</p><p num="651">Between limits may be used in a number of purposes: using a predicate with no car di widely tea further, it is used to identify relationships that should be provided in an instance to operate correctly as a predicate, and an object is an instance to interact It can be used to narrow the set of configurations.</p><p num="652"><img id="120" file="112004009345357-pat00120.tif" wi="157" he="70" img-format="tif" /></p><p num="653"><tables id="53"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="3784" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="6897" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">SettingConstraint</entry><entry align="left" nameend="2" namest="2">Restrictions on the object in the other end of the relationship between the set value or in a relationship</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">RelationshipConstraint</entry><entry align="left" nameend="2" namest="2">Relationship constraint that is evaluated in the context of the target object (target object definition should be specified). This is equivalent to add a restriction to the target object.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">RelationshipconstraintGroup</entry><entry align="left" nameend="2" namest="2">Relationship group that is evaluated in the context of the target object (target object should be specified). This is equivalent to adding the group to the target object.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">ObjectConstraint</entry><entry align="left" nameend="2" namest="2">Nested object constraint that is evaluated as part of the relationship definition identified by the outer limits.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">OhjectConstraintGroup</entry><entry align="left" nameend="2" namest="2">Nested object constraint group that is evaluated as part of the relationship definition identified by the outer limits.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Name</entry><entry align="left" nameend="2" namest="2">Unique name for the restriction included in the scope of the definition</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Relationship</entry><entry align="left" nameend="2" namest="2">The name of the limited relationship definition</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">MyRole</entry><entry align="left" nameend="2" namest="2">The object instance is the name of the role to be in this relationship - which name corresponds to the name attribute definition in relation, for example, client / server, guest / host etc. If this is not available, to infer the role from the types included in the relationship.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">TargetObject</entry><entry align="left" nameend="2" namest="2">Optional name of the definition of the object that can appear on the other side of the relationship</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">MaxOccurs</entry><entry align="left" nameend="2" namest="2">The maximum number of times instances of this object can be identified as a participant in the defined role in the named relationship. If this is zero, then the type explicitly forbids participation in the named relationship to.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">MinOccurs</entry><entry align="left" nameend="2" namest="2">The minimum number of times instances of this object can be identified as a participant in the defined role in the named relationship.</entry></row></tbody></tgroup></table></tables></p><p num="654"><b>3.9.6 limitation related groups</b></p><p num="655">Relationship constraint group are grouped together in a set of relationships is limited to be evaluated as a predicate with at least one semantics. Group will return an error if one or more of the restriction, including the relationship between this definition and not match the target object, including the predicate returns true. If it returns any error is included in the predicate of the limits, and these errors are propagated to the user. MinOccurs cardinality of the relationship, including the limits are ignored, but if the maxOccurs cardinality is violated, an error is returned to the user.</p><p num="656"><img id="121" file="112004009345357-pat00121.tif" wi="175" he="36" img-format="tif" /></p><p num="657"><tables id="54"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="3278" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="7403" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">relationshipConstraint</entry><entry align="left" nameend="2" namest="2">Relations within the limits defined group</entry></row></tbody></tgroup></table></tables></p><p num="658"><b>3.10 object manager</b></p><p num="659">The object manager is a mechanism by which types and relationships insert customer behavior in run-time environment. There are a number of roles to support each type of the manager administrative: can participate in the installation of the type, can provide a type of CLR shown, can do a combination of types among the included in the decision-making as to whether analysis and it can provide an implementation for the complex and limited flow. </p><p num="660">All object managers roles exposed to the strongly named classes through the CLR as entry points. Object managers are packaged and versioned and differences in the SDM in the same manner: they are distributed in system distribution units and their version, strong name is derived from their declared SDM file.</p><p num="661"><img id="122" file="112004009345357-pat00122.tif" wi="131" he="48" img-format="tif" /></p><p num="662"><tables id="55"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2228" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8453" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Name</entry><entry align="left" nameend="2" namest="2">Including a unique name for the file manager in the range of sdm</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Description</entry><entry align="left" nameend="2" namest="2">Text description of the manager</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">AssemblyName</entry><entry align="left" nameend="2" namest="2">Assembly Name</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Version</entry><entry align="left" nameend="2" namest="2">Assembly version</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">PublicKeyToken</entry><entry align="left" nameend="2" namest="2">The public key token for the assembly</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Culture</entry><entry align="left" nameend="2" namest="2">Culture of assembly</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Platform</entry><entry align="left" nameend="2" namest="2">Platform assembly</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">SourcePath</entry><entry align="left" nameend="2" namest="2">Path to the assembly within the SDU</entry></row></tbody></tgroup></table></tables></p><p num="663"><b>3.10.1 Role</b></p><p num="664">The object managers support one or more roles for each type that it supports. These roles include:</p><p num="665">a) limiting the type or relationship assessment</p><p num="666">b) Evaluation of the flow-type or relationship</p><p num="667">c) the configuration of the type / disassembly / update support</p><p num="668">d) for the object set for the type or relationship shown exposed </p><p num="669">Perform search for e) the type or relationship</p><p num="670">f) the type or design around the relationship between the surface specific UI support</p><p num="671"><b>3.11 SDM document structure</b></p><p num="672">The sdm document provides a versioning and localization information for a set of objects, and the manager identifies a strong relationship.</p><p num="673"><img id="123" file="112004009345357-pat00123.tif" wi="169" he="115" img-format="tif" /></p><p num="674"><b>3.11.1 Information</b></p><p num="675">Information section of the SDM document will support identification and management of sdm documents, including human-readable information.</p><p num="676"><img id="124" file="112004009345357-pat00124.tif" wi="164" he="53" img-format="tif" /></p><p num="677"><tables id="56"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="5340" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="5340" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">FriendlyName</entry><entry align="left" nameend="2" namest="2" /></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">CompanyName</entry><entry align="left" nameend="2" namest="2" /></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Copyright</entry><entry align="left" nameend="2" namest="2" /></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Trademark</entry><entry align="left" nameend="2" namest="2" /></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Description</entry><entry align="left" nameend="2" namest="2" /></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Comments</entry><entry align="left" nameend="2" namest="2" /></row></tbody></tgroup></table></tables></p><p num="678"><b>3.12 changing needs</b></p><p num="679">Figure 15 shows an example of a change request. The change request identifies a set of changes to the SDM runtime. All changes to the runtime are initiated using change requests through the API to request that the configuration in xml format.</p><p num="680">The initial request contains a single group of actions. Processed according to the request by the run-time, more structure is added through nested grouping and more actions are added as a result of the expansion and flow process. Through this evaluation process and is ready to be executed against the target machines is called a change request is a request to change completely applied la. See section 3.13 for more information.</p><p num="681"><b>Consistency Rule 3.12.1 (Consistency rules)</b></p><p num="682">When the action is performed on the SDM instance space we check that the instance space are still consistent state after this action is completed, all the instances in the SDM. By the continuous state, we mean that all constraints that apply to the instance are still valid. For example, when creating an instance of a client that requires a connection to the server, the client, and to generate a sequence of actions that are used to complete the connection, the connection between the client and the server must be present. </p><p num="683">Limits used to evaluate model consistency can be evaluated at the conclusion of the action or action set basis. We call ilgwanseongreul of two types of operating consistency and process consistency.</p><p num="684">If the object does not match, then the transaction is completed, we have the user to explicitly mark that instance as offline. If the instance is offline, without evaluation of the limits that apply to the instance instance it will not appear to exist from the perspective of other instances. This means that all of these instances are to be marked offline. Since radio waves from offline to guest as a child and the host parents, to mark it as an offline system to mark all instances and all the hosts within-owned instances as offline as offline.</p><p num="685"><b>3.13 The evaluation model</b></p><p num="686">In this section, we describe the behavior of the SDM model within the scope of the SDM runtime.</p><p num="687"><b>3.13.1 Define space</b></p><p num="688">Definition space contains all the definitions known to the sdm runtime. Of Figure 16 define an example process of loading new definitions into the runtime This process is also shared by the compile process that occurs when the design surface validates an sdm document.</p><p num="689"><b>3.13.1.1 Load</b></p><p num="690">sdm document is given to the sdu or run as a stand-alone document. We try to load a file from disk.</p><p num="691"><tables id="57"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2172" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8509" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Validation error</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Unknown file</entry><entry align="left" nameend="2" namest="2">We can not browse files in a specific location.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Access rejected</entry><entry align="left" nameend="2" namest="2">We real shot denying access to the file.</entry></row></tbody></tgroup></table></tables></p><p num="692"><b>3.13.1.2 Schema validation</b></p><p num="693">The first step is to validate that sdm document matches the sdm schema that. At this point, we will return all the unknown factors, the error of the type that includes the requested element or attribute is lost or invalid data type.</p><p num="694"><tables id="58"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2022" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8659" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Validation error</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Invalid document</entry><entry align="left" nameend="2" namest="2">Xml document has invalid syntax (syntax) - nodes that are not closed, at least one upper level node, and so on.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Unknown factors</entry><entry align="left" nameend="2" namest="2">Is not expected elements were discovered in sdm document.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Unknown property</entry><entry align="left" nameend="2" namest="2">Unknown properties were discovered in sdm document.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Invalid value</entry><entry align="left" nameend="2" namest="2">Value failed the schema validation (this does not include setting value validation)</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Lost property</entry><entry align="left" nameend="2" namest="2">The required properties have been lost.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Lost element</entry><entry align="left" nameend="2" namest="2">A required element has been lost.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Invalid attribute combinations</entry><entry align="left" nameend="2" namest="2">? The combination of attributes or elements that were used invalid as follows.-MinOccurs = maxOccurs | minOccurs = 0 byValue in</entry></row></tbody></tgroup></table></tables></p><p num="695"><tables id="59"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="1" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="10682" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">We can return to ignore the warning about the unknown elements and attributes.</entry></row></tbody></tgroup></table></tables></p><p num="696"><b>3.13.1.3 Setting the value and type of analysis</b></p><p num="697">In the type of analysis phase, we (the authorized name is used in the schema), and all references to types within the sdm analyze the file first, we confirmed that the reference is valid for all types in a range of documents. Aliases are references that do not include any type. Then, we try to analyze all the import statements. If we can resolve an import statement we create a namespace load error, and, if we can resolve an import statement we will attempt to locate the type within the namespace specified. If you try to load the namespace from an sdm file with the name space analysis process it may generate other errors.</p><p num="698"><tables id="60"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2790" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="7890" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Error type analysis</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Unknown type</entry><entry align="left" nameend="2" namest="2">Type can be searched on the local or aliased namespace. This will be generated for the set, system, endpoint, resource, relationships, and flow limit.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">I do not know the name space</entry><entry align="left" nameend="2" namest="2">The namespace can not be searched. Name space has been pre-loaded.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Version Conflict</entry><entry align="left" nameend="2" namest="2">We can not specify the location to the namespace with matching version information.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Culture clash</entry><entry align="left" nameend="2" namest="2">We can not specify the location of the namespace to match the culture information.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">The use of reactive type</entry><entry align="left" nameend="2" namest="2">Use of invalid type in this situation. For example, the settings in the relationship, including members of type.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Invalid setting value</entry><entry align="left" nameend="2" namest="2">Setting value failed to pass its type's validation.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Illegal setpoint</entry><entry align="left" nameend="2" namest="2">Violation of the access to the setting declaration or a fixed value is provided in the predefined set value type or base type.</entry></row></tbody></tgroup></table></tables></p><p num="699"><b>3.13.1.4 Path Analysis</b></p><p num="700">During path analysis phase, we try to analyze all the settings and paths to the members defined in the document. Path that references the setting or member having a non-analysis type does not cause an error.</p><p num="701"><tables id="61"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2884" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="7797" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Path analysis error</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Setting unknown</entry><entry align="left" nameend="2" namest="2">Setting declaration was not to match the search path.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Members do not know</entry><entry align="left" nameend="2" namest="2">Member declaration was not search to match the name in the path.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Cardinality mismatch</entry><entry align="left" nameend="2" namest="2">Path to the set limit values in the flow and the statement included the relationship or members having a larger cardinality than one.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Type mismatch</entry><entry align="left" nameend="2" namest="2">The declared type of the variable type and the analysis setting or member did not match.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Use mismatch</entry><entry align="left" nameend="2" namest="2">The declared purpose of the route - input or output - has violated the access modifier on the modifier or set a fixed value for the declaration.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">No value</entry><entry align="left" nameend="2" namest="2">Required flow input path is set by reference to the user that it is not exposed to provide the value does not have a default value.</entry></row></tbody></tgroup></table></tables></p><p num="702"><tables id="62"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2640" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8040" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Path Analysis alert</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Warning runtime path</entry><entry align="left" nameend="2" namest="2">A path that refers to an abstract isReference referenced type can not be verified until runtime (We can not check that a member exists until the user creates the concrete type).</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Flow Warning</entry><entry align="left" nameend="2" namest="2">Flow warning - at the same time or earlier when we provided value for the setting of targets defined flow will cause a warning. If we define the flow and a set value that is not provided with the fixed set it does not generate a warning.</entry></row></tbody></tgroup></table></tables></p><p num="703"><b>3.13.1.5 relationships involved</b></p><p num="704">In the type space we check that does not violate any of the restrictions on the participation of its members in the relationship between the type declaration. In order to do this, we must evaluate the relationship types that do not have a set limit, and any restrictions associated.</p><p num="705"><tables id="63"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2772" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="7909" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Error type space restrictions</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Relationship Types violation</entry><entry align="left" nameend="2" namest="2">The relationship between members of the two members can not be identified both on the basis of the type identified by a particular relationship and a relationship. For example, a hosting relationship is declared between vdirToVsite vdir and files.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Use Violation relationship</entry><entry align="left" nameend="2" namest="2">Relationship is declared between two members but the use of the relationship in this context is not allowed, because the members are not accessible. For example, the declaration of a delegation relationship between the two end points is not different from the system in a direct containment relationship.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Relationship limit violation</entry><entry align="left" nameend="2" namest="2">Relationship has been declared between a combination of a type that is not supported on the basis of the restriction in the relationship. For example, although the relationship may be declared between vsites, it supports certain types derived from vsite.</entry></row></tbody></tgroup></table></tables></p><p num="706"><tables id="64"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="3653" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="7028" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Type space limit warning</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Available cardinality mismatch</entry><entry align="left" nameend="2" namest="2">Count back up the maxOccurs for a member results in a set of relationships is the cardinality of the relationship constraint violation.</entry></row></tbody></tgroup></table></tables></p><p num="707"><b>3.13.1.6 instance simulation</b></p><p num="708">In the instance simulation we can identify constraints that need to know the failure, but the flow value to fail or flag without fail limit, based on the user input limits and will attempt to evaluate. Constitutes a model of the instance space and evaluate it in order to perform limited and flow based on this instance space. Knowing that the flow restriction occurs or an error, we generate an error, if it can lead to errors, to generate a warning.</p><p num="709">We create an instance space change request using the minOccurs limit for all byReference systems. When the minOccurs is 0, create a single instance and mark it as optional. We pass the change request through the same expansion and flow processes in accordance with use of the standard change request.</p><p num="710"><tables id="65"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2303" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8378" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Simulation alert</entry><entry align="left" nameend="2" namest="2">warning</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Optional System</entry><entry align="left" nameend="2" namest="2">Because the system is selected jeokyigi, the runtime can not fully determine all errors that may result from this configuration.</entry></row></tbody></tgroup></table></tables></p><p num="711">We then evaluate all flows having a fully defined input values. If the input value can be changed by the user is not fixed, we mark the output of the flow as provisional. Temporary input will chain through any flow operations that consume it. If the flow does not have complete input values and a user can provide a value, we mark all the outputs of the flow as undefined (undefined). Flow from optional systems also results in a temporary value.</p><p num="712"><tables id="66"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2640" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8040" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Flow error</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Abnormal flow of input</entry><entry align="left" nameend="2" namest="2">Value was not available in the required flow input value.</entry></row></tbody></tgroup></table></tables></p><p num="713">Once we have the value of the flow, we must evaluate the value on the basis of these limitations. Failed temporary limit value will be generated as a warning; Warning will be generated when it can be limited by the value of the non evaluation.</p><p num="714"><tables id="67"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2453" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8228" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Setting limit errors</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Set the input abnormal</entry><entry align="left" nameend="2" namest="2">Value is not limited to the requested service type.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Setting limit violations</entry><entry align="left" nameend="2" namest="2">One or more input settings for the limitation gave rise to the restriction violation.</entry></row></tbody></tgroup></table></tables></p><p num="715"><tables id="68"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="3878" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="6803" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Set limit warning</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Settings can violate the restriction</entry><entry align="left" nameend="2" namest="2">The combination of input set based on the default may violate the restrictions.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Set limit has not been evaluated</entry><entry align="left" nameend="2" namest="2">Limits can not be evaluated because it depends on settings provided at deployment or use time.</entry></row></tbody></tgroup></table></tables></p><p num="716"><b>3.13.2 Instances space</b></p><p num="717">The model evaluation process is initiated by the submission of a declarative change request. This request will contain a set of create, update or delete operations that target instances within the runtime. We pass the request through a series of pipeline stages before provision a required change in the target system as shown in Fig.</p><p num="718">The following sections outline the responsibilities of each expansion step.</p><p num="719"><b>3.13.2.1 Submission Requirements</b></p><p num="720">In order to initiate a change to the system an operator or process should submit a change request. Change request to the operator to the desired a set of actions performed over the instances in the runtime; The actions are divided into three groups, that is, generation of action, update actions and delete actions.</p><p num="721">The request is treated as a set of actions to be done automatically or fail as a group. This evaluating whether the set of actions to generate a valid change to the model are limited validation process to consider all actions in the request.</p><p num="722"><tables id="69"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="3034" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="7647" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Effective change request error</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Invalid document</entry><entry align="left" nameend="2" namest="2" /></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Unknown elements / attributes</entry><entry align="left" nameend="2" namest="2">Knowing the element or attribute has been discovered in xml schema.</entry></row></tbody></tgroup></table></tables></p><p num="723"><b>3.13.2.1.1 type of analysis</b></p><p num="724">In type analysis phase, we resolve all types and members that are referenced in the change request. Change requests will be assumed to be already loaded by the runtime; The runtime will need to initiate a load / compile action if there were a need to change.</p><p num="725"><b>3.13.2.1.2 Path Analysis</b></p><p num="726">Path phase for analysis, we analyze references to existing instances and instances defined by create actions within the change request.</p><p num="727"><b>3.13.2.2 extended</b></p><p num="728">Expansion is a process that we accounted for all the remaining actions required to execute a request to take a change request: in general these actions are construction and demolition action as for type and relationship instances. Theoretically, although the operator to provide details for all the actions required to construct or destroy an instance, we does not require it, because the change request creation process is very complex. We will attempt to automate this process in place: the operator by identifying actions on byReference members to provide the key information about the changes they want; We filled the rest of the actions on nested byReference and the byValue members and relationships.</p><p num="729"><b>3.13.2.2.1 Value Members</b></p><p num="730">During expansion stage we identify all the non-reference (non-reference) type member. We know all parameters required to know the cardinality of these members, for each member we add the generated request to the change request for those members of the parent generated. If the change request contains a dismantling work, we should add the dismantling operations for all their contained instances.</p><p num="731"><b>3.13.2.2.2 reference member expansion (search)</b></p><p num="732">In general, the reference members require more information to configure the value member. Their cardinality is often they are not defined can have deployment time settings that require values to be configured for instance. The process of extending the byReference member can require more information about the instance than the runtime in a position to provide. We have a process for obtaining this information is referred to as navigation.</p><p num="733">Search process will take a reference type members as part of the construction or update action. Only reference members with object managers that support the search will take part in this process.</p><p num="734">When a new instance is discovered we first instance, using a specific key value to check that the instance does not already exist in the SDM database. Once we know that it is a new instance, we classify the instance according to the types of the members we have searched. When an instance is consistent vague or inconsistent with the members, we are leaving members to see a blank and mark as offline and incomplete instances.</p><p num="735"><b>3.13.2.2.3 Relationship Expansion</b></p><p num="736">Knowing all be of one type for instance, to create relationship instances that bind the type instances together. If type instances are destroyed, all relationship instances that reference to remove the type instance.</p><p num="737">In order to create a relationship, thereby the member space to identify the configurations of the relationships that should exist between the instances. Type's interest for a cardinality greater than 1, we have to infer the topology of the relationships. I will show you how to do this in Section XX.</p><p num="738"><b>3.13.2.3 Flow</b></p><p num="739">During the flow stage, it evaluates flow across all the relationship instances. This stage can be added to the change request for instances that were affected by the update request to the changed parameter flow.</p><p num="740">Flow is evaluated by determining the set of instances has been updated as a result of the setting change request. For each of these, any outgoing settings flows that depend on the modified settings are evaluated and the target nodes added to the set of changed instances. The process continues until the set is empty or the set contains a cycle.</p><p num="741"><tables id="70"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="4290" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="6390" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Error / Warning</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Not shut down the flow</entry><entry align="left" nameend="2" namest="2" /></row></tbody></tgroup></table></tables></p><p num="742"><b>3.13.2.4 dual detection</b></p><p num="743">Process of duplicate detection is consistent with the instance extended to the instances that already exist in the sdm data store. For example, to detect if another application has installed a shared file. When detecting that an instance already exists, depending on the version of the existing instance and take a single action of a number of actions.</p><p num="744">a) the installation may fail.</p><p num="745">b) it can be referred to the count of the instance.</p><p num="746">c) You can upgrade your instance.</p><p num="747">D) may be provided in sequence.</p><p num="748"><b>3.13.2.5 limited evaluation</b></p><p num="749">For a limited evaluation phase, all within the limits and change requests processed checks that the model is still valid.</p><p num="750"><tables id="71"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="1" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="10682" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">with respect to V 1, because it can be difficult to determine the extent of the limits must go to all of the nodes in the graph has a restriction (it may tag the member space in a way that removes the instance space)</entry></row></tbody></tgroup></table></tables></p><p num="751"><b>3.13.2.6 ordering requirements</b></p><p num="752">We have a complete list of actions, we can determine a valid change ordering by using the relationships between systems.</p><p num="753"><b>Run 3.13.2.7</b></p><p num="754">We distribute subsets of the set of the machine sequence of a particular action. We should support for the machine synchronization of these machine specific sets.</p><p num="755"><b>3.13.2.8 demand returns</b></p><p num="756">The change is carried out by classifying the change request to the distributable parts based on the hosting relationships involved. If all parts are completed (or if it fails), the result is in contrast to run-time and a summary returned to the user.</p><p num="757"><b>3.13.3 Expansion of depth</b></p><p num="758">In this section, the details of the expansion process for types and relationships will be described.</p><p num="759"><b>3.13.3.1 Reference extensions (search)</b></p><p num="760">In the same way that the hosting relationship to form a new instance of the type, we use the hosting relationship to search the existing type instances. As a type instance that knows how to be displayed on the host, the host is the only relationship is arranged to do this.</p><p num="761">Members will be marked as reference for the search, to check whether the hosting relationship supports discovery. If you support, we will deliver the host instances in the relationship, it will ask you to return the configured action for the guest instance, navigation on the host.</p><p num="762">We use verification to search the instance does not exist any more. This again uses the hosting relationship to verify the existence of a guest on a host. If the guest is not present any more, the hosting relationship adds a demolition action to the change request. </p><p num="763"><b>3.13.3.2 non-reference member expansion</b></p><p num="764">Runtime handles all non-reference member expansion by simply adding the composition or the dissolution for each non-reference member of a type that has already been identified for construction or dismantling in the change request.</p><p num="765"><b>3.13.3.3 Communication between expansion</b></p><p num="766">If the operator has not specified an instance of communication between a communication relationship member exists between two type members, we must expand the communication relationship by guessing the mesh (mesh) all connected between the members.</p><p num="767"><tables id="72"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="1" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="10682" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">If the key can not be captured, but the connectivity topology restrictions delayed, the delay is to complicate the deployment process. For example, the topology further delaying, provides a method for producing a wire and manage, perform path checks for any changes, and may expose the operator to create a deployment topology.</entry></row></tbody></tgroup></table></tables></p><p num="768">What does this mean? When the two members are connected in the member space, all the instances of each member can be observed with each other. Given the following two members, as shown in Figure 18, the instance space topologies is limited by the cardinality of the members. Examples are shown two kinds of members in 1800. In 1802, a simple point to point relationship between a maximum of two instances is illustrated. In 1804, a fan-out connection (fan out) is shown. For example it may be a client that can load balance requirements across a set of servers. In 1806, the connection of the fan (fan in) are shown. For example it may be a group of clients sharing a single server. In 1808, the combination of the case to a set of clients shares a set of servers shown. </p><p num="769">When configuring communication links, delegate endpoints are transmitted and to terminate the connection is to match all the communication relationships that exist if the delegate endpoints are removed. Figure 19 illustrates a A, B, and a structure equivalent to two to consider the connection between the instance of the C (1902, 1904).</p><p num="770"><b>3.13.3.4 hosting relationship extended</b></p><p num="771">If the hosting relationship is ambiguous, we need to determine the correct topology, the manager or the operator of the relationship between the host.</p><p num="772">If the hosting relationship supports expansion, passing the set of hosts and the guest to the relationship and ask the manager to return the correct construction action to the manager. If the manager does not support the extension, it is possible to return the change request to the operator to provide more information.</p><p num="773"><b>3.13.3.5 Reference expanded relationship</b></p><p num="774"><b>3.13.3.6 limited relationship extended</b></p><p num="775">Limit is not unambiguous relationship to the runtime can always add the appropriate construction action to the change request. </p><p num="776"><b>3.13.3.7 delegation expand relations</b></p><p num="777">For expansion, delegation relationships follow the same rules as communication relationships.</p><p num="778"><b>3.13.4 Flow</b></p><p num="779"><b>3.13.5 Run</b></p><p num="780"><b>3.14 SDM instance space</b></p><p num="781">The following section defines an object model for the instance space of the sdm runtime. The instance space is used to track changes to the configuration of the system that are modeled by the sdm.</p><p num="782">20 illustrates a UML diagram that provides an exemplary overview of the instance space. Box (2002, 2004, 2006, 2008) is the type that is defined in another section of this document.</p><p num="783">The instance space is structured with respect to the versioning changes initiated by change requests. Each instance can have a linear series of versions that indicates the changes made to the operating instance minute. Future versions can also exist in the runtime before they propagate to the operating system.</p><p num="784">For this version of the SDM model, it allows the linear changes for a given instance. In the future, it may allow version branches and introduce a version of the analysis model. This is so that one or more changes are shown for the particular instance.</p><p num="785">Because allow linear versioning, it can load a series of change requests to write the old change. This supports prior validation of a sequence of actions that may be taken during a process such as a rolling upgrade.</p><p num="786"><b>3.14.1 SDM instances</b></p><p num="787">All instances are derived from the emitter sdm instance. An instance share a list of members that match the members on the definition of the elements and interfaces that define values for the settings schema. An instance is also a set of attributes that define a unique identifier for the instance, a version number for the instance, a version of the shared name for the instance and flag that indicates whether to display an operating state of the system.</p><p num="788"><img id="125" file="112004009345357-pat00125.tif" wi="146" he="43" img-format="tif" /></p><p num="789"><tables id="73"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2097" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8584" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">settingsValues</entry><entry align="left" nameend="2" namest="2">List of setting values that defines the desired state of the modeled system object. This list will preside over the flow from the instance when the relevant place or instances, include any value defined by the developer of the operator, the definition or member.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">member</entry><entry align="left" nameend="2" namest="2">Which is a list of members to display the members on the definition. Each member identifies the instances assigned to the member.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">id</entry><entry align="left" nameend="2" namest="2">Unique identifier for the instance, the global scope (to support distributed runtimes)</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">version</entry><entry align="left" nameend="2" namest="2">The version number is increased for instance by changing linearly.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">isCurrent</entry><entry align="left" nameend="2" namest="2">This is a flag indicating whether this version displays the operating status of the system. This latter represents the updated version is not propagated to the operating system may be present.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">name</entry><entry align="left" nameend="2" namest="2">A unique name for the instance in the background of its members, including (can not be distinguished from the point of view of Darryl gates are members)</entry></row></tbody></tgroup></table></tables></p><p num="790"><b>3.14.2 Members</b></p><p num="791">Member is used to associate the member of the set of instances of the reference member. The members of an instance are defined by the definition of the instance. The referenced instances are the instances created for instance a member or members is a delegate. The member may represent an array which can be more than one referenced instance.</p><p num="792"><img id="126" file="112004009345357-pat00126.tif" wi="149" he="28" img-format="tif" /></p><p num="793"><tables id="74"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2622" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8059" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">instance</entry><entry align="left" nameend="2" namest="2">Instance referenced by this member,</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">memberDeclaration</entry><entry align="left" nameend="2" namest="2">Declaration of the members of the relevant definition</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">name</entry><entry align="left" nameend="2" namest="2">The name of the associated member on the definition</entry></row></tbody></tgroup></table></tables></p><p num="794"><b>3.14.3 Changes</b></p><p num="795">Change represents a change to the instance state. Change relates to the set of affected instances the change request. If the change is executed, the change must also identify the change in response state of the change (see section XXX).</p><p num="796"><img id="127" file="112004009345357-pat00127.tif" wi="161" he="37" img-format="tif" /></p><p num="797"><tables id="75"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2172" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8509" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">instance</entry><entry align="left" nameend="2" namest="2">A list of instance versions that generated as a result of the associated change request</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">id</entry><entry align="left" nameend="2" namest="2">Unique identifier for this change (at least unique in the run-time is)</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">status</entry><entry align="left" nameend="2" namest="2">Listed to identify the current status of the change</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">changeRequest</entry><entry align="left" nameend="2" namest="2">List for the change request that was used to create this change,</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">changeResponse</entry><entry align="left" nameend="2" namest="2">List of the result returned from the execution of the change</entry></row></tbody></tgroup></table></tables></p><p num="798"><b>3.14.3.1 Change state</b></p><p num="799">Change request can be in one of the following conditions: </p><p num="800"><img id="128" file="112004009345357-pat00128.tif" wi="5" he="5" img-format="tif" />show that the run has not been attempted against a change request notstarted-</p><p num="801"><img id="129" file="112004009345357-pat00129.tif" wi="5" he="5" img-format="tif" />inProgress- indicates that the current running</p><p num="802"><img id="130" file="112004009345357-pat00130.tif" wi="5" he="5" img-format="tif" />indicating that the change request has been successfully completed complete-</p><p num="803"><img id="131" file="112004009345357-pat00131.tif" wi="5" he="5" img-format="tif" />failed- change request fails, indicating that this was a change in an incomplete state</p><p num="804"><img id="132" file="112004009345357-pat00132.tif" wi="5" he="5" img-format="tif" />rolledBack- indicate that demand has been successful rollback failed changes</p><p num="805"><img id="133" file="112004009345357-pat00133.tif" wi="72" he="36" img-format="tif" /></p><p num="806"><b>3.14.4 specific object instance</b></p><p num="807">The concrete object instance represents an instance the concrete type identified by the type attribute. Because the real world can be displayed for an instance, the instance may have to keep track of whether the real world counterpart and synchronization. We want to see if online, as a result of the instance changes. The online instance should be valid for all of its limitations. Offline instance, does not appear to be shown to the other participants in the communication between participating. If the instance is incomplete, change requests are required before the instance can be online.</p><p num="808"><img id="134" file="112004009345357-pat00134.tif" wi="116" he="37" img-format="tif" /></p><p num="809"><tables id="76"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="1628" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="9053" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">inSync</entry><entry align="left" nameend="2" namest="2">This displays the settings match the settings on the instance whether that part of the real world.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">online</entry><entry align="left" nameend="2" namest="2">This indicates whether a real-world counterpart must be online and active. If any restriction is not satisfied, an instance can not be put on-line. Offline instances will not be visible to other participants in the communication relationships that reference it (flow will not be executed?)</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">incomplete</entry><entry align="left" nameend="2" namest="2">This flag indicates that the information is requested from the version of the instance is lost. This situation may cause or result of the search process, all the required information can not identify all information required by instance as a result of a change request does not supply.</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">type</entry><entry align="left" nameend="2" namest="2">A reference to an instance of the type of</entry></row></tbody></tgroup></table></tables></p><p num="810"><b>3.14.5 relationship instance</b></p><p num="811">The relationship instance represents an instance of the identified relationship type. If the relationship is no direct real-world displayed, or to maintain a synchronous relationship between the information on whether the line. Further, if the relationship is relatively easy, even if the relationship can fail their limits, the relationship does not expect that incomplete.</p><p num="812"><img id="135" file="112004009345357-pat00135.tif" wi="126" he="30" img-format="tif" /></p><p num="813"><tables id="77"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="1947" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8734" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">relationship</entry><entry align="left" nameend="2" namest="2">Relationship Types associated with this instance</entry></row></tbody></tgroup></table></tables></p><p num="814"><b>3.14.5.1 includes instances</b></p><p num="815">This represents an instance of a containment relationship.</p><p num="816"><img id="136" file="112004009345357-pat00136.tif" wi="131" he="33" img-format="tif" /></p><p num="817"><tables id="78"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2153" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8528" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">parentInstance</entry><entry align="left" nameend="2" namest="2">Identify the parent instance involved in the relationship</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">childInstance</entry><entry align="left" nameend="2" namest="2">Identify the child involved in the relationship instance,</entry></row></tbody></tgroup></table></tables></p><p num="818"><b>3.14.5.2 communication instances</b></p><p num="819">This represents an instance of a communication relationship</p><p num="820"><img id="137" file="112004009345357-pat00137.tif" wi="127" he="32" img-format="tif" /></p><p num="821"><tables id="79"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2247" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8434" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">clientInstance</entry><entry align="left" nameend="2" namest="2">Identifying the client instance involved in the relationship</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">serverInstance</entry><entry align="left" nameend="2" namest="2">Identify the server instance involved in the relationship</entry></row></tbody></tgroup></table></tables></p><p num="822"><b>3.14.5.3 defined instances</b></p><p num="823">This represents an instance of a delegation relationship.</p><p num="824"><img id="138" file="112004009345357-pat00138.tif" wi="128" he="33" img-format="tif" /></p><p num="825"><tables id="80"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2247" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8434" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">proxyInstance</entry><entry align="left" nameend="2" namest="2">Identifying a proxy instance involved in the relationship</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">delegateInstance</entry><entry align="left" nameend="2" namest="2">Identify the delegates participating in the relationship instance,</entry></row></tbody></tgroup></table></tables></p><p num="826"><b>3.14.5.4 instance hosting</b></p><p num="827">This represents an instance of a hosting relationship.</p><p num="828"><img id="139" file="112004009345357-pat00139.tif" wi="124" he="32" img-format="tif" /></p><p num="829"><tables id="81"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2247" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8434" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">guestInstance</entry><entry align="left" nameend="2" namest="2">Identify the relationship between the guest instances involved</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">hostInstance</entry><entry align="left" nameend="2" namest="2">Identify the host instances involved in the relationship</entry></row></tbody></tgroup></table></tables></p><p num="830"><b>See 3.14.5.5 instance</b></p><p num="831">This represents an instance of a reference relationship.</p><p num="832"><img id="140" file="112004009345357-pat00140.tif" wi="133" he="32" img-format="tif" /></p><p num="833"><tables id="82"><table colsep="0" frame="top" rowsep="0"><tgroup align="left" cols="2" colsep="0" rowsep="0"><colspec align="left" char="0" charoff="0" colname="1" colnum="1" colsep="0" colwidth="2603" rowsep="0" /><colspec align="left" char="0" charoff="0" colname="2" colnum="2" colsep="0" colwidth="8078" rowsep="0" /><tbody valign="top"><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">Property / Element</entry><entry align="left" nameend="2" namest="2">Described</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">sourceInstance</entry><entry align="left" nameend="2" namest="2">Identify the source instance involved in the relationship</entry></row><row rowsep="0" valign="middle"><entry align="left" nameend="1" namest="1">dependentInstance</entry><entry align="left" nameend="2" namest="2">Identify the dependencies involved in the relationship instance,</entry></row></tbody></tgroup></table></tables></p><p num="834"><b>3.14.4.6 instance,</b></p><p num="835">An instance is shown a set of instance elements that may be present in the sdmInstance file.</p><p num="836"><img id="141" file="112004009345357-pat00141.tif" wi="130" he="56" img-format="tif" /></p><p num="837"><b>See 3.14.7 Instances</b></p><p num="838"><b>3.14.7.1 instance, Ref</b></p><p num="839">Instance ref is a simple reference to an instance. If the reference is to be created in the context of a change request isCurrent instances by default, the instance is affected by the change request.</p><p num="840"><img id="142" file="112004009345357-pat00142.tif" wi="107" he="14" img-format="tif" /></p><p num="841"><b>3.14.7.2 instance version Ref</b></p><p num="842">Instance version ref identifies a particular version of an instance.</p><p num="843"><img id="143" file="112004009345357-pat00143.tif" wi="107" he="17" img-format="tif" /></p><p num="844"><b>3.15 placement unit structure</b></p><p num="845">Requirements</p><p num="846"><img id="144" file="112004009345357-pat00144.tif" wi="5" he="5" img-format="tif" />Includes all the bits requires to install a set of SDM types. </p><p num="847"><img id="145" file="112004009345357-pat00145.tif" wi="5" he="5" img-format="tif" />May be signed or version.</p><p num="848"><img id="146" file="112004009345357-pat00146.tif" wi="5" he="5" img-format="tif" />Easily it is constructed / packaged / movement.</p><p num="849"><img id="147" file="112004009345357-pat00147.tif" wi="5" he="5" img-format="tif" />You can query the other SDU or included by reference.</p><p num="850"><img id="148" file="112004009345357-pat00148.tif" wi="5" he="5" img-format="tif" />Deployment section of the SDM type definitions, see the files directly within the SDU.</p><p num="851"><b>3.16 Localization</b></p><p num="852">The one part of the SDM model is necessary to determine how to support localization through design and deployment of the support localization and system.</p><p num="853">The first approach:</p><p num="854">We to the individual types and types to manage localization. Localization is implied through the restriction. Localization is the first type of citizen (citizen). This means the following.</p><p num="855">a) SDU may include the implementation of a specific version of a type: there are certain versions of an implementation example. This means that you can not have implementations based on localization. Each implementation should support a range of places to be implemented, or other type (The use of versioning for this purpose a breach)</p><p num="856">b) localization is achieved by using a set of types that identify the resource by using a particular version or implementation mixins support that supports a different version.</p><p num="857">c) Clients can not differentiate / require localized versions of servers.</p><p num="858">The second approach:</p><p num="859">Localization is a first type citizen (CITIZEN) of the identification of the name and version. This means that the location is to be considered a reference to create the localization type. </p><p num="860">a) Clients can differentiate localized versions of servers on any of the things including, hosting or communication relationships.</p><p num="861">b) arrangement engine to know the localization and the operator selects between localized versions of types.</p><p num="862">c) SDU is a name, identified by the version and location (s) or SDU may include the implementation of a number of other based on their location (the first is localized not code for the SDU, so to be placed in a separate sdu It implies a finer packaging, and the second means that it can have a plurality of sdu having the same name)</p><p num="863">The second approach has the potential for very complex from when the place is used widely as a limitation design / ui perspective. For example, if the endpoint is localized or if hosts localize their guests, it is to search for access / deployment is more complicated. When used as a second approach it is proposed mechanism and b) from the first approach described above, the complexity is easier to manage but somebody has to identify a localized resource, and to move the packaging.</p><p num="864"><b>3.17 versioning and change management</b></p><p num="865"><b>3.17.1 general comments</b></p><p num="866"><img id="149" file="112004009345357-pat00149.tif" wi="5" he="5" img-format="tif" />We want to be able to properly turning the buzzer system - that is, without changing the instance applying qfe identified in SQL. This implies changing the type of the instance. </p><p num="867"><img id="150" file="112004009345357-pat00150.tif" wi="5" he="5" img-format="tif" />We want to allow the change version of the versioning policy is acceptable - for example, a system type designer unilaterally upgrade a version of the member versioning may select whether the policy is how strict the operator for security reasons for the members of the system You can choose to.</p><p num="868"><img id="151" file="112004009345357-pat00151.tif" wi="5" he="5" img-format="tif" />We Wars to limit the propagation of versioning changes - for example, if we change the type of a member we do not want to change the type of system, and thus spread the type changes to the root.</p><p num="869"><img id="152" file="112004009345357-pat00152.tif" wi="5" he="5" img-format="tif" />Breaking changes will be indicated by changes in the first 2 parts of the version number, non-breaking changes will be indicated by changes in the second two parts of the version number.</p><p num="870"><u>An example of a computer environment</u></p><p num="871">21 shows a general computer environment 600 that can be used to implement the techniques described herein. Computer environment 600 is not intended to limit the range of one example only, the functions of the computer and network architectures in computing environment or use. Computer environment 600 is not to be interpreted as any dependency or requirement relating to any one or combination of components illustrated in the exemplary environment 600.</p><p num="872">The computer environment 600 includes a general-purpose computer device in the form of a computer 602. Computer (602) may be, for example, computing the 1 device 102, or to implement development system 202 or be a controller 206 of Figure 2, or even a target device 212 of the second It may be a controller 520 or target 522 of Fig. Computer 602 is a component of the one or more processors or processing units 604, a system memory 606, and processor 604, system bus 608 for coupling to a system memory 606, various system components including the It includes but is not limited to this.</p><p num="873">System bus 608 represents one or more of a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and several types of bus structures including a processor or local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA; Enhanced ISA) bus, Video Electronics Standards Association (VESA) local bus, and the mezzanine bus (Mezzanine bus ) known as Peripheral Component Interconnect (PCI) can be a bus.</p><p num="874">The computer 602 typically includes a variety of computer readable media. Such a medium can be accessed by computer 602 and can be any available media, including both volatile and nonvolatile media, and removable and non-removable media.</p><p num="875">And a non-volatile computer-readable memory medium of the same type as the system memory 606 is a random access memory (RAM;; 610) such as volatile memory, and / or read only memory (ROM 612). Basic input-output system containing the basic routines that help to transfer information between elements within computer 602, such as start-up (BIOS; 614) is stored in the ROM (612). The RAM (610) contains immediately accessible to and / or data operated on by processing unit (s) and / or the program module to the conventional processing unit (604).</p><p num="876">Computer 602 may also include other removable / non-removable, volatile / nonvolatile computer storage media. As an example, Fig. 21 is read from the non-removable non-volatile magnetic media (not shown) and a hard disk drive for recording on the magnetic medium 616 is a removable, nonvolatile magnetic disk 620 (e.g., a "floppy disk "), a magnetic disk drive which reads and writes the magnetic disk from the 618, and CD-ROM, DVD-ROM or read from the non-volatile optical disk 624, a removable, such as other optical media, and / or optical disk for recording It shows a drive 622. Hard disk drive 616, magnetic disk drive 618, and an optical disk drive 622 are connected to the system bus 608 by one or more data media interfaces 626. Alternatively, the hard disk drive 616, magnetic disk drive 618, and optical disk drive 622 can be connected to the system bus 608 by one or more interfaces (not shown).</p><p num="877">Disk drives and their associated computer readable media provide non-volatile storage of other data for the computer-readable instructions, data structures, program modules and computer 602. The example is a hard disk 616, illustrating a removable magnetic disk 620 and removable optical disk 624, however, such as magnetic cassettes or other magnetic storage devices, flash memory cards, CD-ROM, DVD (Digital Versatile Disk) or other optical storage, random access memory (RAM), read only memory (ROM), electrically erasable programmable read-only memory (EEPROM) other types of computer readable media that can store data accessible by a computer, such as the illustrated that can be used to implement a computing system and environment will be apparent.</p><p num="878">As an example, the operating system 626, one or more application programs 628, other program modules 630, and program any number of program modules, including the data 632 on the hard disk 616, magnetic disk 620, may be stored in an optical disk (624), ROM (612) and / or a RAM (610). The operating system 626, one or more application programs 628, other program modules 630, and program each of the data 632 (or some of them combined) is all or part of the resident components that support the distributed file system, It can be implemented.</p><p num="879">A user keyboard 634 and a pointing device; may enter commands and information into the computer 602 through input devices such as a (636, for example, "mouse"). Other input devices 638 (not shown specifically) may include a microphone, joystick, game pad, satellite dish, serial port, scanner, or the like. These and other input devices are connected to the processing unit 604 through the input-output interface 640 is coupled to the system bus 608, but a parallel port, game port or a universal serial bus (USB) to other interface and bus structures, such as but it may be connected by.</p><p num="880">The monitor 642 or other type of display device may be connected to the system bus 608 via an interface, such as a video adapter 644. In addition to the monitor 642, other output peripheral input-output interface 640, a printer and speakers (not shown) which can be connected to computer 602 via may include components, such as.</p><p num="881">Computer 620 may operate in a networked environment using logical connections to one or more remote computers, such as remote computing device (648). By way of example, the remote computing device 648 may be a personal computer, portable computer, a server, a router, a network computer, a peer device or other common network node. Remote computing device 648 is illustrated as a portable computer that can include many or all of the features and elements described herein in associated with the computer 602.</p><p num="882">Logical connections between computer 602 and remote computer 648 is a local area network (LAN; 650); and a general wide area network is shown as (WAN 652). Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.</p><p num="883">When implemented in a LAN networking environment, the computer 602 is connected to the LAN 650 through a network interface or adapter 654. When implemented in a WAN networking environment, the computer 602 includes a modem 656 or other means for establishing communications over the wide area network typically 652. Modem 656, which may internal or external to computer jeokil 602 may be connected to the system bus 608 via the input-output interface 640 or other appropriate mechanism. The connections shown are exemplary and other means to establish communication between the computer (602, 648) can be used.</p><p num="884">In a networked environment as shown in the computing environment 600, computer 602, or portions thereof associated with a program module it can be stored in the remote memory storage device. By way of example, remote application programs 658 reside on a memory device of the remote computer 648. Such programs and components, but in many cases reside in different storage components of the computing device 602 is recognized as being executed by the data processor (s) of the computer, the description for the purpose, other executable program such as an application program and an operating system This component is shown as a separate block.</p><p num="885">Various modules and techniques may be described in the general context of computer-executable instructions, such as program modules, being executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Typically, the functionality of the program modules may be combined or distributed as desired in many embodiments.</p><p num="886">Implementation of these modules and techniques stored on any form of computer readable media or can be transmitted over a computer-readable medium. Computer readable media can be accessed by a computer on which one can be any available media. By way of example, and not limitation, computer readable media may comprise "computer storage media" and "communications media."</p><p num="887">"Computer storage media" includes a computer-readable instructions, data structures, program modules, or volatile, and are implemented by any method or technology for storage of information such as other data non-volatile, removable and non-removable media. Computer storage media includes, but is not used to store RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, DVD or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any information and any other medium that can be used and can be accessed by a computer, which is not limited.</p><p num="888">"Communication media" typically embodies computer readable instructions, data structures, program modules or other data in a modulated data implements a signal such as a carrier wave or other transport mechanism. The communications media also includes any information delivery media. Changed in a way to encode the term "modulated data signal," the information in the signal means a signal that has one or more of the set that attribute. By way of example, and not limitation, communication media includes wireless media such as a wired network, the wired medium and direct-wired connection, such as acoustic, RF, infrared and other wireless media. Is any combination of the above should also be included within the scope of computer readable media.</p><p num="889">Alternatively, a part of the framework may be implemented in hardware or a combination of hardware, software and / or firmware. For example, one or more application specific integrated circuit (ASIC) or a programmable logic device (PLD) designed to implement one or more portions of the framework, or can be programmed.</p><p num="890"><u>conclusion</u></p><p num="891">While the invention has been described in language specific to structural features and / or methodological action, the present invention as defined in the appended claims it is not necessarily limited to the specific features or actions described. Rather, the particular features and actions are disclosed as exemplary forms of implementing the claimed invention.</p>
<p num="892">As described above, according to the present invention, the improved techniques for designing and deploying distributed applications onto the physical computing system can be provided.</p>
152 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27 Sheet 28 Sheet 29 Sheet 30 Sheet 31 Sheet 32 Sheet 33 Sheet 34 Sheet 35 Sheet 36 Sheet 37 Sheet 38 Sheet 39 Sheet 40 Sheet 41 Sheet 42 Sheet 43 Sheet 44 Sheet 45 Sheet 46 Sheet 47 Sheet 48 Sheet 49 Sheet 50 Sheet 51 Sheet 52 Sheet 53 Sheet 54 Sheet 55 Sheet 56 Sheet 57 Sheet 58 Sheet 59 Sheet 60 Sheet 61 Sheet 62 Sheet 63 Sheet 64 Sheet 65 Sheet 66 Sheet 67 Sheet 68 Sheet 69 Sheet 70 Sheet 71 Sheet 72 Sheet 73 Sheet 74 Sheet 75 Sheet 76 Sheet 77 Sheet 78 Sheet 79 Sheet 80 Sheet 81 Sheet 82 Sheet 83 Sheet 84 Sheet 85 Sheet 86 Sheet 87 Sheet 88 Sheet 89 Sheet 90 Sheet 91 Sheet 92 Sheet 93 Sheet 94 Sheet 95 Sheet 96 Sheet 97 Sheet 98 Sheet 99 Sheet 100 Sheet 101 Sheet 102 Sheet 103 Sheet 104 Sheet 105 Sheet 106 Sheet 107 Sheet 108 Sheet 109 Sheet 110 Sheet 111 Sheet 112 Sheet 113 Sheet 114 Sheet 115 Sheet 116 Sheet 117 Sheet 118 Sheet 119 Sheet 120 Sheet 121 Sheet 122 Sheet 123 Sheet 124 Sheet 125 Sheet 126 Sheet 127 Sheet 128 Sheet 129 Sheet 130 Sheet 131 Sheet 132 Sheet 133 Sheet 134 Sheet 135 Sheet 136 Sheet 137 Sheet 138 Sheet 139 Sheet 140 Sheet 141 Sheet 142 Sheet 143 Sheet 144 Sheet 145 Sheet 146 Sheet 147 Sheet 148 Sheet 149 Sheet 150 Sheet 151 Sheet 152
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2002198995A1 | Cites | United States of America | Examiner |
| US6336138B1 | Cites | United States of America | Examiner |
| US06336138B1 | Cites | United States of America | Search report |
| US20020198995A1 | Cites | United States of America | Search report |
55 members in 8 offices
Priority claims8
| Document | Office | Kind | Date |
|---|---|---|---|
| 45273603 | United States of America | P | |
| 45273603 | United States of America | P | |
| 60452736 | United States of America | – | |
| 10693838 | United States of America | – | |
| 69383803 | United States of America | A | |
| 69383803 | United States of America | A | |
| US20030452736P | – | – | – |
| US20030693838 | – | – | – |
Members55
| Document | Office | Kind | |
|---|---|---|---|
| IL160461D0 | Israel | D0 | |
| EP1455484A2 | European Patent Office (EPO) | A2 | |
| KR20040079317A | Republic of Korea | A | |
| KR20040079336A | Republic of Korea | A | |
| EP1457877A2 | European Patent Office (EPO) | A2 | |
| AU2004200639A1 | Australia | A1 | |
| JP2004272907A | Japan | A | |
| JP2004272908A | Japan | A | |
| JP2004272909A | Japan | A | |
| JP2004272912A | Japan | A | |
| US2004193388A1 | United States of America | A1 | |
| EP1465073A2 | European Patent Office (EPO) | A2 | |
| US2004199572A1 | United States of America | A1 | |
| US2004205179A1 | United States of America | A1 | |
| US2004225952A1 | United States of America | A1 | |
| CN1551006A | China | A | |
| EP1498813A2 | European Patent Office (EPO) | A2 | |
| CN1570860A | China | A | |
| CN1601510A | China | A | |
| CN1619490A | China | A | |
| ZA200401494B | South Africa | B | |
| US2005251783A1 | United States of America | A1 | |
| US2006025985A1 | United States of America | A1 | |
| US2006031248A1 | United States of America | A1 | |
| US2006034263A1 | United States of America | A1 | |
| US2006037002A1 | United States of America | A1 | |
| US2006106585A1 | United States of America | A1 | |
| US2006111880A1 | United States of America | A1 | |
| US7072807B2 | United States of America | B2 | |
| EP1455484A3 | European Patent Office (EPO) | A3 | |
| US2006271341A1 | United States of America | A1 | |
| US7162509B2 | United States of America | B2 | |
| EP1457877A3 | European Patent Office (EPO) | A3 | |
| EP1465073A3 | European Patent Office (EPO) | A3 | |
| EP1498813A3 | European Patent Office (EPO) | A3 | |
| US7200530B2 | United States of America | B2 | |
| US2008059214A1 | United States of America | A1 | |
| EP1975785A1 | European Patent Office (EPO) | A1 | |
| CN100530160C | China | C | |
| CN100559366C | China | C | |
| AU2004200639B2 | Australia | B2 | |
| US7630877B2 | United States of America | B2 | |
| US7684964B2 | United States of America | B2 | |
| US7689676B2 | United States of America | B2 | |
| US7765501B2 | United States of America | B2 | |
| US7792931B2 | United States of America | B2 | |
| US7886041B2 | United States of America | B2 | |
| US7890543B2 | United States of America | B2 | |
| US7890951B2 | United States of America | B2 | |
| KR101026606B1This record | Republic of Korea | B1 | |
| JP2011070707A | Japan | A | |
| US8122106B2 | United States of America | B2 | |
| CN1570860B | China | B | |
| KR101117945B1 | Republic of Korea | B1 | |
| EP1455484B1 | European Patent Office (EPO) | B1 |
9 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Annual fee paymentFPAY | FPAY | |
| Annual fee paymentFPAY | FPAY | |
| Annual fee paymentFPAY | FPAY | |
| Annual fee paymentFPAY | FPAY | |
| Annual fee paymentFPAY | FPAY | |
| Written decision to grantGRNT | GRNT | |
| Decision to grant or registration of patent rightE701 | E701 | |
| Notification of reason for refusalE902 | E902 | |
| Request for examinationA201 | A201 |
Numbers
- Publication
- 10-1026606
- Publication, DOCDB
- 101026606
- Publication, EPODOC
- KR101026606B
- Application
- 100015016
- Application, DOCDB
- 20040015016
- Application, EPODOC
- KR20040015016
Titles3
- Korean
- 시스템용 통합 설계, 배치 및 관리방법, 장치, 시스템 및 컴퓨터 판독가능 기록매체
- English
- INTEGRATING DESIGN, DEPLOYMENT, AND MANAGEMENT PHASES FOR SYSTEMS
- English
- Integrated design, deployment and management methods for systems, devices, systems, and computer readable media {INTEGRATING DESIGN, DEPLOYMENT, AND MANAGEMENT PHASES FOR SYSTEMS}
Classification
- CPC, 9
- H04L41/145
- G06F9/00
- G06F8/65
- H04L41/12
- G06F8/10
- G06F11/3684
- G06F11/3692
- H04L67/1001
- G06F11/3698
- IPC, 6
- G06F9 00
- G06F9 44
- G06F15 177
- G06F9 445
- H04L12 24
- H04L29 08