{"title":"An architectural style for multiple real-time data feeds","authors":"Neil Roodyn, W. Emmerich","doi":"10.1145/302405.302695","DOIUrl":"https://doi.org/10.1145/302405.302695","url":null,"abstract":"We present an architectural style for the integration of multiple real-time data feeds on Windows NT platforms. We motivate the development of this style by highlighting different application areas in which the style has been deployed. We present the requirements that will be met by the architectural style and discuss the design of customizable components that implement the style based on Microsoft's Component Object Model.","PeriodicalId":359367,"journal":{"name":"Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002)","volume":"91 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127048939","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":"Software architecture classification for estimating the cost of COTS integration","authors":"D. Yakimovich, J. Bieman, V. Basili","doi":"10.1145/302405.302643","DOIUrl":"https://doi.org/10.1145/302405.302643","url":null,"abstract":"The use of commercial-off-the-shelf (COTS) products creates a software integration problem, whether a single COTS software component is being integrated into a software system, or the whole system is being built primarily from COTS products. This integration may require considerable effort and affect system quality. A good estimate of integration cost can help in the decision of whether or not to use a COTS solution, the selection of the best COTS products, and determine the amount and type of glueware that needs to be built, in this paper, we introduce a set of variables that have the potential to estimate the integration cost. We present a classification scheme of software architectures with respect to the integration of COTS products. The scheme is based on inter-component interactions within software architectures. The classification scheme allows the comparison of integration costs of different COTS products relative to different software architectures.","PeriodicalId":359367,"journal":{"name":"Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002)","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125870779","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":"Verification and validation of requirements for mission critical systems","authors":"S. Easterbrook","doi":"10.1145/302405.302951","DOIUrl":"https://doi.org/10.1145/302405.302951","url":null,"abstract":"The aim of this tutorial is to introduce a number of practical techniques for analyzing requirements for embedded, mission critical systems, along with a general model for applying them as part of an Independent Verification and Validation (IV&V) process. We will emphasize the use of formal modeling techniques, but with a purely practical aim: we will demonstrate how to select and apply an appropriate analysis technique, irrespective of whether the project to which it is to be applied routinely uses any formal specification languages. The tutorial draws on our, experiences with lightweight formal techniques applied to NASA programs, in which we have demonstrated that formal techniques offer a great deal of value as a modeling tool for analysis of mission critical software requirements, without incurring the expense of formally specifymg these requirements. The tutorial will include several NASA case studies.","PeriodicalId":359367,"journal":{"name":"Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002)","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122673184","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":"International workshop on testing distributed component-based systems","authors":"A. Ulrich, G. Chrobok-Diening","doi":"10.1145/302405.302964","DOIUrl":"https://doi.org/10.1145/302405.302964","url":null,"abstract":"This summary reports on the one-day Workshop on Testing Distributed Componem-Based Systems (TDCS) that took place in affiliation with the International Conference on Software Engineering (ICSE) in Los Angeles in May 1999. The workshop dealt with new advances m test methods and test technologies for the emerging class of &stributed component-based systems that are built on basis of middleware software like COM, CORBA, or Java RMI, including syslems comprising Commercial-Off-The-Shelf (COTS) components The around thirty workshop attendees discussed what efforts m software technology and research are required to cope with testing such systems. Twelve papers out of nineteen submissions were presented.","PeriodicalId":359367,"journal":{"name":"Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002)","volume":"146 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128130246","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":"Prototyping real-time vision systems: an experiment in DSL design","authors":"A. Reid, J. Peterson, Gregory Hager, P. Hudak","doi":"10.1145/302405.302681","DOIUrl":"https://doi.org/10.1145/302405.302681","url":null,"abstract":"Describes the enhancement of XVision, a large library of C++ code for real-time vision processing, into FVision (pronounced \"fission\"), a fully-featured domain-specific language (DSL) embedded in Haskell. The resulting prototype system substantiates the claims of increased modularity, effective code reuse and rapid prototyping that characterize the DSL approach to systems design. It also illustrates the need for judicious interface design: relegating computationally expensive tasks to XVision (pre-existing C++ components) and leaving modular compositional tasks to FVision (Haskell). At the same time, our experience demonstrates how Haskell's advanced language features (specifically, parametric polymorphism, lazy evaluation, higher-order functions and automatic storage reclamation) permit a rapid DSL design that is itself highly modular and easily modified. Overall, the resulting hybrid system exceeded our expectations: visual tracking programs continue to spend most of their time executing low-level image processing code, while Haskell's advanced features allow us to quickly develop and test small prototype systems within a matter of a few days, and to develop realistic applications within a few weeks.","PeriodicalId":359367,"journal":{"name":"Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002)","volume":"153 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121424407","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}
D. Kasik, Conrad E. Kimball, Jimmie L. Felt, Kenneth B. Frazier
{"title":"A flexible approach to alliances of complex applications","authors":"D. Kasik, Conrad E. Kimball, Jimmie L. Felt, Kenneth B. Frazier","doi":"10.1145/302405.302408","DOIUrl":"https://doi.org/10.1145/302405.302408","url":null,"abstract":"Complex distributed environments contain thousands of workstations that can run hundreds of applications. Multiple networks are used to connect the workstations to dozens of behind-the-scenes servers, all of which are necessary for the user to perform even simple tasks. Such distributed environments are difficult to design and maintain, and current software engineering practices are not well adapted to deal with this inherent complexity. This paper describes the Single Glass Project in the Boeing Commercial Airplane Group. Single Glass expands the number of both internally developed and commercial-off-the-shelf applications a single user can access from any workstation. The result is in production use by over 6,000 people in both Puget Sound and Wichita. The key to success is a flexible and scaleable architecture that works within a complex, heterogeneous application and delivery system environment. Our work has focused on both computing technology (software and delivery systems) and general processes (primary technology, support, and organization). Agreements on both technology and process improvements are essential to project success. Single Glass is a work in progress, and we describe areas that require additional investigation. Our experience indicates that most technical problems can be addressed. However, significant improvement is needed in software engineering processes and practices to design and build applications and systems that can be tested, delivered, supported, and diagnosed when made available alongside other, independently developed applications and systems.","PeriodicalId":359367,"journal":{"name":"Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130590484","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":"Leap: a \"personal information environment\" for software engineers","authors":"Philip M. Johnson","doi":"10.1145/302405.302919","DOIUrl":"https://doi.org/10.1145/302405.302919","url":null,"abstract":"The Leap toolkit is designed to provide Lightweight, Empirical, Anti-measurement dysfunction, and Portable approaches to software developer improvement. Using Leap, software engineers gather and analyze personal data concerning time, size, defects, patterns, and checklists. They create and maintain definitions describing their software development procedures, work products, and project attributes, including document types, defect types, severities, phases, and size definitions. Leap also supports asynchronous software review and facilitates integration of this group-based data with individually collected data. The Leap toolkit provides a \"reference model\" for a personal information environment to support skill acquisition and improvement for software engineers.","PeriodicalId":359367,"journal":{"name":"Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128820942","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":"Linux as a case study: its extracted software architecture","authors":"Ivan T. Bowman, R. Holt, Neil V. Brewster","doi":"10.1145/302405.302691","DOIUrl":"https://doi.org/10.1145/302405.302691","url":null,"abstract":"Many software systems do not have a documented system architecture. These are often large, complex systems that are difficult to understand and maintain. One approach to recovering the understanding of a system is to extract architectural documentation from the system implementation. To evaluate the effectiveness of this approach, we extracted architectural documentation from the Linux/sup TM/ kernel. The Linux kernel is a good candidate for a case study because it is a large (800 KLOC) system that is in widespread use and it is representative of many existing systems. Our study resulted in documentation that is useful for understanding the Linux system structure. Also, we learned several useful lessons about extracting a system's architecture.","PeriodicalId":359367,"journal":{"name":"Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002)","volume":"174 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114467933","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":"Project LEAP: personal process improvement for the differently disciplined","authors":"Carleton A. Moore","doi":"10.1145/302405.302998","DOIUrl":"https://doi.org/10.1145/302405.302998","url":null,"abstract":"Software developers and managers have faced the problem of producing quality software since the beginning of the computer age. Many people have studied the software quality problem and have proposed many solutions. We can categorize these different solutions into two groups: (1) \"Topdown\" solutions, that focus on software development as a group effort and (2) \"Bottom-up\" solutions, that focus on the individual software developer. Some of the many Top-down solutions include: the Capability Maturity Model, Clean Room development, software quality assurance groups, and Formal. Technical Review. These top down methods help improve the quality of the software, however they may not be enough.","PeriodicalId":359367,"journal":{"name":"Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002)","volume":"732 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123858585","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}
Premkumar T. Devanbu, Y. Chen, E. Gansner, H. Müller, Johannes Martin
{"title":"CHIME: customizable hyperlink insertion and maintenance engine for software engineering environments","authors":"Premkumar T. Devanbu, Y. Chen, E. Gansner, H. Müller, Johannes Martin","doi":"10.1145/302405.302679","DOIUrl":"https://doi.org/10.1145/302405.302679","url":null,"abstract":"Source code browsing is an important part of program comprehension. Browsers expose semantic and syntactic relationships (such as between object references and definitions) in GUI-accessible forms. These relationships are derived using tools which perform static analysis on the original software documents. Implementing such browsers is tricky. Program comprehension strategies vary, and it is necessary to provide the right browsing support. Analysis tools to derive the relevant cross-reference relationships are often difficult to build. Tools to browse distributed documents require extensive coding for the GUI, as well as for data communications. Therefore, there are powerful motivations for using existing static analysis tools in conjunction with WWW technology to implement browsers for distributed software projects. The CHIME framework provides a flexible, customizable platform for inserting HTML links into software documents using information generated by existing software analysis tools. Using the CHIME specification language, and a simple, retargetable database interface, it is possible to quickly incorporate a range of different link insertion tools for software documents, into an existing, legacy software development environment. This enables tool builders to offer customized browsing support with a well-known GUI. This paper describes the CHIME architecture, and describes our experience with several re-targeting efforts of this system.","PeriodicalId":359367,"journal":{"name":"Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002)","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122489065","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}