Figure 1 - uploaded by Yingxu Wang
Content may be subject to copyright.
The architecture of RTOS+ 

The architecture of RTOS+ 

Source publication
Article
Full-text available
A real-time operating system RTOS provides a platform for the design and implementation of a wide range of applications in real-time systems, embedded systems, and mission-critical systems. This paper presents a formal design model for a general RTOS known as RTOS+ that enables a specific target RTOS to be rigorously and efficiently derived in real...

Context in source publication

Context 1
... accessing the physical machine in order to run applica- tions. A general-purpose operating system may be perceived as an agent between the hardware and resources of a computer and the applica- tions and users. An operating system may be divided into three subsystems known as those of the kernel or system management , the resource management , and the process management (Dijkstra, 1968; Brinch-Hansen, 1971; Liu & Layland, 1973; Peterson & Silberschantz, 1985; Anderson et al., 1989; McDermid, 1991; Deitel & Kogan, 1992; Tanenbaum, 1994; Viscarola & Mason, 2001; Silberschatz et al., 2003; Wang, 2004, 2007). The kernel of an operating system is a set of central components for computing, including CPU scheduling and process manage- ment. The resource management subsystem is a set of supporting functions for various system resources and user interfaces. The process management subsystem is a set of transition manipulation mechanisms for processes and threads interacting with the system kernel and resources. A real-time operating system (RTOS) is an operating system that supports and guarantees timely responses to external and internal events of real-time systems (Laplante, 1977; Sha et al., 1990; ISO/IEC, 1996; Ford, 1997; Bollella et al., 2002; Kreuzinger et al., 2002; Ngolah, Wang, & Tan, 2004). An RTOS monitors, responds to, and controls an external environment, which is con- nected to the computer system through sensors, actuators, or other input-output (I/O) devices. In a real-time system in general and an RTOS in particular, the correctness of system behaviors depends not only on the logical results of com- putation but also on the time point at which the results are obtained. Real-time systems can be divided into hard and soft real-time systems. In the former, a failure to meet timing constraints will be of serious consequences, while in the latter, a timing failure may not significantly affect the functioning of the system. A great variety of RTOS’s have been developed in the last decades (Lewis & Berg, 1998; Labrosse, 1999; Yodaiken, 1999; Rivas & Harbour, 2001; Lamie, 2008; ETTX, 2009). The existing RTOS’s are characterized as target- machine-specific, implementation-dependent, and not formally modeled. Therefore, they are usually not portable as a generic real-time oper- ating system to be seamlessly incorporated into real-time or embedded system implementations. Problems often faced by RTOS’s are CPU and tasks scheduling, time/event management, and resource management. Efficient and precise methodologies and notations for describing solutions to these problems are critical in RTOS design and implementation. Generally, RTOS’s require multitasking, process threads, and a suf- ficient number of interrupt levels to deal with the random interrupt mechanisms in real-time systems. In modern RTOS’s, multitasking is a technique used for enabling multiple tasks to share a single processor. A thread is individual execution of a process in order to handle concur- rent tasks. In addition, an interrupt is a request of an external device or internal process that causes the operating system to suspend the execution of a current low priority task, serve the interrupt, and hand control back to the interrupted process. This paper develops a comprehensive design paradigm of the formal real-time operat- ing system (RTOS+) in a top-down approach on the basis of the RTPA methodology. The conceptual model, architectural model, and the static/dynamic behavioral models of RTOS+ are systematically presented. In the remainder of this paper, the conceptual model of RTOS+ is described as the initial requirements for the system. The architectural model of RTOS+ is created based on the conceptual model using the RTPA architectural modeling methodolo- gies and refined by a set of unified data models (UDMs). Then, the static behaviors of RTOS+ are specified and refined by a set of unified process models (UPMs). The dynamic behaviors of RTOS+ are specified and refined by process priority allocation, process scheduling, and system dispatching models. Due to its exces- sive length and complexity, this paper presents the first part of RTOS+ on its conceptual and architectural models, followed in serial by another paper that presents the second part of this work on the static and dynamic behavioral models of RTOS+ (Wang et al., 2010c). The multi-task and multithread real-time operat- ing system (RTOS+) is a portable and rigorous RTOS with formal architectural models and behavioral processes. As a preparation, this sec- tion presents the conceptual models of RTOS+ from the facets of its architectures, resources, and processes (tasks), as well as their interac- tions. The top-level framework and the process scheduling scheme of RTOS+ are informally introduced. RTOS+ is designed for handling event-, time-, and interrupt-driven processes as a potable real- time system platform. The conceptual architec- ture of RTOS+ is described as shown in Figure 1, where interactions between system resources, components, and internal control models are illustrated. The conceptual architecture of RTOS+ can be divided into three subsystems: a) the processor and the CPU/process/system schedulers, b) the resource/event controllers, and c) the process control structures. The schedulers for CPU, processes, and the entire system are the innermost operating system kernel that directly controls the CPU as well as system tasks, processes, events, and resources. The process scheduling mechanism of RTOS+ is priority-based. A flexible priority scheduling technique is adopted in RTOS+, where the priority of a given process for a task is assigned based on its type and importance when it is created. Processes are categorized into five priority levels known as the high and low periodic interrupts, device I/O interrupt, user application interrupts, and the base levels. A process, when it is created, will be put into a proper queue corresponding to its predefined priority level. The resources of RTOS+ are modeled by the entities of memory, time, devices (ports), interrupt facilities, files, and internal control structures such as dispatching queues, system/ device/event/memory, and process control blocks. The resources in RTOS+ can be classi- fied into three categories known as the system resources (memory, device, and files), event resources (system timing events, interrupts, and I/O events), and resource control structures (running processes and tasks in other states). The process scheduling of RTOS+ is priority- based and event-driven as shown in Figure 2. The process scheduler is responsible for de- termining which process should be executed on the processor at a given time interval of CUP time. The dynamic performance of tasks in RTOS+ is embodied by a series of coherent processes and threads. A task is created by the system (State 1) as a process in the waiting queue with an assigned priority based on its importance and timing requirement. When the required resource is available, the process pending in the waiting queue will be scheduled into a ready queue with the proper priority. The process scheduler dispatches tasks in the high ready queues before scheduling those in the low ready queue in State 2. It continuously checks the ready queues to see if there is any process ready to be run in State 3. If there are ready processes in the queue, it compares the priorities of the currently executing process and that of the first process in the queue. If the first process in the queue has a higher priority, it pre-empts the CPU from the currently run- ning process, assigns the CPU to the higher priority process from the queue, and sends the lower priority process to the delayed queue in State 6. The delayed process is re-dispatched to the appropriate ready queue to be executed when the CPU becomes available. If there are two processes of the same priority, the process scheduler treats them on a first-come-first- serve basis. A scheduled process executes on the CPU until it is either completed (State 4) or is sus- pended due to lack of a resource or pending for an event (State 7). As illustrated in Figure 2, there are three conditions that may cause a running process to be re-scheduled out of run- ning: a) Interrupted by a process or event with higher priority; b) Timed-out for a pre-scheduled time-interval of CPU; and c) Waiting for a specific device or event. An interrupted running process is sent to the interrupted queue (State 5) and later returned to the appropriate ready queue when the interrupt service (State 9) is over. A process that has exhausted its assigned time interval must go to the delayed queue (State 6), while it can be re-scheduled back to one of the ready queues immediately for wait- ing for the next available CPU executing inter- val. However, a process that can no longer be executed due to lack of memory or resource has to be sent to the suspended queue (State 7 ) , which may return to the appropriate ready queue when the pending resource has become avail- able. A process interrupted, delayed, or sus- pended at States 5, 6, or 7, respectively, may be killed (State 8) by the process scheduler in case there is a persistent unavailability on de- manded resources or CPU time. More rigorous description of the system dispatching and process scheduling strategies and algorithms will be elaborated by the entire dynamic behaviors of RTOS+, particularly the CPUScheduler ST (Figure 18), ProcessSchedul- er ST (Figure 31), and SystemDispatcher ST (Fig. 30) from the bottom up. On the basis of the conceptual models of RTOS+ as described in Figs. 1 and 2, the formal design models for RTOS+ can be developed in a rigorous and systematical approach using Real-Time Process Algebra (RTPA) (Wang, 2002, 2008a, 2008c). According to the RTPA methodology for system modeling, specifica- tion, and refinement (Wang, 2007, 2008a), the top-level RTPA specification of RTOS+ is given ...

