{"title":"A language for implementing computational mechanics applications","authors":"F. Casadei, J. Avotins","doi":"10.1109/TOOLS.1997.681861","DOIUrl":"https://doi.org/10.1109/TOOLS.1997.681861","url":null,"abstract":"Existing computer systems and user interface command languages for application in computational mechanics have been so far mostly developed by applying traditional, non-OO techniques. As a consequence, they are often hampered by severe limitations in code extensibility, reusability, robustness and correctness and require excessive programming efforts in development, testing and maintenance. In order to overcome these difficulties, newly designed systems should take advantage of OO concepts and tools at all levels, including the code user interface. We present a practical experience in this direction-applying OO concepts and tools in the design and prototype implementation of a new language specifically for computational mechanics applications. It is concluded, that the OO techniques and tools applied in this research provide software developers with the technology to rapidly produce sophisticated languages without being overly concerned with the underlying intricacies of their construction.","PeriodicalId":276758,"journal":{"name":"Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239)","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-11-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133384814","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":"Aspects of synchronisation","authors":"D. Holmes, J. Noble, John Michael Potter","doi":"10.1109/TOOLS.1997.681858","DOIUrl":"https://doi.org/10.1109/TOOLS.1997.681858","url":null,"abstract":"Aspect oriented programming promotes the separation of the different aspects of a system into their natural form. Synchronisation is an important aspect of concurrent object-oriented systems, but treating synchronisation as a single monolithic aspect leads to inflexibility and limited possibilities for reuse. We suggest that synchronisation has a number of different aspects, and introduce the synchronisation rings model which allows the aspects of a synchronised object to be specified independently. By separating the different aspects of synchronisation we can provide flexible, generic implementations of common synchronisation constraints, which can be re-used in many different contexts.","PeriodicalId":276758,"journal":{"name":"Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239)","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-11-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123339268","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":"Applying Design Patterns","authors":"J. Noble, John Michael Potter","doi":"10.1109/TOOLS.1997.681884","DOIUrl":"https://doi.org/10.1109/TOOLS.1997.681884","url":null,"abstract":"Design patterns capture recurring patterns of object-oriented design. This tutorial will provide a perspective on what it’s like to design and implement applications against a backdrop of design patterns. Furthermore, by carrying the designs through to implementation, we will demonstrate the way in which design patterns may or may not be reflected directly in the implementation. We will discuss issues of re-usability and suggest benefits in adopting implementation schemes that faithfully reflect the original design patterns.","PeriodicalId":276758,"journal":{"name":"Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-11-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121613295","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 & Frameworks to Develop Object-Oriented Communication Systems","authors":"D. Schmidt","doi":"10.1109/TOOLS.1997.681889","DOIUrl":"https://doi.org/10.1109/TOOLS.1997.681889","url":null,"abstract":"Developing extensible communication software that effectively utilizes concurrency over high-speed, low-speed, and mobile networks is a complex task. This tutorial describes how to apply object-oriented (00) design patterns and frameworks to alleviate the complexity of developing concurrent and distributed communication software. These patterns and framework components have been used successfully by the speaker on production communication software projects at Ericsson, Motorola, Siemens, Kodak, and McDonnell Douglas for telecommunications switch management applications, network management for large-scale global personal communication systems, electronic medical imaging systems, and real-time avionics.","PeriodicalId":276758,"journal":{"name":"Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239)","volume":"68 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133378578","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":"Advanced C++ Programming Styles and Idioms","authors":"J. Coplien","doi":"10.1109/TOOLS.1997.681881","DOIUrl":"https://doi.org/10.1109/TOOLS.1997.681881","url":null,"abstract":"Preface. 1. Introduction. C++: An Evolving Language. Handling Complexity with Idioms. Objects for the Nineties. Design and Language. 2. Data Abstraction and Abstract Data Types. Classes. Object Inversion. Constructors and Destructors. Inline Functions. Initialization of Static Data Members. Static Member Functions. Scoping and const. Initialization Ordering of Global Objects, Constants, and Static Class Members. Enforcement of const for Class Object Member Functions. Pointers to Member Functions. Program Organization Conventions. 3. Concrete Data Types. The Orthodox Canonical Class Form. Scoping and Access Control. Overloading: Redefining the Semantics of Operators and Functions. Type Conversion. Reference Counting: Making Variables Use \"Magic Memory.\" Operators new and delete. Separating Initialization from Instantiation. 4. Inheritance. Simple Inheritance. Scoping and Access Control. Constructors and Destructors. Class Pointer Conversion. Type Selector Fields. 5. Object-Oriented Programming. C++ Run-Time Type Support: Virtual Functions. Destructor Interaction and Virtual Destructors. Virtual Functions and Scoping. Pure Virtual Functions and Abstract Base Classes. Envelope and Letter Classes. Functors: Functions as Objects. Multiple Inheritance. The Inheritance Canonical Form. 6. Object-Oriented Design. Types and Classes. The Activities of Object-Oriented Design. Object-Oriented Analysis and Domain Analysis. Object and Class Relationships. Subtyping, Inheritance and Forwarding. Rules of Thumb for Subtyping, Inheritance, and Independence. 7. Reuse and Objects. All Analogies Break Down Somewhere. Design Reuse. Four Code Reuse Mechanisms. Parameterized Types, or Templates. Private Inheritance: Does Inheritance Support Reuse? Storage Reuse. Interface Reuse: Variants. Reuse, Inheritance, and Forwarding. Architectural Alternatives for Source Reuse. Generalizations on Reuse and Objects. 8. Programming with Exemplars in C++. An Example: Employee Exemplars. Exemplars and Generic Constructors: The Exemplar Community Idiom. Autonomous Generic Constructors. Abstract Base Exemplars. Toward a Frame Exemplar Idiom. A Word About Notation. Exemplars and Program Administration. 9. Emulating Symbolic Language Styles in C++. Incremental C++ Development. Symbolic Canonical Form. An Example: A General Collection Class. Code and Idioms To Support Incremental Loading. Garbage Collection. Primitive Type Encapsulation. Multi-Methods under the Symbolic Idiom. 10. Dynamic Multiple Inheritance. An Example: A Multi-Technology Window System. Caveats. 11. Systemic Issues. Static System Design. Dynamic System Design. Appendix A: C in a C++ Environment. Function Calls. Function Parameters. Function Prototypes. Call-by-Reference Parameters. Variable Number of Parameters. Function Pointers. The const Type Modifier. Interfacing with C Code. Appendix B: Shapes Program: C++ Code. Appendix C: Reference Return Values from Operators. Appendix D: Why Bitwise Copy Doesn't Work. Why Member","PeriodicalId":276758,"journal":{"name":"Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239)","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1991-09-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116172886","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":"OODEV Open","authors":"Bhuvan Unhelkar","doi":"10.1109/TOOLS.1997.681893","DOIUrl":"https://doi.org/10.1109/TOOLS.1997.681893","url":null,"abstract":"This tutorial presents the use of OPEN at Dow Jones in order to manage the development of yet another object-oriented software called “TELAN” Telerate Analytics that provides analytical applications for financial markets (concentrating on the fixed income market in the initial iteration). While TELAN has received the Computerworld Object Developer’s Award Best 00 Development across the organization, OPEN has been reported in numerous international journals and in three books published by Addison-Wesley.","PeriodicalId":276758,"journal":{"name":"Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239)","volume":"117 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124376302","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 CORBA based architecture for heterogeneous information source interoperability","authors":"P. de Figueiredo Pires, M.L. Queiros Mattoso","doi":"10.1109/TOOLS.1997.681860","DOIUrl":"https://doi.org/10.1109/TOOLS.1997.681860","url":null,"abstract":"Computational environments are characterized by islands of information. Data is spread throughout the computational system nodes and is controlled by several different data management systems. However, application programs require an integrated view of such data. Thus, it is necessary to build bridges to connect these information islands. Heterogeneous database systems, especially those object-oriented based have been referred to as one of the most viable solutions to the problem of system integration in heterogeneous distributed environments (HDDS). The implementation of such systems is still challenging. This work presents an experience of implementing one of such systems using the CORBA standard as the communication basis in an architecture that uses the concept of HDDS.","PeriodicalId":276758,"journal":{"name":"Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115861213","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":"Requirements Modeling","authors":"T. Hastings","doi":"10.1109/TOOLS.1997.681886","DOIUrl":"https://doi.org/10.1109/TOOLS.1997.681886","url":null,"abstract":"This seminar will provide you with an exposition of the most advanced techniques and processes for gathering, modeling and documenting your user requirements. It will provide you with a rigorous process using the techniques of Use-case analysis and business domain object modeling. The seminar will address not only how to develop requirements models, but also how to plan, track and manage the requirements gathering process. The requirements modeling process is based on a component of Process Mentor, a world class 00 development process used by more than 40 organizations within Australasia.","PeriodicalId":276758,"journal":{"name":"Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239)","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129178983","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}