ESEC/FSE-9Pub Date : 2001-09-10DOI: 10.1145/503209.503250
Přemek Brada
{"title":"Component revision identification based on IDL/ADL component specification","authors":"Přemek Brada","doi":"10.1145/503209.503250","DOIUrl":"https://doi.org/10.1145/503209.503250","url":null,"abstract":"Although software components have become one of the mainstream technologies, they still lack a supportive versioning scheme. This paper describes a system for revision identification of released components with well defined semantics. It is based on the analysis of changes in the component IDL or ADL specification structured into a hierarchy of traits and categories of declarations.","PeriodicalId":259249,"journal":{"name":"ESEC/FSE-9","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132727996","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}
ESEC/FSE-9Pub Date : 2001-09-10DOI: 10.1145/503209.503220
Sebastián Uchitel, J. Kramer, J. Magee
{"title":"Detecting implied scenarios in message sequence chart specifications","authors":"Sebastián Uchitel, J. Kramer, J. Magee","doi":"10.1145/503209.503220","DOIUrl":"https://doi.org/10.1145/503209.503220","url":null,"abstract":"Scenario-based specifications such as Message Sequence Charts (MSCs) are becoming increasingly popular as part of a requirements specification. Scenario describe how system components, the environment and users work concurrently and interact in order to provide system level functionality. Each scenario is a partial story which, when combined with other scenarios, should conform to provide a complete system description. However, although it is possible to build a set of components such that each component behaves in accordance with the set of scenarios, their composition may not provide the required system behaviour. Implied scenarios may appear as a result of unexpected component interaction. In this paper, we present an algorithm that builds a labelled transition system (LTS) behaviour model that describes the closest possible implementation for a specification based on basic and high-level MSCs. We also present a technique for detecting and providing feedback on the existence of implied scenarios. We have integrated these procedures into the Labelled Transition System Analyser (LTSA), which allows for model checking and animation of the behaviour model.","PeriodicalId":259249,"journal":{"name":"ESEC/FSE-9","volume":"251 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133414290","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}
ESEC/FSE-9Pub Date : 2001-09-10DOI: 10.1145/503209.503247
B. Freimut, Susanne Hartkopf, Peter Kaiser, J. Kontio, W. Kobitzsch
{"title":"An industrial case study of implementing software risk management","authors":"B. Freimut, Susanne Hartkopf, Peter Kaiser, J. Kontio, W. Kobitzsch","doi":"10.1145/503209.503247","DOIUrl":"https://doi.org/10.1145/503209.503247","url":null,"abstract":"Explicit risk management is gaining ground in industrial software development projects. However, there are few empirical studies that investigate the transfer of explicit risk management into industry, the adequacy of the risk management approaches to the constraints of industrial contexts, or their cost-benefit. This paper presents results from a case study that introduced a systematic risk management method, namely the Riskit method, into a large German telecommunication company. The objective of the case study was (1) to analyze the usefulness and adequacy of the Riskit method and (2) to analyze the cost-benefit of the Riskit method in this industrial context. The results of (1) also aimed at improvement and customization of the Riskit method. Moreover, we compare our findings with results of previous case studies to obtain more generalized conclusions on the Riskit method. Our results showed that the Riskit method is practical, adds value to the project, and that its key concepts are understood and usable in practice. Additionally, many lessons learned are reported that are useful for the general audience who wants to transfer risk management into new projects.","PeriodicalId":259249,"journal":{"name":"ESEC/FSE-9","volume":"188 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124162356","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}
ESEC/FSE-9Pub Date : 2001-09-10DOI: 10.1145/503209.503217
R. Jagannathan, P. Sivilotti
{"title":"Increasing client-side confidence in remote component implementations","authors":"R. Jagannathan, P. Sivilotti","doi":"10.1145/503209.503217","DOIUrl":"https://doi.org/10.1145/503209.503217","url":null,"abstract":"When a client makes use of a remote component, it does not have direct access to the remote component's implementation or state information. By observing the component's interactions with its environment, however, the client can determine whether the component's behavior conforms to its promised specification. We present a distributedinfrastructure with which a client can make these observations and thereby increase its confidence in the correctness of the remote component. This infrastructure supports temporal specifications of distributed components with autonomous threads of control. It also supports multiple levels of confidence, with commensurate performance costs. As a proof-of-concept for this design, we have implemented a prototype in Java for distributed systems built using CORBA.","PeriodicalId":259249,"journal":{"name":"ESEC/FSE-9","volume":"126 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124584095","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}
ESEC/FSE-9Pub Date : 2001-09-10DOI: 10.1145/503209.503259
W. Emmerich, N. Kaveh
{"title":"Component technologies: Java Beans, COM, CORBA, RMI, EJB and the CORBA Component Model","authors":"W. Emmerich, N. Kaveh","doi":"10.1145/503209.503259","DOIUrl":"https://doi.org/10.1145/503209.503259","url":null,"abstract":"This one-day tutorial is aimed at software engineering practitioners and researchers, who are familiar with object-oriented analysis, design and programming and want to obtain an overview of the technologies that are enabling component-based development. We introduce the idea of component-based development by defining the concept and providing its economic rationale. We describe how object-oriented programming evolved into local component models, such as Java Beans and distributed object technologies, such as the Common Object Request Broker Architecture (CORBA), Java Remote Method Invocation (RMI) and the Component Object Model (COM). We then address how these technologies matured into distributed component models, in particular Enterprise Java Beans (EJB) and the CORBA Component Model (CCM). We give an assessment of the maturity of each of these technologies and sketch how they are used to build distributed architectures.","PeriodicalId":259249,"journal":{"name":"ESEC/FSE-9","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123362885","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}
ESEC/FSE-9Pub Date : 2001-09-10DOI: 10.1145/503209.503265
P. Grünbacher, B. Boehm
{"title":"EasyWinWin: a groupware-supported methodology for requirements negotiation","authors":"P. Grünbacher, B. Boehm","doi":"10.1145/503209.503265","DOIUrl":"https://doi.org/10.1145/503209.503265","url":null,"abstract":"EasyWinWin is a requirements definitions methodology that builds on the win-win negotiation approach and leverages collaborative technology to improve the involvement and interaction of key stakeholders. With EasyWinWin, stakeholders move through a step-by-step win-win negotiation where they collect, elaborate, and prioritize their requirements, and then surface and resolve issues.","PeriodicalId":259249,"journal":{"name":"ESEC/FSE-9","volume":"410 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132069192","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}
ESEC/FSE-9Pub Date : 2001-09-10DOI: 10.1145/503209.503258
R. Nord, D. Paulish, R. Schwanke, Dilip Soni
{"title":"Software architecture in a changing world: developing design strategies that anticipate change","authors":"R. Nord, D. Paulish, R. Schwanke, Dilip Soni","doi":"10.1145/503209.503258","DOIUrl":"https://doi.org/10.1145/503209.503258","url":null,"abstract":"It is now generally accepted that separating software architecture into multiple views can help in reducing complexity and in making sound decisions about design trade-offs. Our four views are based on current practice; they are loosely coupled, and address different engineering concerns [1]. This tutorial will teach you how global analysis can improve your design, and how to use UML to describe these views. You will learn: (1) the purpose of having separate software architecture views, (2) the differnce between using UML for software architecture and the use of UML for designing OO implementations, (3) how to apply global analysis to analyze factors that influence the architecture and to develop strategies that guide the design, (4) the importance of designing for anticipated change to produce more maintainable architectures, and (5) how to incorporate software architecture design in your software process. This tutorial is aimed at experienced softwre engineers, architects, and technical managers. It is assumed that participants know the basic UML diagrams. Experience in developing models and software design is helpful.","PeriodicalId":259249,"journal":{"name":"ESEC/FSE-9","volume":"158 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115263754","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}
ESEC/FSE-9Pub Date : 2001-09-10DOI: 10.1145/503209.503226
L. D. Alfaro, T. Henzinger
{"title":"Interface automata","authors":"L. D. Alfaro, T. Henzinger","doi":"10.1145/503209.503226","DOIUrl":"https://doi.org/10.1145/503209.503226","url":null,"abstract":"Conventional type systems specify interfaces in terms of values and domains. We present a light-weight formalism that captures the temporal aspects of software component interfaces. Specifically, we use an automata-based language to capture both input assumptions about the order in which the methods of a component are called, and output guarantees about the order in which the component calls external methods. The formalism supports automatic compatability checks between interface models, and thus constitutes a type system for component interaction. Unlike traditional uses of automata, our formalism is based on an optimistic approach to composition, and on an alternating approach to design refinement. According to the optimistic approach, two components are compatible if there is some environment that can make them work together. According to the alternating approach, one interface refines another if it has weaker input assumptions, and stronger output guarantees. We show that these notions have game-theoretic foundations that lead to efficient algorithms for checking compatibility and refinement.","PeriodicalId":259249,"journal":{"name":"ESEC/FSE-9","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122576511","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}
ESEC/FSE-9Pub Date : 2001-09-10DOI: 10.1145/503209.503236
L. Lavazza, Gabriele Quaroni, Matteo Venturelli
{"title":"Combining UML and formal notations for modelling real-time systems","authors":"L. Lavazza, Gabriele Quaroni, Matteo Venturelli","doi":"10.1145/503209.503236","DOIUrl":"https://doi.org/10.1145/503209.503236","url":null,"abstract":"This article explores a dual approach to real-time software development. Models are written in UML, as this is expected to be relatively easy and economic. Then models are automatically translated into a formal notation that supports the verification of properties such as safety, utility, liveness, etc. In this way, developers can exploit the advantages of formal notations while skipping the complex and expensive formal modelling phase. The proposed appraoch is applied to the Generalised Railroad Crossing (GRC) problem, one of the best known benchmarks porposed in the literature. A UML model of the GRC is built, and then translated into TRIO (a first order temporal logic). The resulting specification properties are tested by a history checking tool which exploits the formality of TRIO. The work described here highlights the shortcomings of UML as a real-time modelling language, proposes enhancements and workarounds to overcome UML limitations, and demonstrates the viability of using UML as a front-end for a formal real-time notation. By translating the GRC model into TRIO, we also give formal semantics to some of the UML constructs.","PeriodicalId":259249,"journal":{"name":"ESEC/FSE-9","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125322709","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}
ESEC/FSE-9Pub Date : 2001-09-10DOI: 10.1145/503209.503252
D. Clarke, Thierry Jéron, Vlad Rusu, E. Zinovieva
{"title":"STG: a tool for generating symbolic test programs and oracles from operational specifications","authors":"D. Clarke, Thierry Jéron, Vlad Rusu, E. Zinovieva","doi":"10.1145/503209.503252","DOIUrl":"https://doi.org/10.1145/503209.503252","url":null,"abstract":"We report on a tool we have developed that automates the derivation of tests from specifications. The tool implements conformance testing techniques to derive symbolic tests that incorporate their own oracles from formal operational specifications. It was applied for testing a simple version of the CEPS (Common Electronic Purse Specification).","PeriodicalId":259249,"journal":{"name":"ESEC/FSE-9","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125509587","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}