{"title":"Towards the formalization of relationships for object modelling","authors":"B. Henderson-Sellers","doi":"10.1109/TOOLS.1997.681876","DOIUrl":"https://doi.org/10.1109/TOOLS.1997.681876","url":null,"abstract":"Relationships in object oriented models are evaluated based on a formal metamodelling approach. Various types of association and aggregation are discussed in detail as well as other relationships such as possession, containment and roles. Finally, recommendations on both semantics and notation are made for a modelling language such as OML.","PeriodicalId":276758,"journal":{"name":"Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239)","volume":"28 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":"131114487","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":"Animating formal specifications using Java applets","authors":"C. Lakos, Glenn Lewis","doi":"10.1109/TOOLS.1997.681871","DOIUrl":"https://doi.org/10.1109/TOOLS.1997.681871","url":null,"abstract":"The paper proposes the generation of Java applets from specifications given in an extended Petri Net formalism. The anticipated advantages of this approach are to gain a greater confidence in the correctness of the final product, and to harness the capabilities of Java in a consistent framework. The emphasis of the paper is on the generation of the Java code from the Petri net specification, on the assessment of both Java and C++ as suitable targets for this translation, and on the suitability of this extended form of Petri net as a host for various extensions to Java.","PeriodicalId":276758,"journal":{"name":"Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239)","volume":"40 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":"120915423","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":"Introduction to COM","authors":"G. Outhred","doi":"10.1109/TOOLS.1997.681882","DOIUrl":"https://doi.org/10.1109/TOOLS.1997.681882","url":null,"abstract":"Component based software design is being pushed as the solution for code reuse, for distributed application development, and for cross platform development. This tutorial provides an introduction to the key aspects of Microsoft’s Component Object Model (COM), the framework adopted by Microsoft for future operating system and application integration. This tutorial will cover the core elements of the Component Object Model, including distribution as well as the language mappings and tools for C++ and Java.","PeriodicalId":276758,"journal":{"name":"Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239)","volume":"20 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":"134436180","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":"Concurrent Programming in Java: Language and Libraries","authors":"D. Holmes","doi":"10.1109/TOOLS.1997.681896","DOIUrl":"https://doi.org/10.1109/TOOLS.1997.681896","url":null,"abstract":"Java’s direct support for concurrency has enticed many programmers to tackle concurrent programming using this new language. The use of concurrency adds a new dimension of complexity to application development and introduces its own unique set of problems. We look at concurrency in the context of the latest version of the Java language and libraries, and employ proven design-patterns and coding idioms to help manage and control that concurrency.","PeriodicalId":276758,"journal":{"name":"Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239)","volume":"34 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":"130200106","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":"Characterising patterns in framework development","authors":"E. E. Jacobsen, P. Nowack, B. B. Kristensen","doi":"10.1109/TOOLS.1997.681866","DOIUrl":"https://doi.org/10.1109/TOOLS.1997.681866","url":null,"abstract":"Patterns are investigated in relation to the development of applications and frameworks, and characteristics of patterns are presented in the context of analysis, design and implementation. The results are illustrated using a framework for virtual machines. The main conclusion is that different pattern characteristics can be identified in analysis, design, and implementation of applications and frameworks. Patterns can be applied to describe perceived structures in the problem domain, logical structures in the abstract description of a software system, and structures in the program code. Patterns applied in application development focus on structures among concrete and specific concepts, whereas patterns applied in framework development focus on structures among abstract and generic concepts. Individual patterns can be preserved, transformed, or replaced during a software development process.","PeriodicalId":276758,"journal":{"name":"Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239)","volume":"8 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":"128031941","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":"Method dispatching and type safety for objects with multiple roles","authors":"R. Wong, H. L. Chau","doi":"10.1109/TOOLS.1997.681877","DOIUrl":"https://doi.org/10.1109/TOOLS.1997.681877","url":null,"abstract":"The association between an instance and a class is exclusive and permanent in many class based, object oriented database systems. Therefore, these systems have serious difficulties for applications in which objects take on different and multiple roles over time. Recently, some researchers have proposed the use of roles to tackle these problems. Although many of them have realized the importance and difficulties to solve the type problems caused by roles, formal semantics and type issues of roles have not been addressed. We develop an expressive yet semantically sound type calculus for objects with multiple roles. While the rich role modeling constructs are introduced, the calculus can still be expressed in a neat way by using the polymorphism of overloaded functions. We show the important properties of the calculus which include Subject Reduction, Strong Normalization and Confluence. The calculus described in the paper provides a foundation for object-with-role models. We show that the calculus is general enough to be applied to various role models with little modification.","PeriodicalId":276758,"journal":{"name":"Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239)","volume":"151 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":"115664235","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}
M. Evered, J. L. Keedy, G. Menger, Axel Schmolitzky
{"title":"Genja-a new proposal for parameterised types in Java","authors":"M. Evered, J. L. Keedy, G. Menger, Axel Schmolitzky","doi":"10.1109/TOOLS.1997.681870","DOIUrl":"https://doi.org/10.1109/TOOLS.1997.681870","url":null,"abstract":"Recent proposals for adding parameterised types to Java have left a number of important practical issues undiscussed. We present the language Genja which is a novel generic extension of Java oriented towards practical support for generic collection types. We discuss design alternatives related to extending the power of unconstrained genericity, solving the weaknesses of constrained genericity in other proposals and defining the compatibility of named and anonymous instantiations. By enhancing support for reusability and providing a higher level style of programming via a library of standard generic collection types, Genja aims to extend Java's contribution to efficient software production.","PeriodicalId":276758,"journal":{"name":"Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239)","volume":"31 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":"115260503","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":"Extendibility vs. Substitutability in OO Languages","authors":"J. Gil","doi":"10.1109/TOOLS.1997.681894","DOIUrl":"https://doi.org/10.1109/TOOLS.1997.681894","url":null,"abstract":"This tutorial presents a systematic yet non-formal study of inheritance, the principal abstraction tool of 00 programs. We will follow the different approaches to the design of the inheritance mechanism, starting from the crude mechanisms of Smalltalk, then next with the strict and mathematically sound, but not very useful, model of Oberon, continuing with the smorgasbord of C++, and ending with Java and Eiffel. We will see that the two basic demands from this mechanism: substitutability and extendibility are contradictory in nature, and how different approaches try to reconcile the tension between them. We then show how a clean separation between type and class, as inspired by ideas from Java, Eiffel and Sather, can help solve many of these tensions, at the price of introducing a slightly more complicated underlying model to the programmer. The discussion will culminate in the study of the problematics of multiple inheritance.","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":"1997-11-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129384692","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 Practical Integration of Formality into the Software Process","authors":"R. Duke, C. Mann","doi":"10.1109/TOOLS.1997.681891","DOIUrl":"https://doi.org/10.1109/TOOLS.1997.681891","url":null,"abstract":"This tutorial will explore a practical approach to incorporating formal techniques within existing software engineering processes. It is aimed at organizations that want a practical way to integrate some formality into their existing software development process (e.g. if an aspect of the development is safety critical, mission critical or cost critical) without having to abandon their current practices.","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":"129495224","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":"Enterprise Java","authors":"Alex Koutsoumbos, R. Arora","doi":"10.1109/TOOLS.1997.681895","DOIUrl":"https://doi.org/10.1109/TOOLS.1997.681895","url":null,"abstract":"Rajeev Arora is a Founder and Principal of his consulting company, SystemSmiths, based in Melbourne, Australia. Over the last couple of years, he has been focusing on distributed application architectures, distributed SDLC, WWW applications development and web site development. Rajeev, in his 17 years in the industry, has developed technical and application architectures for a variety of corporations in Australia, New Zealand and India.","PeriodicalId":276758,"journal":{"name":"Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239)","volume":"40 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":"121323775","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}