{"title":"A C++ framework for active objects in embedded real-time systems-bridging the gap between modeling and implementation","authors":"M. Caspersen","doi":"10.1109/TOOLS.1999.809414","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.809414","url":null,"abstract":"In research communities it is now well-accepted that the object paradigm provides a good foundation for the challenges of concurrent and distributed computing. For practitioners, however, it is not without problems to combine the concepts of processes and objects. A major reason for this is that the predominant object-oriented programming language in industry, C++, does not support concurrency. In this paper we present a simple and powerful approach to extending C++ with constructs for concurrent programming. We discuss the design, application, and implementation of a framework that supports standard concurrency constructs and, contrary to what is suggested in several books on object oriented modeling techniques for real-time systems, we demonstrate that it is possible to integrate the notions of object and process and maintain a smooth-virtually non-existing-transition from modeling to implementation. The framework has been used at Bang and Olufsen, a major Danish manufacturer of audio and video equipment, to develop software for a CD player; we illustrate the strength of the approach with examples from this project. As a pleasant side benefit, the framework approach results in a considerable reduction of the code size of more than 50% compared to earlier versions of the system.","PeriodicalId":272695,"journal":{"name":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 32","volume":"72 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125378762","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":"Using design patterns to derive PAC architectures from Object-Z specifications","authors":"A. Hussey","doi":"10.1109/TOOLS.1999.809413","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.809413","url":null,"abstract":"Interactor-based architectures for Graphical User Interfaces (GUIs) model an interface as a composition of interacting objects that each present internal state to the user and provide operations on that state. One such architecture is Presentation-Abstraction-Control (PAC). Architectures such as PAC can be described as a combination of design patterns. We use the patterns to derive a PAC architecture for a file browser application from a corresponding Object-Z specification.","PeriodicalId":272695,"journal":{"name":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 32","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114692862","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}
Axel Schmolitzky, M. Evered, J. L. Keedy, G. Menger
{"title":"How can covariance in pragmatical class methods be made statically type-safe?","authors":"Axel Schmolitzky, M. Evered, J. L. Keedy, G. Menger","doi":"10.1109/TOOLS.1999.809426","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.809426","url":null,"abstract":"Binary class methods are often more suitable for modelling binary operations than binary instance methods. Allowing covariant parameter type adaptations in class methods can make them even more attractive. We discuss the implications of covariant class methods on type safety. We discuss two examples, one type-safe at run-time and the other not, and formulate type rules that make it possible to identify the difference at compile-time.","PeriodicalId":272695,"journal":{"name":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 32","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130953171","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":"Optimizing Object-Oriented collection join queries through path traversals","authors":"D. Taniar","doi":"10.1109/TOOLS.1999.809434","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.809434","url":null,"abstract":"Path traversals have been recognized as one of the strengths of object-oriented query processing as object retrieval can be carried out through pointer navigation. Apart from path traversals, explicit join between objects is sometimes necessary in Object-Oriented Databases (OODB), due to the absence of pointer connections or the need for value matching between objects. Like in Relational Databases (RDBMS), join operations are still, if not more, expensive in OODB. In this paper, we propose an optimization strategy for object-oriented collection join queries through the use of path traversals. Our performance evaluation shows that optimization of collection join queries gains some performance benefits.","PeriodicalId":272695,"journal":{"name":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 32","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115599356","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}
L. Murray, D. Carrington, Ian MacColl, P. Strooper
{"title":"TinMan-a test derivation and management tool for specification-based class testing","authors":"L. Murray, D. Carrington, Ian MacColl, P. Strooper","doi":"10.1109/TOOLS.1999.809428","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.809428","url":null,"abstract":"Even with increasing use of formal methods for software development, software testing continues to be a dominant technique for verification and validation. With specification-based testing, the precision of formal specifications can make the testing more systematic. This paper describes a tool to assist the derivation of test cases from Object-Z specifications. The tool supports the Test Template Framework and manages the testing information for the user. Management of the generated testing information is regarded as a high priority and is one of the tool's features. The tool is demonstrated on a simple example to indicate its core functionality.","PeriodicalId":272695,"journal":{"name":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 32","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133026255","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":"Handling multiple domain objects with Model-View-Controller","authors":"M. Mahemoff, L. Johnston","doi":"10.1109/TOOLS.1999.809412","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.809412","url":null,"abstract":"The Model-View-Controller (MVC) architecture style separates software into models representing core functionality, views which display the models to the user, and controllers which let the user change the models. Although more sophisticated architectures have since been developed, MVC is interesting to explore because its simplicity makes it more acceptable to practitioners and it is beginning to become well-known in industry. However, MVC is rarely studied with regard to systems containing more than one domain model. Several issues are either ambiguous or missing in the literature. The distinction between views and controllers, the way model states are updated in a multiple-model architecture, and the creation of reusable domain-specific components. A program was developed to investigate these issues, and this paper documents the corresponding design decisions. MVC proved helpful in creating a multiple-model system with reusable components, although some weaknesses remain.","PeriodicalId":272695,"journal":{"name":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 32","volume":"100 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117185004","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":"Application level user interfaces for various media","authors":"D. Clark, J. Newmarch","doi":"10.1109/TOOLS.1999.809411","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.809411","url":null,"abstract":"Applications are increasingly being written with the user interface being implemented in differing media. In this paper we show how a variety of business-oriented applications can be developed so that the user interface can easily be changed from one medium to another. We abstract out the user interface requirements, show how they can be met by CUA panels and how the panels can be implemented in various media. We then use design patterns to structure the architecture of the application to facilitate easy changes between user interfaces.","PeriodicalId":272695,"journal":{"name":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 32","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124045906","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 benefits of object technology in a Greenfields site","authors":"M. Dick","doi":"10.1109/TOOLS.1999.809433","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.809433","url":null,"abstract":"This paper examines the experience of a large telecommunications and engineering company that adopted object technology for use throughout the whole of the software development lifecycle. The research reported on here is part of a larger on-going program of research into the benefits of Object Technology. The company was in the position of being able to establish its software development group from the ground up for a particular project. The experiences of the company are analysed in terms of Diffusion of Innovation theory. Data for the paper was gathered via survey from 40 of the 45 developers and managers involved in the project.","PeriodicalId":272695,"journal":{"name":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 32","volume":"92 12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128019677","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":"Object metamodelling of the Whole-Part relationship","authors":"F. Barbier, B. Henderson-Sellers","doi":"10.1109/TOOLS.1999.809420","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.809420","url":null,"abstract":"The benefits of object metamodelling are the clear and precise definition of a semantics for the modelling constructs in an object modelling language. Although this work has already been done for OML and UML, some problems remain concerning the Whole-Part relationship, also called aggregation. This paper introduces a new style of object metamodelling in order to build a general yet abstract metatype called Whole-Part (Whole,Part). Subtypes are then defined according to the possibility (or not) of mixing properties generally assigned to aggregation in the literature. All the candidate properties are partitioned into three disjoint sets: the set of primary features owned by the Whole-Part (Whole,Part) metatype, the set of implied properties resulting from the adoption of the primary properties, as well as the set of secondary features. Several \"flavours\" of aggregation are then constructed leading to reliable and consistent subtypes of the Whole-Part relationship.","PeriodicalId":272695,"journal":{"name":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 32","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124581308","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}
Steve Cook, A. Kleppe, J. Warmer, Richard Mitchell, Bernhard Rumpe, Alan Cameron Wills
{"title":"Defining UML family members using prefaces","authors":"Steve Cook, A. Kleppe, J. Warmer, Richard Mitchell, Bernhard Rumpe, Alan Cameron Wills","doi":"10.1109/TOOLS.1999.809418","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.809418","url":null,"abstract":"The Unified Modeling Language is extensible, and so can be regarded as a family of languages. Implicitly or explicitly, any particular UML model should be accompanied by a definition of the particular UML family member used for the model. The definition should cover syntactic and semantic issues. This paper proposes a mechanism for associating models with such definitions. Any particular definition would form what we call a preface. The name is intended to suggest that the definition of a particular UML family member must conceptually come before any model built using that family member. A preface would be large, and should be organised using packages. This would allow large amounts of sharing between different prefaces. The paper proposes that prefaces should have an axiomatic style of semantics, through not necessarily fully formal, and it offers a general approach to semantics that would reduce problems of inconsistency within a large preface, based on the idea of general cases and special cases.","PeriodicalId":272695,"journal":{"name":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 32","volume":"617 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123323016","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}