Similar publications

Article
Full-text available
Dynamic fuzzy logic is reviewed and its connections with denotational mathematics are established. Dynamic fuzzy logic extends fuzzy logic in the direction of logic-processes, which include processes of fuzzification and defuzzification as parts of logic. This extension of fuzzy logic is inspired by processes in the brain-mind. Cognitive models are...
Article
Full-text available
Semantics is composed meaning of language expressions and perceptions at the levels of words, phrase, sentence, paragraph, and essay. The basic unit of formal semantics is a concept as a formal model of words in a natural language. Cognitive linguistics focuses on cognitive semantics and its interaction with underlying syntactic structures. A denot...
Article
Full-text available
Attention is a complex mental function of humans in order to capture and serve the basic senses of vision, hearing, touch, smell, and taste, as well as internal motivations and perceptions. This paper presents a formal model and a cognitive process for rigorously explaining human attentions. Cognitive foundations of attentions and their relationshi...
Article
Full-text available
Today, under the “true or false” philosophy, we are confined within the ‘syntactic’ restrictions, in connection with the adoption of the counter-concepts/binary concepts presented by common words and Boolean numbers concerned with logical reasoning based on binary logic. In contrast, truth, according to Brouwer and Heyting (intuitive logic), comes...
Article
Full-text available
It is recognized that concepts are the most fundamental unit of human knowledge and semantic cognition, which carry stable semantics in expression, thinking, learning, reasoning, comprehension, and entity denotation. Although words in natural languages are often ambiguity and polymorphic, concepts elicited from them are not only unique in expressio...

