Operating systems: design and implementation
Operating systems: design and implementation
Safety Analysis Using Petri Nets
IEEE Transactions on Software Engineering
Communication and concurrency
An object-oriented approach to domain analysis
ACM SIGSOFT Software Engineering Notes
Reflective computation in object-oriented concurrent systems and its applications
IWSSD '89 Proceedings of the 5th international workshop on Software specification and design
An experimental reflective programming system written in GHC
Journal of Information Processing
Object-oriented concurrent reflective languages can be implemented efficiently
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
FORTE '90 Proceedings of the IFIP TC6/WG6.1 Third International Conference on Formal Description Techniques for Distributed Systems and Communication Protocols: Formal Description Techniques, III
Reflection and semantics in LISP
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Reasoning about conceptual interoperability of simulations using meta-level graph relations
Intelligent Decision Technologies - Ontology Driven Interoperability for Agile Applications using Information Systems: Requirements and Applications for Agent Mediated Decision Support
Hi-index | 0.00 |
This paper reports on a technique for specifying concurrent systems by using a formal specification language with reflective computation mechanism. We call the specifications written by a reflective language reflective specifications. Our reflective language is an enhanced version of LOTOS (Language of Temporal Ordering Specification). We embedded reflection or reflective computation facilities to behaviour specification part of LOTOS in order to define complex behaviour in simple and natural way. Reflection in a program is a mechanism to access and modify its execution states which its executor has. Our enhanced version of LOTOS is called RLOTOS, and has two level architecture --- object level and meta level. The processes in the meta level, called meta processes, have the computational information and interpret the behaviour expressions of their object level processes. We can define meta processe in the same manner as LOTOS processes to control the behaviour of the object level processes. In this paper, we present a case study of specifying an operating system by using RLOTOS. Furthermore we discuss the method to construct comprehensive formal specifications by using reflective languages and explore the applicability of the reflective language to formal specification. The essential point of comprehensiveness is that the meta properties of the system such as control characteristics can be specified separately from the object level properties.