Pub Date : 2000-09-11DOI: 10.1109/ICECCS.2000.873939
Rafael Ramírez, A. Santosa, R. Yap
The task of programming concurrent systems is substantially more difficult than the task of programming sequential systems with respect to both correctness and efficiency. In this paper we describe a constraint-based methodology for writing concurrent applications. A system is modeled as: (a) a set of processes containing a sequence of "markers" denoting the processes points of interest; and (b) a constraint store. Process synchronization is specified by incrementally adding constraints on the markers execution order into the constraint store. The constraint store contains a declarative specification based on a temporal constraint logic program. The store, thus, acts as a coordination entity which on the one hand encapsulates the system synchronization requirements, and on the other hand, provides a declarative specification of the system concurrency issues. This provide great advantages in writing concurrent programs and manipulating them while preserving correctness.
{"title":"Concurrent programming made easy","authors":"Rafael Ramírez, A. Santosa, R. Yap","doi":"10.1109/ICECCS.2000.873939","DOIUrl":"https://doi.org/10.1109/ICECCS.2000.873939","url":null,"abstract":"The task of programming concurrent systems is substantially more difficult than the task of programming sequential systems with respect to both correctness and efficiency. In this paper we describe a constraint-based methodology for writing concurrent applications. A system is modeled as: (a) a set of processes containing a sequence of \"markers\" denoting the processes points of interest; and (b) a constraint store. Process synchronization is specified by incrementally adding constraints on the markers execution order into the constraint store. The constraint store contains a declarative specification based on a temporal constraint logic program. The store, thus, acts as a coordination entity which on the one hand encapsulates the system synchronization requirements, and on the other hand, provides a declarative specification of the system concurrency issues. This provide great advantages in writing concurrent programs and manipulating them while preserving correctness.","PeriodicalId":228728,"journal":{"name":"Proceedings Sixth IEEE International Conference on Engineering of Complex Computer Systems. ICECCS 2000","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116036526","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}
Pub Date : 2000-09-11DOI: 10.1109/ICECCS.2000.873934
T. Ihara, H. Ohnishi, Yasushi Takagi
The current mobile IP specification forces all packets forwarded to a mobile terminal (MT) to be routed via that terminal's home agent (HA), which often leads to triangular routing, which in turn causes data transmission delay and wastes network resources. IETF (Internet Engineering Task Force) is studying a solution that can optimize the route length, but this solution requires the implementation of additional functions on all correspondent nodes, so it will not be realistic. The paper proposes the use of mobile IP border gateways (MBGs) to optimize the routing in a carrier-scale network and reduce the processing burden on the HA without adding more functions to the correspondent nodes, and shows the effect of reducing the route length and the HA's load. We also propose a hierarchical arrangement of foreign agents (FAs) to reduce the processing burden on MBGs.
{"title":"Mobile IP route optimization method for a carrier-scale IP network","authors":"T. Ihara, H. Ohnishi, Yasushi Takagi","doi":"10.1109/ICECCS.2000.873934","DOIUrl":"https://doi.org/10.1109/ICECCS.2000.873934","url":null,"abstract":"The current mobile IP specification forces all packets forwarded to a mobile terminal (MT) to be routed via that terminal's home agent (HA), which often leads to triangular routing, which in turn causes data transmission delay and wastes network resources. IETF (Internet Engineering Task Force) is studying a solution that can optimize the route length, but this solution requires the implementation of additional functions on all correspondent nodes, so it will not be realistic. The paper proposes the use of mobile IP border gateways (MBGs) to optimize the routing in a carrier-scale network and reduce the processing burden on the HA without adding more functions to the correspondent nodes, and shows the effect of reducing the route length and the HA's load. We also propose a hierarchical arrangement of foreign agents (FAs) to reduce the processing burden on MBGs.","PeriodicalId":228728,"journal":{"name":"Proceedings Sixth IEEE International Conference on Engineering of Complex Computer Systems. ICECCS 2000","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116173045","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}
Pub Date : 2000-09-11DOI: 10.1109/ICECCS.2000.873930
Y. Sugiyama
Production of a large-scale software system involves quite a few software components. It is very common to develop such software components in a distributed environment consisting of multiple computer systems connected by computer networks. In order to support effective software development in a distributed environment, a mechanism to combine a large number of components, which are distributed over the network, into a single system in a systematic way is quite essential. Object Make is a tool that automates the building process of software systems consisting of software components that are stored in the file systems of distributed computer systems, as if they are stored in a single file system. Software developers are not required to transfer these remote components to their own local computer systems explicitly, even if the computer systems do not share a common file system. The paper gives an overview of the distributed software build process for large-scale software systems using Object Make.
{"title":"Distributed development of complex software systems with Object Make","authors":"Y. Sugiyama","doi":"10.1109/ICECCS.2000.873930","DOIUrl":"https://doi.org/10.1109/ICECCS.2000.873930","url":null,"abstract":"Production of a large-scale software system involves quite a few software components. It is very common to develop such software components in a distributed environment consisting of multiple computer systems connected by computer networks. In order to support effective software development in a distributed environment, a mechanism to combine a large number of components, which are distributed over the network, into a single system in a systematic way is quite essential. Object Make is a tool that automates the building process of software systems consisting of software components that are stored in the file systems of distributed computer systems, as if they are stored in a single file system. Software developers are not required to transfer these remote components to their own local computer systems explicitly, even if the computer systems do not share a common file system. The paper gives an overview of the distributed software build process for large-scale software systems using Object Make.","PeriodicalId":228728,"journal":{"name":"Proceedings Sixth IEEE International Conference on Engineering of Complex Computer Systems. ICECCS 2000","volume":"72 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124066213","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}
Pub Date : 2000-09-11DOI: 10.1109/ICECCS.2000.873929
C. Rouff, J. Rash, M. Hinchey
The process and results of using formal methods to specify the Lights Out Ground Operations System (LOGOS) are presented. LOGOS is a prototype multi agent system developed to demonstrate the feasibility of providing autonomy to satellite ground operations functions at NASA Goddard Space Flight Center (GSFC). Following the initial implementation of LOGOS, the development team decided to use formal methods to check for race conditions, deadlocks and omissions. The specification exercise revealed several omissions as well as race conditions. After completing the specification, the team concluded that certain tools would have made the specification process easier. The paper gives a sample specification of two of the agents in the LOGOS system and examples of omissions and race conditions found.
{"title":"Experience using formal methods for specifying a multi-agent system","authors":"C. Rouff, J. Rash, M. Hinchey","doi":"10.1109/ICECCS.2000.873929","DOIUrl":"https://doi.org/10.1109/ICECCS.2000.873929","url":null,"abstract":"The process and results of using formal methods to specify the Lights Out Ground Operations System (LOGOS) are presented. LOGOS is a prototype multi agent system developed to demonstrate the feasibility of providing autonomy to satellite ground operations functions at NASA Goddard Space Flight Center (GSFC). Following the initial implementation of LOGOS, the development team decided to use formal methods to check for race conditions, deadlocks and omissions. The specification exercise revealed several omissions as well as race conditions. After completing the specification, the team concluded that certain tools would have made the specification process easier. The paper gives a sample specification of two of the agents in the LOGOS system and examples of omissions and race conditions found.","PeriodicalId":228728,"journal":{"name":"Proceedings Sixth IEEE International Conference on Engineering of Complex Computer Systems. ICECCS 2000","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131271201","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}
Pub Date : 2000-09-11DOI: 10.1109/ICECCS.2000.873925
P. Bellini, M. A. Bruno, P. Nesi
System composition/decomposition has to be analyzed in terms of temporal constraints associated with the components' external interface. The analysis is focused on the propagation of temporal constraints along the structural hierarchy, thus showing that in many cases missing temporal constraints can be evaluated on the basis of the temporal constraints known. A set of criteria for the verification of the temporal constraints in a compositional model is presented. A specific graphical notation is proposed. The application of the criteria to a real problem is illustrated by using TROL, an object oriented real time language.
{"title":"Verification criteria for a compositional model for reactive systems","authors":"P. Bellini, M. A. Bruno, P. Nesi","doi":"10.1109/ICECCS.2000.873925","DOIUrl":"https://doi.org/10.1109/ICECCS.2000.873925","url":null,"abstract":"System composition/decomposition has to be analyzed in terms of temporal constraints associated with the components' external interface. The analysis is focused on the propagation of temporal constraints along the structural hierarchy, thus showing that in many cases missing temporal constraints can be evaluated on the basis of the temporal constraints known. A set of criteria for the verification of the temporal constraints in a compositional model is presented. A specific graphical notation is proposed. The application of the criteria to a real problem is illustrated by using TROL, an object oriented real time language.","PeriodicalId":228728,"journal":{"name":"Proceedings Sixth IEEE International Conference on Engineering of Complex Computer Systems. ICECCS 2000","volume":"61 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124681053","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}
Pub Date : 2000-09-11DOI: 10.1109/ICECCS.2000.873942
A. Offutt, Aynur Abdurazik, R. Alexander
This research is part of a project to develop practical, effective, formalizable, automatable techniques for integration testing. Integration testing is an important part of the testing process, but few integration testing techniques have been systematically studied or defined. This paper discusses the design and implementation of an analysis tool for measuring the amount of coverage achieved by a set of test data according to a set of previously defined coupling criteria. This tool can be used to support integration testing of software components. The coupling-based testing technique, which has been described elsewhere, is summarized, and coverage algorithms are discussed. The focus of this paper is on the instrumentation techniques and an analysis tool built for Java programs. It was built in Java using the general Java parser JavaCC and the Java Tree Builder (JTB). We are currently using this tool to gather experimental data on the efficacy and the usefulness of the technique.
{"title":"An analysis tool for coupling-based integration testing","authors":"A. Offutt, Aynur Abdurazik, R. Alexander","doi":"10.1109/ICECCS.2000.873942","DOIUrl":"https://doi.org/10.1109/ICECCS.2000.873942","url":null,"abstract":"This research is part of a project to develop practical, effective, formalizable, automatable techniques for integration testing. Integration testing is an important part of the testing process, but few integration testing techniques have been systematically studied or defined. This paper discusses the design and implementation of an analysis tool for measuring the amount of coverage achieved by a set of test data according to a set of previously defined coupling criteria. This tool can be used to support integration testing of software components. The coupling-based testing technique, which has been described elsewhere, is summarized, and coverage algorithms are discussed. The focus of this paper is on the instrumentation techniques and an analysis tool built for Java programs. It was built in Java using the general Java parser JavaCC and the Java Tree Builder (JTB). We are currently using this tool to gather experimental data on the efficacy and the usefulness of the technique.","PeriodicalId":228728,"journal":{"name":"Proceedings Sixth IEEE International Conference on Engineering of Complex Computer Systems. ICECCS 2000","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130256406","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}
Pub Date : 2000-09-11DOI: 10.1109/ICECCS.2000.873935
S. Inoue, Y. Kakuda
A method of preparing a backup virtual path (VP) for each primary VP is popular for establishing a reliable computer network. In the case of multiple failures, however, it is possible that multiple failures happen on both a primary VP and a pairwise backup VP. In order to solve the above problem, the paper proposes a new multiagent based method where more than one backup VP is prepared for each primary VP.
{"title":"Multiple backup virtual paths reservation problem and its solution","authors":"S. Inoue, Y. Kakuda","doi":"10.1109/ICECCS.2000.873935","DOIUrl":"https://doi.org/10.1109/ICECCS.2000.873935","url":null,"abstract":"A method of preparing a backup virtual path (VP) for each primary VP is popular for establishing a reliable computer network. In the case of multiple failures, however, it is possible that multiple failures happen on both a primary VP and a pairwise backup VP. In order to solve the above problem, the paper proposes a new multiagent based method where more than one backup VP is prepared for each primary VP.","PeriodicalId":228728,"journal":{"name":"Proceedings Sixth IEEE International Conference on Engineering of Complex Computer Systems. ICECCS 2000","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134064246","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}
Pub Date : 2000-09-11DOI: 10.1109/ICECCS.2000.873945
T. Katayama
Software evolution generally means that software can change its structure and functions to tolerate changes of its specification and operating environment. Though it is widely recognized that software is able to evolve is one of the most important requirements of the software which can live long, current software is not made to allow evolution in a reasonable cost. Besides, it is shared by many software researchers and practitioners that very complex software system could be built only by evolving it starting from its simpler version. Evolutionary mechanisms are also needed for modern software which is flexible and open and is able to adapt to new environments.
{"title":"Principles and mechanisms for evolving software systems","authors":"T. Katayama","doi":"10.1109/ICECCS.2000.873945","DOIUrl":"https://doi.org/10.1109/ICECCS.2000.873945","url":null,"abstract":"Software evolution generally means that software can change its structure and functions to tolerate changes of its specification and operating environment. Though it is widely recognized that software is able to evolve is one of the most important requirements of the software which can live long, current software is not made to allow evolution in a reasonable cost. Besides, it is shared by many software researchers and practitioners that very complex software system could be built only by evolving it starting from its simpler version. Evolutionary mechanisms are also needed for modern software which is flexible and open and is able to adapt to new environments.","PeriodicalId":228728,"journal":{"name":"Proceedings Sixth IEEE International Conference on Engineering of Complex Computer Systems. ICECCS 2000","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125688709","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}
Pub Date : 2000-09-11DOI: 10.1109/ICECCS.2000.873932
William G. Howerton, Michael G. Hinchey
The development of complex systems often requires that components and modules are developed individually, then assembled in the later integration phases of the overall effort. In spite of the modular approach taken in the specification and design of these components, developers all too often dogmatically use one particular development technique, while shunning others. The authors show this to be an inadvisable practice. For example, while informal specification techniques provide good mechanisms for describing the structure, complexity and constructs that facilitate the creation of abstract highly structured models of systems, without a well-defined semantics, the models produced are not amenable to rigorous analysis. To reconcile this dilemma, formal methods are being integrated with informal specification techniques. The authors introduce the "tool box" approach to software specification and demonstrate how each module may be specified individually using the specification technique most appropriate for the module at hand, based upon the characteristics of the particular module. We illustrate this via an actual system, the Air Force Weather Agency (AFWA) Standard Degribber: a meteorological system used for decoding/encoding data formatted in the World Meteorological Organization (WMO) standard GRIdded Binary (GRIB) format. We show how UML, when used independently would have been inadequate to fully describe the state based issues of the system, but when integrated with a formal notation, results in a full and complete specification.
{"title":"Using the right tool for the job","authors":"William G. Howerton, Michael G. Hinchey","doi":"10.1109/ICECCS.2000.873932","DOIUrl":"https://doi.org/10.1109/ICECCS.2000.873932","url":null,"abstract":"The development of complex systems often requires that components and modules are developed individually, then assembled in the later integration phases of the overall effort. In spite of the modular approach taken in the specification and design of these components, developers all too often dogmatically use one particular development technique, while shunning others. The authors show this to be an inadvisable practice. For example, while informal specification techniques provide good mechanisms for describing the structure, complexity and constructs that facilitate the creation of abstract highly structured models of systems, without a well-defined semantics, the models produced are not amenable to rigorous analysis. To reconcile this dilemma, formal methods are being integrated with informal specification techniques. The authors introduce the \"tool box\" approach to software specification and demonstrate how each module may be specified individually using the specification technique most appropriate for the module at hand, based upon the characteristics of the particular module. We illustrate this via an actual system, the Air Force Weather Agency (AFWA) Standard Degribber: a meteorological system used for decoding/encoding data formatted in the World Meteorological Organization (WMO) standard GRIdded Binary (GRIB) format. We show how UML, when used independently would have been inadequate to fully describe the state based issues of the system, but when integrated with a formal notation, results in a full and complete specification.","PeriodicalId":228728,"journal":{"name":"Proceedings Sixth IEEE International Conference on Engineering of Complex Computer Systems. ICECCS 2000","volume":"396 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123392346","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}
Pub Date : 2000-09-11DOI: 10.1109/ICECCS.2000.873933
R. Takeuchi, A. Miura, M. Yoshimi
A service control interface is proposed that can be used for telephony services provided by interworking among intelligent networks (INs), computer telephony (CT), and voice over IP (VoIP) systems. The IN Application Protocol (INAP) is mapped to a CORBA (Common Object Request Broker Architecture) interface, based on a proposed rule that achieves lightweight implementation. The proposed interface was implemented and confirmed by several service examples running on experimental systems.
{"title":"Interworking among intelligent networks and different networks: service control interfaces and their applications","authors":"R. Takeuchi, A. Miura, M. Yoshimi","doi":"10.1109/ICECCS.2000.873933","DOIUrl":"https://doi.org/10.1109/ICECCS.2000.873933","url":null,"abstract":"A service control interface is proposed that can be used for telephony services provided by interworking among intelligent networks (INs), computer telephony (CT), and voice over IP (VoIP) systems. The IN Application Protocol (INAP) is mapped to a CORBA (Common Object Request Broker Architecture) interface, based on a proposed rule that achieves lightweight implementation. The proposed interface was implemented and confirmed by several service examples running on experimental systems.","PeriodicalId":228728,"journal":{"name":"Proceedings Sixth IEEE International Conference on Engineering of Complex Computer Systems. ICECCS 2000","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132733020","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}