{"title":"On the consequences of acting in the presence of inconsistency","authors":"B. Nuseibeh, A. Russo","doi":"10.1109/IWSSD.1998.667933","DOIUrl":"https://doi.org/10.1109/IWSSD.1998.667933","url":null,"abstract":"Managing inconsistency in specifications covers a range of activities from consistency checking and inconsistency analysis to inconsistency handling through action. We argue that inconsistency analysis is insufficient to determine the choice of actions to take in the presence of inconsistency. Rather, we propose that some form of 'hypothetical reasoning' is needed in order to determine the consequences of different actions and thereby facilitate the decision making process. We suggest some logic based techniques and associated heuristics for analysing the consequences of acting in the presence of inconsistency.","PeriodicalId":431074,"journal":{"name":"Proceedings Ninth International Workshop on Software Specification and Design","volume":"61 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-04-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123040734","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}
{"title":"The safety requirements engineering dilemma","authors":"D. Berry","doi":"10.1109/IWSSD.1998.667930","DOIUrl":"https://doi.org/10.1109/IWSSD.1998.667930","url":null,"abstract":"A key idea followed in the software and system safety community is that an identified hazard is best dealt with by changing the requirements of the system so that the hazard does not even occur. This modus operandi creates a serious dilemma. The hazard identification, that is needed in order to know what hazards to avoid, is best done after the code has been written, because only then are the potential effects of any particular stimulus, event, etc. deducible. However, if the response to the identified hazard is to change the requirements, then this requirements change will happen only after the code is written. Such changes are both expensive and dangerous. So, a means to identify all hazards at requirements analysis time is needed.","PeriodicalId":431074,"journal":{"name":"Proceedings Ninth International Workshop on Software Specification and Design","volume":"156 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-04-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126645281","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}
{"title":"Traceability and modularity in software design","authors":"R. Wieringa","doi":"10.1109/IWSSD.1998.667923","DOIUrl":"https://doi.org/10.1109/IWSSD.1998.667923","url":null,"abstract":"A software design specification consists of a number of documents that describe various aspect of the design at different levels of detail, that are lined in many ways. This paper shows how different designs may use different modularization criteria, and how documents describing these designs may be linked in a coherent way, even if the designs use techniques borrowed from structured as well as object-oriented analysis and design. Illustrations are taken from the meeting scheduler case study.","PeriodicalId":431074,"journal":{"name":"Proceedings Ninth International Workshop on Software Specification and Design","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-04-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114740244","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}
{"title":"A coordination model to specify systems including mobile agents","authors":"P. Ciancarini, G. Franzé, Cecilia Mascolo","doi":"10.1109/IWSSD.1998.667924","DOIUrl":"https://doi.org/10.1109/IWSSD.1998.667924","url":null,"abstract":"A coordination model provides a formal framework in which the interaction of active entities that we call agents can be expressed. A coordination model deals with the creation and destruction of agents, their communication activities, their distribution and mobility in space, as well as the synchronization and distribution of their actions over time. We show how a coordination model called PoliS offers a flexible basis for the description and the analysis of architectures of systems including mobile agents. We have developed a model checking technique for the automatic analysis of PoliS specifications.","PeriodicalId":431074,"journal":{"name":"Proceedings Ninth International Workshop on Software Specification and Design","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-04-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122570879","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}
{"title":"Incremental software development method based on abstract interpretation","authors":"Nobukazu Yoshioka, Masato Suzuki, T. Katayama","doi":"10.1109/IWSSD.1998.667927","DOIUrl":"https://doi.org/10.1109/IWSSD.1998.667927","url":null,"abstract":"Stepwise Refinement is a well-known effective method for developing a large and complex software product. In traditional methods, a program is refined with respect to its function and the method is only applied in its design phase. In consequence, data defined at each step is too abstract to allow its execution and it is hard to find design errors by executing design artifacts. In this paper, we propose a method: Incremental Software development method based on Data Reification (ISDR), in which a program is refined from its data reification point of view and can be executed using Abstract Interpretation. One of the advantages of ISDR is that we can interpret intermediate programs, which are not finished completely, so that errors can be detected at an earlier stage of software development than in traditional methods.","PeriodicalId":431074,"journal":{"name":"Proceedings Ninth International Workshop on Software Specification and Design","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-04-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129170915","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}
{"title":"Why IDLs are not ideal","authors":"A. Kaplan, John V. E. Ridgway, J. Wileden","doi":"10.1109/IWSSD.1998.667913","DOIUrl":"https://doi.org/10.1109/IWSSD.1998.667913","url":null,"abstract":"The dominant approach to addressing heterogeneity, interoperability and legacy software components at present is based on the use of interface description languages (IDLs) such as the OMG/CORBA IDL. We believe that this approach has serious drawbacks. In this paper we outline our objections to the IDL-based approach, then describe ongoing research directed toward producing a superior alternative, which we refer to as the polylingual systems approach. We illustrate both our objections to the IDL-based approach and also our new polylingual systems approach with examples based on the IWSSD common case study.","PeriodicalId":431074,"journal":{"name":"Proceedings Ninth International Workshop on Software Specification and Design","volume":"74 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-04-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131506978","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}
{"title":"Modal logic as a design notation","authors":"C. Areces, M. Felder, D. Hirsch, D. Yankelevich","doi":"10.1109/IWSSD.1998.667931","DOIUrl":"https://doi.org/10.1109/IWSSD.1998.667931","url":null,"abstract":"A notation to describe software system designs is given, together with the means to verify properties over them. Designs are considered as models of a modal logic. The procedure to derive the modal model associated to a design, the algorithm to check properties over a model, the method to define new relations and the method of model filtration are presented. The proposed logic (KPI, a poly-modal logic with inverse operators) is used as a property specification language verified through a model checking algorithm. The methods provided proved to be effective and simple to implement. A prototype tool has been developed in SML-NJ covering all functionalities described.","PeriodicalId":431074,"journal":{"name":"Proceedings Ninth International Workshop on Software Specification and Design","volume":"105 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-04-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125599505","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}
{"title":"Safety through security","authors":"A. Simpson","doi":"10.1109/IWSSD.1998.667915","DOIUrl":"https://doi.org/10.1109/IWSSD.1998.667915","url":null,"abstract":"This paper illustrates that the concept of noninterference, used in theories of security, may also be used to reason about safety. It presents a technique for modelling safety properties in terms of communicating processes, and develops a practical theory of system protection from failures. A simple example is presented to illustrate the application of this technique to different classes of safety property.","PeriodicalId":431074,"journal":{"name":"Proceedings Ninth International Workshop on Software Specification and Design","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-04-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122309574","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}
Bruno Ginoux, Jean-Luc Dormoy, Claudia Jimenez-Dominguez, J. Lucas, Laurent Pierre
{"title":"DESCARTES: an automatic programming system for algorithmically simple programs","authors":"Bruno Ginoux, Jean-Luc Dormoy, Claudia Jimenez-Dominguez, J. Lucas, Laurent Pierre","doi":"10.1109/IWSSD.1998.667925","DOIUrl":"https://doi.org/10.1109/IWSSD.1998.667925","url":null,"abstract":"Most research work in the field of automatic programming has been focused on conceptually complex problems. However, although most of the programs we are generally faced with may be very big and manage large volumes of data, they are conceptually simple. Starting from this consideration, we have developed, since 1992, a system called DESCARTES which, fully automatically, generates programs written in conventional procedural languages, starting from program specifications expressed in a mathematical type formal specification language. The first operational version of the system which represents about one million of C lines has already been used in several industrial applications, and especially to specify and generate a nuclear power plant emergency shutdown system and a module scheduling control operations for a fuel power plant. In this paper, we describe the DESCARTES language and system as well as the results obtained and we comment our approach compared to traditional approaches in the field of automatic programming.","PeriodicalId":431074,"journal":{"name":"Proceedings Ninth International Workshop on Software Specification and Design","volume":"69 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-04-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114590502","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}
{"title":"Towards an algebra of architectural connectors: a case study on synchronization for mobility","authors":"M. Wermelinger, J. Fiadeiro","doi":"10.1109/IWSSD.1998.667928","DOIUrl":"https://doi.org/10.1109/IWSSD.1998.667928","url":null,"abstract":"To cope with the flexibility and extensibility needed for the specification of the architecture of evolving software systems, it is useful to have a set of primitive connectors from which new ones can be created in a systematic way as needs arise and to connect components only when they are required to interact. This could be achieved with a connector algebra whose constants are given primitive connectors and whose operations allow the (transient) creation of new connectors. This paper is a step towards that goal. We put forward an application-independent connector for partial action synchronization and three generic operations. Applied to the basic connector they provide application-specific connectors for inhibition and full synchronization of actions. Moreover, we associate to each connector a condition stating when it should be applied to components.","PeriodicalId":431074,"journal":{"name":"Proceedings Ninth International Workshop on Software Specification and Design","volume":"242 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-04-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124665056","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}