We came from the idea: to describe what would happen in the software AND hardware world if we hit  the keyboard in a computer. The open system is real complex and, of course, interesting. We try to use layering methodology to solve our problem, after that, we extend xADL2.0 to describe our layered open system architecture.

By architecture we mean for a typical layer, open systems are composed of four elements: (1) component; (2) interface; (3) link; (4) connector.

 

Layer 1. Human-Computer Interface : User Interfaces (UIs) are part of software programs allow: (1) user to interact with computer; (2) user to carry out their task. (For detailed description, see here; xADL example, see here; graphic view, see here. )

Layer 2. Intra-Application Scripting : Scripting languages are differing from system programming languages, like C++, in that they are designed for “gluing” applications together. They assume the existence of a set of powerful components and are intended primarily for connecting components. (For detailed description, see here; for xADL example, see here; graphic view, see here.)

Layer 3. Application program : Application is “a program (as a word processor or a spreadsheet) that performs one of the important tasks for which a computer is used.” (Copy from Merriam-Webster's Collegiate Dictionary). Before development software, we always have a picture of our product, or so-called brainstorms. Then we need specify our idea in term of software conventional terminology, called specification. A piece of code that implements that specification using programming language or other tools is what we called application program. (For detailed description, see here; for xADL example, see here; graphic view, see here.)

Layer 4. Inter-Application Scripting: The difference between intra-application scripting and inter-application scripting is that intra-application scripting glues the components within an application while  inter-application scripting glues separated applications together. (For detailed description, see here;  xADL example, see here; graphic view, see here. )

Layer 5. Middleware: Middleware is connectivity software that consists of a set of enabling services that allow multiple processes running on one or more machines to interact across a network. The most widely publicized middleware initiatives are the Open Software Foundation's Distributed Computing Environment (DCE), Object Management Group's Common Object Request Broker Architecture (CORBA), and Microsoft's COM/DCOM. (For detailed description, see here, for xADL example, see here; graphic view, see here. )

Layer 6. Operating System : Operating system is a program that acts as an intermediary between a user of a computer and the computer hardware. Operating system goals: Execute user programs and make solving user problems easier; make the computer system convenient to use; use the computer hardware in an efficient manner. (For detailed description, see here; for xADL example see here; graphic view, see here. )

Layer 7. System Programming:  System programming language and complier defined a virtual machine that specifies what statements of application program are acceptable. (For detailed description, see here; for xADL example see here; graphic view, see here. )

Layer 8. Computer System : A modern, general-purpose computer system consists of a CPU and a number of device controllers that are connected through a common bus that provide access to shared memory. Each device controllers is in charge of a specific type of device, like disk drivers, audio devices, etc. (For detailed description, see here; for xADL example see here; graphic view, see here. )

Layer 9. Instruction Set Architecture and Register Transfer Level: Instruction-set architecture is “… the attributes of a computing system as seen by the programmer, i.e. the conceptual structure and functional behavior, as distinct from the organization of the data flows and controls the logic design, and physical implementation.” (Amdahl, Blaaw, and Brooks, 1964). In a another word, ISA is a kind of contract: programmers use the ISA to model how program will execute; hardware implementation use the ISA as a formal definition of the correct way to execute program. (For detailed description, see here; for xADL example see here; graphic view, see here. )

Layer 10. Logic: This layer describes a design by logic gates and the connections between them. (For detailed description, see here; for xADL example see here; graphic view, see here. )

Layer 11. Circuit: This layer describes the physical connection of devices: transistors etc. (For detailed description, see here; for xADL example see here; graphic view, see here. )

Layer 12. Physical Device: This layer describes the carriers (electron and hole) in the semiconductor material. (For detailed description, see here; for xADL example see here; graphic view, see here. )