Citations

... In the symbiotic context, the discrete spaces of Physical Space (PS) and Virtual Space (VS) are coupled and coexist. In between the two spaces there exist the Community-Agents supporting four function models: Perceptual Functions, Social Functions, Cognitive Functions and Decision Functions [31]. Thus, according to the Symbiotic Computing paradigm, between the user and the coexisting computer there is an interacting symbiotic partner agent software facilitating the interaction of PS and DS spaces, Fig.2. ...
... Denotational Mathematics in RTPA provides the separation of concerns regarding the static and functional behaviors of the underlying concepts in the physical or virtual spaces with Unified Data Model (UDM) and Unified Process Model (UPM), respectively. Thus, RTPA provides the means for knowledge representation and Real-Time Operating System plus (RTOS+) [31] provides with Denotational Mathematics the means to perform system, resources, and process management including multiple levels of interrupts handling. Therefore, the formal algebraic representation of advanced concepts and the necessary underlying operating system form a complete computing environment and the efficiency is expressed with Flux. ...
Article
Full-text available
The formally defined mathematical framework of Denotational Mathematics, provides the opportunity to use existing mathematical tools to define the dimensionless magnitude of knowledge flow. In this paper, "knowledge flux" is defined in order to provide a quantified expression of the developing knowledge with which the knowledgeable control of the physical space can be achieved. Moreover, the data flux can be used as a measure of the interaction between the processes carried in the physical and the corresponding virtual domain. In addition, the data flux can be used to characterize the efficiency of the symbiotic partner agent software which facilitates the interaction between the physical and virtual spaces. As a result, the indicative interaction between the physical and the virtual spaces can be quantified and measured with objective evidence.
... Therefore, both natural and machinable intelligence are necessarily generated from the cognitive levels of data, information, and knowledge from the bottom up [45]. In this rigorous sense, Chat-GPT [49], [50], [51], [52], [53] has not reached the expected level of machine intelligence embodied by a typical Real-Time Operating Systems (RTOS) [54], [55], because the former has only enabled Ip rather than Ib according to intelligence science [16], [43], [44]. ...
Conference Paper
Full-text available
This talk presents the latest advances in theories of Complex Intelligent Systems (CIS) and basic research breakthroughs towards Autonomous AI (AI*). It is revealed that human and machine intelligence is a unique cognitive function that transforms information to actions or knowledge. The former is recognized as behavioral intelligence (Ib), while the latter is perceptive intelligence (Ip). AI* is underpinned by the framework of Intelligent Mathematics (IM) encompassing Inference Algebra, System Algebra, Concept Algebra, Semantic Algebra, Real-Time Process Algebra (RTPA), Image Frame Algebra, Visual Semantic Algebra, Big-Data Algebra, and Fuzzy Probability Algebra, etc. AI* theories have revealed the key bottleneck of, and fundamental challenges to, traditional AI technologies. IM has unleashed the intelligent power of AI* systems such as a) Real-time trustworthiness of AS, b) A patent on training-free facial image recognition, and c) Cognitive Computers/Robots beyond conventional pre-trained or pre-programmed AI systems.
... Denotational Mathematics in RTPA provides the separation of concerns regarding the static and functional behaviors of the underlying concepts in the physical or virtual spaces with Unified Data Model (UDM) and Unified Process Model (UPM), respectively. Thus, RTPA provides the means for knowledge representation and Real-Time Operating System plus (RTOS+) [23] provides with the Denotational Mathematics means to perform system, resources, and process management including multiple levels of interrupts handling. Therefore, the formal algebraic representation of advanced concepts and the necessary underlying operating system form a compete computing environment and the associated efficiency is expressed with Flux. ...
... The internally carried operations must be managed using temporary and permanent memory banks. Thus, such a system collects operations and builds processes with which the system requests, creates, performs, runs, interrupts, completes, delays, suspends, kills, and dispatches the available sets of operations or processes [23]. Therefore, the operation of a knowledge bases requires the support from a Real-Time Operating System to manage the carried internal processes and synchronize the requests from the surrounding environment with a Real-Time Operating System (RTOS+) [23]. ...
... Thus, such a system collects operations and builds processes with which the system requests, creates, performs, runs, interrupts, completes, delays, suspends, kills, and dispatches the available sets of operations or processes [23]. Therefore, the operation of a knowledge bases requires the support from a Real-Time Operating System to manage the carried internal processes and synchronize the requests from the surrounding environment with a Real-Time Operating System (RTOS+) [23]. ...
Preprint
Full-text available
The formally defined mathematical framework of Denotational Mathematics provides the opportunity to use existing mathematical tools to define the dimensionless magnitude of knowledge flow. In this paper, "knowledge flux" is defined in order to provide a quantified magtnitude of the developing knowledge with which the knowledgeable control of the physical space can be expressed. Moreover, flux of data can be used as a measure of the interaction between the processes carried in the physical and the corresponding virtual domain. In addition, the data flux can be used to rate the efficiency of the symbiotic partner agent software which facilitates the interaction between the physical and virtual spaces. As a result, the indicative interaction between the physical and the virtual spaces can be quantified and measured with objective evidence.
... The system is confirmed to be correct if the system satisfies all the properties obtained from the specifications [2]. Many research that discusses verification on ATM asserted that it has passed the validity and security test by verification [1,3,4]. ...
Article
Full-text available
This study was conducted to verify a system of Automated Teller Machine (ATM) which is a facility provided by a bank. Various transactions can be done by using ATM, including cash withdrawal, payment, and transfer. However, in spite of its function, ATM can also be a target of crime such as cash robbery and frauds. Therefore, the correctness of ATM and its security is essential and for that reason, formal verification is needed. Formal verification is a technique to ensure the model of a system to satisfy a certain specification. ATM has a time variable on its system. Therefore, timed automata can be used as a model of ATM. In this paper, an algorithm is constructed based on the ATM cash withdrawal steps. Next, we construct a timed automaton model and design nine specifications. Then, timed automaton were verified against these nine specifications using UPPAAL. From the verification results, it can be concluded that the security of the ATM system is guaranteed.
... Wang et al. [7] developed the formal architecture and memory management for RTOS. Authors explained the processes with state transition diagrams as shown in the figure below. ...
... State transition diagram[7]. ...
Thesis
Full-text available
Choice of an RTOS for an embedded system is quite challenging. Detailed understanding of architectures and processes is necessary. Most critical part is the selection of memory management unit. Dynamic memory management in hardware is essential for hard real time systems. Hardware assures the process is deterministic.
... The formal description of the operation of the supporting system is provided through the specification of the DynamicBehaviorPC component. The focus is on the dynamic description of the system's behavior consisted of B={B t , B e , B int , B g , B d , B p , B inf } that involved the concepts of time, B t event, B e , instructional interrupt B int , achieving goals B g , and decisions related B d , perception B p , and inference B inf that cause the functionality of autonomic intellectual responsiveness (Wang et al., 2010a;Wang et al., 2010b). The dynamic behaviors of the system depend on the components of B or their dynamic combinatorial compositions based on the activation of interrupts' mechanism and on the template (Wang, 2009b) ...
Article
Full-text available
In the home ubiquitous computing (UbiComp) environment the wirelessly and ad-hoc networked computing devices are connected with sensors and actuators monitoring, recording, and intervening in the performed activities. The unattended applications operating at this environment must be fault tolerant and redundant. However, the lack of standardization and the uncontrolled evolvement of the developed situations at home result in a hostile environment for computer applications. Also, the need to support the individual’s mobility at home increases further the level of difficulty of the associated computing efforts. The individual’s mobility is supported providing computing services which can migrate from the currently running device to the neighboring one in order to follow every inhabitant’s disposition. Migration presupposes the selection of adequate policies supported by the suitable software infrastructure to exploit the conceptual implementation of polymorphism that allows the preservation of functionality while autonomously transferred to another computing device. This paper provides a formal description with Denotational Mathematics of the operational prerequisites of such an autonomous system that achieves the migration of applications for the continuous support of the individual’s mobility. The infrastructure must be capable of enforcing strategies and policies related to migration either by transporting the supporting applications or by referencing them. The achievement of the provision of healthcare at the UbiComp home presupposes the continuous support of the individual’s mobility.
... The formal description of the operation of the supporting system is provided through the specification of the DynamicBehaviorPC component. The focus is on the dynamic description of the system's behavior consisted of B={B t , B e , B int , B g , B d , B p , B inf } that involved the concepts of time, B t event, B e , instructional interrupt B int , achieving goals B g , and decisions related B d , perception B p , and inference B inf that cause the functionality of autonomic intellectual responsiveness [17,18]. The dynamic behaviors of the system depend on the components of B or their dynamic combinatorial compositions based on the activation of interrupts' mechanism and on the template [19] of the form (Event 1 ↳{ProcessSet 1 }) that when an event takes place a series of actions follow. ...
Conference Paper
Full-text available
In the home ubiquitous computing (UbiComp) environment the wirelessly and ad-hoc networked computing devices are connected with sensors and actuators monitoring, recording, and intervening in the performed activities. The unattended applications operating at this environment must be fault tolerant and redundant. However, the lack of standardization and the uncontrolled evolvement of the developed situations at home result in a hostile environment for computer applications. Also, the need to support the individual's mobility at home increases further the level of difficulty of the associated computing efforts. The individual's mobility is supported providing computing services which can migrate from the currently running device to the neighboring one in order to follow every inhabitant's disposition. Migration presupposes the selection of adequate policies supported by the suitable software infrastructure to exploit the conceptual implementation of polymorphism that allows the preservation of functionality while autonomously transferred to another computing device. This paper provides a formal description with Denotational Mathematics of the operational prerequisites of such an autonomous system that achieves the migration of applications for the continuous support of the individual's mobility. The infrastructure must be capable of enforcing strategies and policies related to migration either by transporting the supporting applications or by referencing them. The achievement of the provision of healthcare at the UbiComp home presupposes the continuous support of the individual's mobility.
... The software science theories represented by the algebraic software model GMMS, the embedded process model ERMS, and the event-driven system dispatch model MMSS as formally obtained in Definition 5, Theorems 4, and Theorem 6, respectively, can be deductively applied to efficiently generate any software application or program, particularly large-scale ones, based on formally modeled PMs and SMs of a given system. Experiments on transforming the formal software system models of a set of large-scale real-world systems into code have been reported on the automated teller machine (ATM) (Wang et al., 2010d), the telephone switching system (TSS) (Wang, 2009c), the lift dispatching system (LDS) , the real-time operating system (RTOS+) (Wang et al., 2010b, c), the cognitive knowledge base (CKB) (Wang and Tian, 2013), and the air traffic control system (ATCS) (Wang et al., 2013a, b). The software science theories powered by the RTPA methodology enable machines to realize autonomic code generation (Wang et al., 2010a) in any programming language based on the formal models of software systems towards the ultimate aim of software science and software engineering. ...
Article
Full-text available
Software science is a discipline that studies the formal properties and mathematical models of software, general methodologies for rigorous and efficient software development, and coherent theories and laws underpinning software behaviors and software engineering practices. This paper presents a general mathematical model of software (GMMS). It reveals that software is not only an interactive dispatch structure at the top level driven by the trigger, timing, and interrupt events (E), but also a set of embedded relational processes at intermediate levels of components or subsystems. The GMMS model formally describes the abstract entities of software by structure models (SMs) and the functional behaviors of software by process models (PMs). As a result, the overall mathematical model of software systems (SS) is formally derived as a Cartesian product SS = E × PM × SM for any form and size of software systems. Case studies demonstrate that novel, rigorous, and efficient methodologies for software engineering can be deductively developed based on the formal theories of software science.
... Accordingly, all PMs of TSS have been implemented in the target programming languages based on the formal models in the three groups. For example, DigitReceivingPM, as formally modeled inFigure 21, is a special real-time support process of TSS that receives the called subscriber number sent by the calling subscriber in high frequency periodical interrupt cycles in order to meet its timing constraints (Wang, 2009; Wang et al., 2010a). The listings of class DigitsReceiver developed by the three groups are provided in Appendix A through Appendix C. ...
... The practical formal engineering methodology of RTPA for system modeling and specification provides a coherent notation system and systematical approach for large-scale software and hybrid system design and implementation. A series of formal design models of real-world and real-time applications in RTPA have been developed using RTPA notations and methodologies (Wang, 2002Wang, , 2007Wang, , 2008aWang, , 2008bWang, , 2008cWang, , 2008d Wang & Huang, 2008;) in the formal design-engineering approach, such as the telephone switching system (TSS) (Wang, 2009), the lift dispatching system (LDS) (Wang et al., 2009), the automated teller machine (ATM) (Wang et al., 2010c), the real-time operating system (RTOS+) (Wang et al., 2010a), the autonomic code generator (RTPA-CG) (), the ADTs (Wang, Ngolah, Tan, Tian, & Sheu, 2010), the file management system (FMS) (Wang, Ngolah, Tan, Tian, & Sheu, 2011), the doubly-linked-circular list (DLC-List) ( ), the universal arrays (UA) (Wang, Huang, & Lie, 2011), trees (), digraphs (Wang & Adewumi, 2012), and the air traffic control system (Wang et al., in press). Further studies have demonstrated that RTPA is not only useful as a generic notation and methodology for software engineering, but also good at modeling human cognitive processes in cognitive computing and computational intelligence as reported (Wang, 2003Wang, , 2010 Wang & Ruhe, 2007; Wang & Chiew, 2010; Tain et al., 2011). ...
Article
Full-text available
The Telephone Switching Systems TSS is a typical real-time system that is highly complicated in design and implementation. In order to deal with the extreme complexity in real-world settings, a suitable and efficient mathematical means is required beyond any programming language. To this purpose, an efficient and precise denotational mathematics known as the Real-Time Process Algebra RTPA and the RTPA methodology for system modeling are introduced. Empirical experimental results are reported in this paper on the implementation of TSS based on formal models of the system in RTPA. Three phases of experiments are designed on TSS conceptual modeling, system interface design, and programming implementation and testing. All groups in the experiments with 7 to 8 members have been able to efficiently understood, design, and implement the TSS system in a simplified version in four weeks, which has been estimated as a 10+ person-year project in the industry. The efficiency and expressiveness of RTPA are empirically demonstrated base on the case studies in the experiments.
... The practical formal engineering methodology of RTPA for system modeling and specification provides a coherent notation system and systematical approach for large-scale software and hybrid system design and implementation. A series of formal design models of real-world and real-time applications in RTPA have been developed using RTPA notations and methodologies (Wang, 2002Wang, , 2007Wang, , 2008aWang, , 2008bWang, , 2008cWang, , 2008dWang, , 2009a Wang & Huang, 2008;) in the formal design-engineering approach, such as the telephone switching system (TSS) (Wang, 2009b), the lift dispatching system (LDS) (Wang et al., 2009 ), the automated teller machine (ATM) (Wang, Zhang, Sheu, Li, & Guo, 2010), the real-time operating system (RTOS+) (Wang et al., 2010aWang et al., , 2010b), the autonomic code generator (RTPA-CG) (), the ADTs (Wang, Ngolah, Tan, Tian, & Sheu, 2010), the file management system (FMS) (Wang, Ngolah, Tan, Tian, & Sheu, 2011 ), the doubly-linked-circular list (DLC- List) (), and the air traffic control system (to be reported). Further studies have demonstrated that RTPA is not only useful as a generic notation and methodology for software engineering, but also good at modeling human cognitive processes in cognitive informatics and computational intelligence as reported (Wang, 2008dWang, , 2009aWang, , 2010aWang, , 2010bWang, , 2011 Wang & Ruhe, 2007; Wang & Chiew, 2010). ...
Article
Full-text available
Arrays are one of the most fundamental and widely applied data structures, which are useful for modeling both logical designs and physical implementations of multi-dimensional data objects sharing the same type of homogeneous elements. However, there is a lack of a formal model of the universal array based on it any array instance can be derived. This paper studies the fundamental properties of Universal Array UA and presents a comprehensive design pattern. A denotational mathematics, Real-Time Process Algebra RTPA, allows both architectural and behavioral models of UA to be rigorously designed and refined in a top-down approach. The conceptual model of UA is rigorously described by tuple-and matrix-based mathematical models. The architectural models of UA are created using RTPA architectural modeling methodologies known as the Unified Data Models UDMs. The physical model of UA is implemented using linear list that is indexed by an offset pointer of elements. The behavioral models of UA are specified and refined by a set of Unified Process Models UPMs. As a case study, the formal UA models are implemented in Java. This work has been applied in a number of real-time and nonreal-time systems such as compilers, a file management system, the real-time operating system RTOS+, and the ADT library for an RTPA-based automatic code generation tool.