Cyprian F. Ngolah
University of Calgary
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Cyprian F. Ngolah.
International Journal of Software Science and Computational Intelligence | 2009
Yingxu Wang; Cyprian F. Ngolah; Hadi Ahmadi; Phillip C.-Y. Sheu; Shi Ying
A Lift Dispatching System (LDS) is a typical real-time system that is highly complicated in design and implementation. This article presents the formal design, specification, and modeling of the LDS system using a denotational mathematics known as Real-Time Process Algebra (RTPA). The conceptual model of the LDS system is introduced as the initial requirements for the system. The architectural model of the LDS system is created using RTPA architectural modeling methodologies and refined by a set of Unified Data Models (UDMs). The static behaviors of the LDS system are specified and refined by a set of Unified Process Models (UPMs) for the lift dispatching and serving processes. The dynamic behaviors of the LDS system are specified and refined by process priority allocation and process deployment models. Based on the formal design models of the LDS system, code can be automatically generated using the RTPA Code Generator (RTPA-CG), or be seamlessly transferred into programs by programmers. The formal models of LDS may not only serve as a formal design paradigm of real-time software systems, but also a test bench of the expressive power and modeling capability of exiting formal methods in software engineering. SPE cial SE ction
International Journal of Software Science and Computational Intelligence | 2010
Yingxu Wang; Xinming Tan; Cyprian F. Ngolah
Real-Time Process Algebra RTPA is a denotational mathematics for the algebraic modeling and manipulations of software system architectures and behaviors by the Unified Data Models UDMs and Unified Process Models UPMs. On the basis of the RTPA specification and refinement methodologies, automatic software code generation is enabled toward improving software development productivity. This paper examines designing and developing the RTPA-based software code generator RTPA-CG that transfers system models in RTPA architectures and behaviors into C++ or Java. A two-phrase strategy has been employed in the design of the code generator. The first phrase analyzes the lexical, syntactical, and type specifications of a software system modeled in RTPA, which results in a set of abstract syntax trees ASTs. The second phrase translates the ASTs into C++ or Java based on predesigned mapping strategies and code generation rules. The toolkit of RTPA code generator encompasses an RTPA lexer, parser, type-checker, and a code builder. Experimental results show that system models in RTPA can be rigorously processed and corresponding C++/Java code can be automatically generated using the toolkit. The code generated is executable and effective under the support of an RTPA run-time library.
ieee international conference on cognitive informatics | 2004
Xinming Tan; Yingxu Wang; Cyprian F. Ngolah
A new type of descriptive mathematics, real-time process algebra (RTPA), is developed for describing complicated behaviors of human beings and software systems. This paper describes the key syntax of RTPA defined by a set of 280 LL(k) grammar rules and their recognition techniques. The LL(k) grammar of RTPA is formally described by using the EBNF notations. The design of the RTPA parser and type checker are presented on the basis of the RTPA grammar. To deal with the special non-LL(k) grammar rules of RTPA, the ANTLR syntactic predicates are used to create guarded and extended rules. The tasks of type checking in RTPA recognition can be classified into three categories: (a) identifier type compliancy, (b) expression type compliancy, and (c) process constraint consistency. The implementation of the RTPA parser and type checker provides an important tool for RTPA recognition and for generating executable code for formal specifications of system architectures and behaviors in RTPA.
International Journal of Software Science and Computational Intelligence | 2010
Yingxu Wang; Cyprian F. Ngolah; Guangping Zeng; Phillip C.-Y. Sheu; C. Philip Choy; Yousheng Tian
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-world applications. The methodology of a denotational mathematics, Real-Time Process Algebra RTPA, is described for formally modeling and refining architectures, static behaviors, and dynamic behaviors of RTOS+. The conceptual model of the RTOS+ system is introduced as the initial requirements for the system. The architectural model of RTOS+ is created using RTPA architectural modeling methodologies and refined by a set of Unified Data Models UDMs. The static behaviors of RTOS+ are specified and refined by a set of Unified Process Models UPMs. The dynamic behaviors of the RTOS+ system are specified and refined by the real-time process scheduler and system dispatcher. This work is presented in two papers; the conceptual and architectural models of RTOS+ is described in this paper, while the static and dynamic behavioral models of RTOS+ will be elaborated in a forthcoming paper.
International Journal of Software Science and Computational Intelligence | 2010
Yingxu Wang; Guangping Zeng; Cyprian F. Ngolah; Phillip C.-Y. Sheu; C. Philip Choy; Yousheng Tian
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-world applications. The methodology of a denotational mathematics, Real-Time Process Algebra RTPA, is described for formally modeling and refining architectures, static behaviors, and dynamic behaviors of RTOS+. The conceptual model of the RTOS+ system is introduced as the initial requirements for the system. The architectural model of RTOS+ is created using RTPA architectural modeling methodologies and refined by a set of Unified Data Models UDMs. The static behaviors of RTOS+ are specified and refined by a set of Unified Process Models UPMs. The dynamic behaviors of the RTOS+ system are specified and refined by the real-time process scheduler and system dispatcher. This work is presented in two papers in serial due to its excessive length. The static and dynamic behavioral models of RTOS+ is described in this paper; while the conceptual and architectural models of RTOS+ has been published in IJSSCI 22.
canadian conference on electrical and computer engineering | 2003
Yingxu Wang; Cyprian F. Ngolah
Most industrial computing systems are real-time systems where rigid time constraints must be met. Great attention should therefore be given to the design of real-time operating system (RTOS) because its malfunction may result in a disaster both to business and human life. Current RTOSs are target-machine and application specific. This paper develops a new architecture of RTOSs, RTOS+, which is generic and portable to different platforms. We adopt real-time process algebra (RTPA) to specify and describe RTOS+, particularly its architecture and dynamic behaviours. On the basis of the formal specification, architecture, behaviours, and correctness of RTOS+ can be guaranteed. The core operations of RTOS+, such as task scheduling, time, event and resource management can be rigorously described for better real-time performance and improved resource utilization.
canadian conference on electrical and computer engineering | 2006
Xinming Tan; Yingxu Wang; Cyprian F. Ngolah
Real-time process algebra (RTPA) is a mathematics-based notation system for the specification and refinement of realtime and safety-critical systems. This paper presents the work on designing and developing a set of tools that facilitate automatic generation of C++ code from RTPA specifications of system architectures and behaviors. A two-phrase strategy has been employed in the design of the toolkit. In the first phrase, an RTPA specification is lexically and syntactically analyzed and type-checked, which results in a set of abstract syntax trees. In the second phrase, C++ code is generated using the RTPA-to-C++ mapping strategies and patterns when walking down the abstract syntax trees. The RTPA-to-C++ mapping strategies specify both the traditional sequential part of RTPA mapping onto the standard C++ library and the real-time features of RTPA, such as interrupt, concurrency, duration, and event/time-driven dispatch, mapping onto the RTPA run-time library, which provides real-time support and is implemented using real-time kernel techniques. The toolkit implemented includes an RTPA lexer, an RTPA parser, an RTPA type-checker, and an RTPA code-generator. The experimental results show that RTPA specifications can be rigorously checked and corresponding C++ code can be automatically generated from RTPA specifications using the toolkit. The automatically generated code is executable and effective under the support of the standard C++ library and the specially developed RTPA run-time library
canadian conference on electrical and computer engineering | 2004
Xinming Tan; Yingxu Wang; Cyprian F. Ngolah
This paper presents a type checker for formal specifications of software systems described in real-time process algebra (RTPA). The grammar of RTPA is formally described by using the EBNF convention. Design and implementation techniques are presented that keep the RTPA syntax as close to its original mathematical notations as possible, and at the same time, allow it to be parsed easily as a super higher-level language. The tasks of type checking for RTPA specifications can be classified into three categories: (a) identifier type compliancy, (b) expression type compliancy, and (c) process constraint consistency. The RTPA type checker has been designed and implemented to support system architects and system analysts to ensure the correctness and consistency of system specifications to a maximum extent.
International Journal of Software Science and Computational Intelligence | 2010
Yingxu Wang; Xinming Tan; Cyprian F. Ngolah; Phillip C.-Y. Sheu
Type theories are fundamental for underpinning data object modeling and system architectural design in computing and software engineering. Abstract Data Types ADTs are a set of highly generic and rigorously modeled data structures in type theory. ADTs also play a key role in Object-Oriented OO technologies for software system design and implementation. This paper presents a formal modeling methodology for ADTs using the Real-Time Process Algebra RTPA, which allows both architectural and behavioral models of ADTs and complex data objects. Formal architectures, static behaviors, and dynamic behaviors of a set of ADTs are comparatively studied. The architectural models of the ADTs are created using RTPA architectural modeling methodologies known as the Unified Data Models UDMs. The static behaviors of the ADTs are specified and refined by a set of Unified Process Models UPMs of RTPA. The dynamic behaviors of the ADTs are modeled by process dispatching technologies of RTPA. This work has been applied in a number of real-time and non-real-time system designs such as a Real-Time Operating System RTOS+, a Cognitive Learning Engine CLE, and the automatic code generator based on RTPA.
canadian conference on electrical and computer engineering | 2004
Cyprian F. Ngolah; Yingxu Wang
The use of formal specification techniques in developing large-scale software is considered as a necessary approach towards the implementation of efficient and reliable software systems. Barriers to the widespread adoption of formal methods in system development are attributed to the fact that many formal methods work only at the specification phase and it is still necessary to implement the code manually when specifications are ready. This paper explores the transformability between system specifications in real-time process algebra (RTPA) and code in Java. Automatic Java code generation on the basis of formal specifications in RTPA not only drastically reduce the effort and time spent in interpreting and translating the specifications by programmers, but also significantly improve the quality of code. Case studies on a number of real-world projects have shown the feasibility and efficiency of RTPA-based code generation methodology.