Exception handling in a complex concurrent and distributed system (e.g. one involving cooperating rather than just competing activities) is often a necessary, but a very difficult, task. No widely accepted models or approaches exist in this area. The object-oriented paradigm, for all its structuring benefits, and real-time requirements each add further difficulties to the design and implementation of exception handling in such systems. In this paper, we develop a general structuring framework based on the coordinated atomic (CA) action concept for handling exceptions in an object-oriented distributed system, in which exceptions in both the value and the time domain are taken into account. In particular, we attempt to attack several difficult problems related to real-time system design and error recovery, including action-level timing constraints, time-triggered CA actions, and time-dependent exception handling. The proposed framework is then demonstrated and assessed using an industrial real-time application-the Production Cell III case study.
{"title":"Exception handling in object-oriented real-time distributed systems","authors":"A. Romanovsky, Jie Xu, B. Randell","doi":"10.1109/ISORC.1998.666766","DOIUrl":"https://doi.org/10.1109/ISORC.1998.666766","url":null,"abstract":"Exception handling in a complex concurrent and distributed system (e.g. one involving cooperating rather than just competing activities) is often a necessary, but a very difficult, task. No widely accepted models or approaches exist in this area. The object-oriented paradigm, for all its structuring benefits, and real-time requirements each add further difficulties to the design and implementation of exception handling in such systems. In this paper, we develop a general structuring framework based on the coordinated atomic (CA) action concept for handling exceptions in an object-oriented distributed system, in which exceptions in both the value and the time domain are taken into account. In particular, we attempt to attack several difficult problems related to real-time system design and error recovery, including action-level timing constraints, time-triggered CA actions, and time-dependent exception handling. The proposed framework is then demonstrated and assessed using an industrial real-time application-the Production Cell III case study.","PeriodicalId":186028,"journal":{"name":"Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-04-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124269544","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The paper describes the design and implementation of Real-Time Inter-ORB Protocol suited for multimedia applications on the CORBA environment. Conventional CORBA is not well suited for real time applications, since it does not define policies nor mechanisms to provide QoS guarantees, and does not define key features that are necessary to support real time programming. The existing TAO's RIOP for Real-Time CORBA has a mechanism to transfer QoS information but has a lack of support for QoS enforcement to achieve those QoS requests. In order to solve this problem, the paper suggests an integration of GIOP/IIOP with RSVP for Real-Time CORBA. A key feature is presented: QoS enforcement, which is provided for Real-Time CORBA by integrating IIOP with RSVP.
{"title":"Real-Time Inter-ORB Protocol on distributed environment","authors":"S. Hong, D. Min, Sunyoung Han","doi":"10.1109/ISORC.1998.666818","DOIUrl":"https://doi.org/10.1109/ISORC.1998.666818","url":null,"abstract":"The paper describes the design and implementation of Real-Time Inter-ORB Protocol suited for multimedia applications on the CORBA environment. Conventional CORBA is not well suited for real time applications, since it does not define policies nor mechanisms to provide QoS guarantees, and does not define key features that are necessary to support real time programming. The existing TAO's RIOP for Real-Time CORBA has a mechanism to transfer QoS information but has a lack of support for QoS enforcement to achieve those QoS requests. In order to solve this problem, the paper suggests an integration of GIOP/IIOP with RSVP for Real-Time CORBA. A key feature is presented: QoS enforcement, which is provided for Real-Time CORBA by integrating IIOP with RSVP.","PeriodicalId":186028,"journal":{"name":"Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98)","volume":"78 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-04-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134510832","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The approach described in this paper makes use of Coordinated Atomic Actions (CA actions)-a structural design mechanism, for representing the cooperation between objects, at different stages of the software development. The original concept of a CA action has been expanded for accommodating the modelling needs of the initial stages of software development. One of the motivations for using CA actions in an OO approach, is the ability of CA actions to extract from the specification of an object those issues which are related with its the collaborative activities, thus avoiding that a specification of a cooperation be scattered among the specifications of the objects. The feasibility of the approach is demonstrated in terms of a benchmark case study.
{"title":"Coordinated atomic actions in modelling object cooperation","authors":"R. Lemos, A. Romanovsky","doi":"10.1109/ISORC.1998.666785","DOIUrl":"https://doi.org/10.1109/ISORC.1998.666785","url":null,"abstract":"The approach described in this paper makes use of Coordinated Atomic Actions (CA actions)-a structural design mechanism, for representing the cooperation between objects, at different stages of the software development. The original concept of a CA action has been expanded for accommodating the modelling needs of the initial stages of software development. One of the motivations for using CA actions in an OO approach, is the ability of CA actions to extract from the specification of an object those issues which are related with its the collaborative activities, thus avoiding that a specification of a cooperation be scattered among the specifications of the objects. The feasibility of the approach is demonstrated in terms of a benchmark case study.","PeriodicalId":186028,"journal":{"name":"Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98)","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-04-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131970617","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Object-oriented analysis and design methodologies have become popular in development of non-real-time business data processing applications. However, conventional object-oriented techniques have had minimal impacts on development of real-time applications mainly because these techniques do not explicitly address key characteristics of real-time systems, in particular timing requirements. The Time-triggered Message-triggered Object (TMO) structuring is in our view the most natural extension of the object-oriented design and implementation techniques which allows the system designer to explicitly specify timing characteristics of data and function components of an object. To facilitate TMO-based design of real-time systems in the most cost-effective manner it is essential to provide execution support mechanisms in well-established commercial software/hardware platforms compliant with industry standards. In this paper, we present an implementation model for TMO support mechanisms in CORBA-compliant commercial-off-the-self (COTS) platforms. We first introduce a natural and simple mapping between TMO's and CORBA objects. Then, we identify the services to be provided by the TMO support subsystem and an efficient way these services should be implemented. The rest of the paper discusses an implementation of the proposed model realized on top of the Windows NT operating system and the Orbix object request.
{"title":"An implementation model for time-triggered message-triggered object support mechanisms in CORBA-compliant COTS platforms","authors":"E. Shokri, P. Crane, Beverly Hills","doi":"10.1109/ISORC.1998.666764","DOIUrl":"https://doi.org/10.1109/ISORC.1998.666764","url":null,"abstract":"Object-oriented analysis and design methodologies have become popular in development of non-real-time business data processing applications. However, conventional object-oriented techniques have had minimal impacts on development of real-time applications mainly because these techniques do not explicitly address key characteristics of real-time systems, in particular timing requirements. The Time-triggered Message-triggered Object (TMO) structuring is in our view the most natural extension of the object-oriented design and implementation techniques which allows the system designer to explicitly specify timing characteristics of data and function components of an object. To facilitate TMO-based design of real-time systems in the most cost-effective manner it is essential to provide execution support mechanisms in well-established commercial software/hardware platforms compliant with industry standards. In this paper, we present an implementation model for TMO support mechanisms in CORBA-compliant commercial-off-the-self (COTS) platforms. We first introduce a natural and simple mapping between TMO's and CORBA objects. Then, we identify the services to be provided by the TMO support subsystem and an efficient way these services should be implemented. The rest of the paper discusses an implementation of the proposed model realized on top of the Windows NT operating system and the Orbix object request.","PeriodicalId":186028,"journal":{"name":"Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98)","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-04-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133475283","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Processes flying is considered a key technological concept of computation organization, suitable also for the development of parallel programs of high dynamism, reliability and tunability to different internal and external factors (including unpredictable factors).
{"title":"Concepts and features of processes flying technology","authors":"V. Malyshkin","doi":"10.1109/ISORC.1998.666822","DOIUrl":"https://doi.org/10.1109/ISORC.1998.666822","url":null,"abstract":"Processes flying is considered a key technological concept of computation organization, suitable also for the development of parallel programs of high dynamism, reliability and tunability to different internal and external factors (including unpredictable factors).","PeriodicalId":186028,"journal":{"name":"Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-04-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120847578","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Real time computing is becoming an enabling technology for many important distributed applications such as flexible manufacturing, multimedia, robotics and process control. Traditionally, real time systems have been realized as isolated embedded systems. Unfortunately, this approach no longer suffices for future complex systems in the application scenarios mentioned above. In this situation, the use of an object oriented design paradigm greatly reduces the complexity of the system while improving reusability and manageability. Furthermore, the surrounding IT infrastructure is more and more accessible through object oriented interfaces (e.g. CORBA). In addition, object oriented modeling allows reflection of the dynamic characteristics of the applications mentioned above by instantiating objects dynamically. In order to meet the real time requirements in such an environment, static scheduling is not sufficient since many non predictable resource conflicts influence execution times. Therefore, the most distinguishing requirement of these complex heterogeneous systems is the need of the computing system to dynamically adapt to dynamically changing conditions. Little work has been done on integrating object oriented system design with resource allocation algorithms that are flexible enough to cope with this new requirement. The paper presents an approach for an adaptive object oriented system with integrated monitoring, dynamic execution time prediction and scheduling. It explains how this approach is applied to CORBA and C++.
{"title":"An adaptive approach to object-oriented real-time computing","authors":"E. Nett, M. Gergeleit, M. Mock","doi":"10.1109/ISORC.1998.666806","DOIUrl":"https://doi.org/10.1109/ISORC.1998.666806","url":null,"abstract":"Real time computing is becoming an enabling technology for many important distributed applications such as flexible manufacturing, multimedia, robotics and process control. Traditionally, real time systems have been realized as isolated embedded systems. Unfortunately, this approach no longer suffices for future complex systems in the application scenarios mentioned above. In this situation, the use of an object oriented design paradigm greatly reduces the complexity of the system while improving reusability and manageability. Furthermore, the surrounding IT infrastructure is more and more accessible through object oriented interfaces (e.g. CORBA). In addition, object oriented modeling allows reflection of the dynamic characteristics of the applications mentioned above by instantiating objects dynamically. In order to meet the real time requirements in such an environment, static scheduling is not sufficient since many non predictable resource conflicts influence execution times. Therefore, the most distinguishing requirement of these complex heterogeneous systems is the need of the computing system to dynamically adapt to dynamically changing conditions. Little work has been done on integrating object oriented system design with resource allocation algorithms that are flexible enough to cope with this new requirement. The paper presents an approach for an adaptive object oriented system with integrated monitoring, dynamic execution time prediction and scheduling. It explains how this approach is applied to CORBA and C++.","PeriodicalId":186028,"journal":{"name":"Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98)","volume":"09 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-04-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127306711","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
While there has been significant advances in fault tolerance research, the effort has focused on the design of individual fault-tolerant systems or methodologies. Recently, some research has been initiated to develop fault tolerance paradigms that can be used to provide a spectrum of fault tolerance levels. In this paper, we present the design of a fault tolerance framework that can be used to support a wide spectrum of applications with various fault tolerance requirements, various criticality levels, and various system models. The framework is designed to be parameterizable so that the user can configure it to obtain the desired features. Also, the framework is designed to be an off-the-shelf component such that application programs can be integrated within it easily to obtain the fault-tolerant version of the application system. A specialized N-modular redundancy (SNMR) scheme has been developed to serve as the primary approach for achieving efficient and cost-effective fault tolerance for the framework. In most cases, the SNMR scheme yields better performance and lower cost in providing fault tolerance as compared with conventional NMR schemes. It also enhances the scalability and customizability of the general replication method. This paper discusses the major concept of the SNMR framework and the main issues in the design and implementation of the framework, including an object-oriented overall system design and the interface protocol class hierarchy. The interface protocol class hierarchy provides a nice paradigm for the implementation of customizable, highly reusable, and easily extensible SNMR framework.
{"title":"Implementation of a customizable fault tolerance framework","authors":"I. Yen, Iftikhar Ahmed, Ramanujam Jagannath, S. Kundu","doi":"10.1109/ISORC.1998.666793","DOIUrl":"https://doi.org/10.1109/ISORC.1998.666793","url":null,"abstract":"While there has been significant advances in fault tolerance research, the effort has focused on the design of individual fault-tolerant systems or methodologies. Recently, some research has been initiated to develop fault tolerance paradigms that can be used to provide a spectrum of fault tolerance levels. In this paper, we present the design of a fault tolerance framework that can be used to support a wide spectrum of applications with various fault tolerance requirements, various criticality levels, and various system models. The framework is designed to be parameterizable so that the user can configure it to obtain the desired features. Also, the framework is designed to be an off-the-shelf component such that application programs can be integrated within it easily to obtain the fault-tolerant version of the application system. A specialized N-modular redundancy (SNMR) scheme has been developed to serve as the primary approach for achieving efficient and cost-effective fault tolerance for the framework. In most cases, the SNMR scheme yields better performance and lower cost in providing fault tolerance as compared with conventional NMR schemes. It also enhances the scalability and customizability of the general replication method. This paper discusses the major concept of the SNMR framework and the main issues in the design and implementation of the framework, including an object-oriented overall system design and the interface protocol class hierarchy. The interface protocol class hierarchy provides a nice paradigm for the implementation of customizable, highly reusable, and easily extensible SNMR framework.","PeriodicalId":186028,"journal":{"name":"Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-04-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129835092","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Component-based software development would allow application software to be largely constructed rather than programmed. This approach would dramatically improve the productivity of software development. Although there are many reusable software packages available, the integration of the chosen parts remains a very difficult problem because there are many barriers of integration, including programming languages, operating systems, communication mechanism, interface, etc. In this paper, an approach to developing real-time application software based on a distributed component architecture and cross-platform and cross-language integration of these software components is presented. The Common Object Request Broker Architecture (CORBA) is used in the implementation. The distributed components will satisfy easy retrieval and integration over a heterogeneous distributed system environment. A component replication mechanism is used for providing fault-tolerance. Using object adapters with a real-time request monitor and scheduler that are transparently generated by a distributed component integration tool, real-time and fault-tolerance features can be easily incorporated in the application software.
{"title":"An approach to distributed component-based real-time application software development","authors":"S. Yau, Bing Xia","doi":"10.1109/ISORC.1998.666798","DOIUrl":"https://doi.org/10.1109/ISORC.1998.666798","url":null,"abstract":"Component-based software development would allow application software to be largely constructed rather than programmed. This approach would dramatically improve the productivity of software development. Although there are many reusable software packages available, the integration of the chosen parts remains a very difficult problem because there are many barriers of integration, including programming languages, operating systems, communication mechanism, interface, etc. In this paper, an approach to developing real-time application software based on a distributed component architecture and cross-platform and cross-language integration of these software components is presented. The Common Object Request Broker Architecture (CORBA) is used in the implementation. The distributed components will satisfy easy retrieval and integration over a heterogeneous distributed system environment. A component replication mechanism is used for providing fault-tolerance. Using object adapters with a real-time request monitor and scheduler that are transparently generated by a distributed component integration tool, real-time and fault-tolerance features can be easily incorporated in the application software.","PeriodicalId":186028,"journal":{"name":"Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98)","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-04-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116554556","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This paper presents a new mechanism for preventing resource deadlock in a distributed system. The mechanism uses the ordered and atomic multicast (OAM) services to prevent processes that concurrently share resources from deadlocks. OAM provides communication services which deliver messages to their destinations with the guarantees of ordering and atomicity. The paper shows that in a number of situations, OAM is a good alternative to the existing deadlock prevention techniques.
{"title":"Using ordered and atomic multicast for distributed deadlock prevention","authors":"W. Cheng","doi":"10.1109/ISORC.1998.666774","DOIUrl":"https://doi.org/10.1109/ISORC.1998.666774","url":null,"abstract":"This paper presents a new mechanism for preventing resource deadlock in a distributed system. The mechanism uses the ordered and atomic multicast (OAM) services to prevent processes that concurrently share resources from deadlocks. OAM provides communication services which deliver messages to their destinations with the guarantees of ordering and atomicity. The paper shows that in a number of situations, OAM is a good alternative to the existing deadlock prevention techniques.","PeriodicalId":186028,"journal":{"name":"Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98)","volume":"120 6","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-04-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131746130","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
We present the design and implementation of a debugger for Object-Oriented CHILL that has three object models: module, region and task modes. Besides basic facilities for general debugging, the Object-Oriented CHILL debugger provides facilities for showing information of object types (modes), inheritance, visibility and dynamic bindings. To provide debugging facilities for these object-oriented properties we have newly designed or extended the GNU debugger, GDB. Since our implementation is based on the translator, the additional considerations such as investigating original line numbers for source level debugging are supported.
{"title":"An Object Oriented CHILL debugger","authors":"E. Paik, Youngjoon Byun, Young-Sik Chung, Byung-Sun Lee","doi":"10.1109/ISORC.1998.666780","DOIUrl":"https://doi.org/10.1109/ISORC.1998.666780","url":null,"abstract":"We present the design and implementation of a debugger for Object-Oriented CHILL that has three object models: module, region and task modes. Besides basic facilities for general debugging, the Object-Oriented CHILL debugger provides facilities for showing information of object types (modes), inheritance, visibility and dynamic bindings. To provide debugging facilities for these object-oriented properties we have newly designed or extended the GNU debugger, GDB. Since our implementation is based on the translator, the additional considerations such as investigating original line numbers for source level debugging are supported.","PeriodicalId":186028,"journal":{"name":"Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-04-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131431514","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}