{"title":"Storing Java objects in any database","authors":"R. Ege","doi":"10.1109/TOOLS.1999.787560","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.787560","url":null,"abstract":"Typical Java applications involve access to a database system. Database systems store data according to their type system; even object oriented databases generally have their own storage structures. It is therefore necessary to convert Java objects as they are stored in a database, and to re-convert them when they are read. Ideally, this should be done behind the scenes by a support package. The paper presents an approach that automates the conversion process without involving pre- or post-processing of Java code: we use a reflection mechanism, where Java code is inspected at run time and changed to include the convert and re-convert effort. The result is a flexible and transparent Java database access.","PeriodicalId":147966,"journal":{"name":"Proceedings of Technology of Object-Oriented Languages and Systems - TOOLS 30 (Cat. No.PR00278)","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123564442","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":"Recording user actions in a Smalltalk programming environment","authors":"M. Macgregor, P. Thomas, M. Woodman","doi":"10.1109/TOOLS.1999.787556","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.787556","url":null,"abstract":"AESOP (An Electronic Student Observatory Project) is a system for recording, replaying and analysing user actions in LearningWorks, a Smalltalk programming environment. The project aims to: (i) inform educators how best to effect object technology transfer by improving their teaching; (ii) provide an apparatus for identifying problems neophytes experience while learning to program; and (iii) provide empirical evidence for improving the design of the programming environment. Initially AESOP is being targeted on a large scale distance learning course enrolling 5000 mature students per year. The paper describes the project and gives a flavour of the research questions of how neophytes learn programming concepts, in particular object concepts as exemplified by Smalltalk. The implementation of a selection of tools is described and sample data is also explained. Current project status is reviewed and many issues are raised concerning what sort of data to collect.","PeriodicalId":147966,"journal":{"name":"Proceedings of Technology of Object-Oriented Languages and Systems - TOOLS 30 (Cat. No.PR00278)","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134049274","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":"Benchmark metrics for enterprise object request brokers","authors":"M. Vilicich, S. Aslam-Mir","doi":"10.1109/TOOLS.1999.787539","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.787539","url":null,"abstract":"The growing interest in using Common Object Request Broker Architecture (CORBA) to distribute application objects over heterogeneous environments has led to an explosive growth in the number of Fortune 500 companies deploying major, mission-critical applications using such client/server (c/s) architectures. Unfortunately, there is little in terms of literature that describes the complexities and issues encountered in scaling these architectures. This is due, in large part, to the relative infancy of CORBA technology when compared to other client/server architectures. The paper attempts to address some of the potential issues involved in large scale deployments of CORBA technology in highly scaled configurations. The paper makes some empirical assessments of appropriate design-guiding parameters for scalability, and discusses how to arrive at these parameters through a traceable lifecycle process. The paper also provides some guidance on what measures are appropriate to use when estimating an ORB's performance envelope, so as to appropriately extrapolate its behavioral characteristics in fully scaled production deployments.","PeriodicalId":147966,"journal":{"name":"Proceedings of Technology of Object-Oriented Languages and Systems - TOOLS 30 (Cat. No.PR00278)","volume":"304 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131818130","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 Java to add \"stored procedures\" to databases","authors":"R. Ege, N. Rishe, Jingyu Liu, Vladimir Lebedev","doi":"10.1109/TOOLS.1999.787561","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.787561","url":null,"abstract":"The paper describes our approach to adding \"stored procedure\" capability to a semantic database system using Java byte codes and Java's ability to dynamically load and execute Java code. Several steps were necessary: first we added a Java application programmer interface to the database system; then we created a database schema to hold Java executable code; then we constructed a Java class loader to allow code to be loaded from the database; then we enabled the creation of Java objects and executed the Java code for them. Our approach is not specific to our semantic database system, rather it can serve as a recipe for adding \"stored procedures\" to any database system.","PeriodicalId":147966,"journal":{"name":"Proceedings of Technology of Object-Oriented Languages and Systems - TOOLS 30 (Cat. No.PR00278)","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128536397","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":"Interaction schemata: compiling interactions to code","authors":"N. Sangal, E. Farrell, K. Lieberherr, D. Lorenz","doi":"10.1109/TOOLS.1999.787555","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.787555","url":null,"abstract":"Programming object interactions is at the heart of object oriented programming. To improve reusability of the interactions, it is important to program object interactions generically. We present two tools that facilitate programming of object interactions. StructureBuilder, a commercial tool, achieves genericity with respect to data structure implementations for collections, following ideas from generic programming, but focussing only on the four most important actions add, delete, iterate and find that are used to translate UML interaction diagrams into code. The focus of StructureBuilder is to generate efficient code from interaction schemata that are an improved form of interaction diagrams. DJ, a new research prototype intended for fast prototyping, achieves genericity with respect to the UML class diagram by dynamic creation of collections based on traversal specifications.","PeriodicalId":147966,"journal":{"name":"Proceedings of Technology of Object-Oriented Languages and Systems - TOOLS 30 (Cat. No.PR00278)","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129562870","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":"Measuring the effectiveness of method test sequences derived from sequencing constraints","authors":"F. J. Daniels, Kuo-Chung Tai","doi":"10.1109/TOOLS.1999.787537","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.787537","url":null,"abstract":"Intra-class testing refers to the testing of the interaction among methods and data structures encapsulated within a single class. Our approach to intra-class testing is to execute sequences of instance methods that are derived from sequencing constraints and evaluate their results for correctness. These constraints impose restrictions on method behaviors and can be derived from a formal or informal specification of a class. We present an empirical evaluation of different method sequence generation approaches, and analyze their effectiveness in detecting software faults. In addition, we define a number of coverage criteria based on method sequencing constraints for a class and examine the differences between them.","PeriodicalId":147966,"journal":{"name":"Proceedings of Technology of Object-Oriented Languages and Systems - TOOLS 30 (Cat. No.PR00278)","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129645567","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":"Entity-Relationship Software Development Environment","authors":"P. Muenchaisri, Toshimi Minoura","doi":"10.1109/TOOLS.1999.787564","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.787564","url":null,"abstract":"We designed and implemented a prototype software development environment based on software component composition. Our software development environment, the Entity-Relationship Software Development Environment (ERSDE), uses extended entity-relationship diagrams (EERDs) as templates of executable programs. An EERD represents the component types and the relationship types among them within an application domain. The graphical editor of the ERSDE uses an EERD as a menu in constructing application software. An EERD used as a menu can enforce legitimate patterns of relationships among software components, in addition to providing an intuitive view of available components and possible relationships among them. Furthermore, as the ERSDE uses structural active objects as the components of a program, we can obtain an executable program if those components are instantiated and interconnected as dictated by an EERD. Two experiments conducted confirmed the effectiveness of our approach.","PeriodicalId":147966,"journal":{"name":"Proceedings of Technology of Object-Oriented Languages and Systems - TOOLS 30 (Cat. No.PR00278)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130569123","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":"Use case modeling guidelines","authors":"D. Firesmith","doi":"10.1109/TOOLS.1999.787548","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.787548","url":null,"abstract":"Use case modeling has become the most popular de facto standard technique for performing software requirements analysis and specification. However, use case modeling has its well known problems, and different requirements engineers typically perform use case modeling differently. The paper provides a hierarchically organized set of detailed guidelines for use case modeling.","PeriodicalId":147966,"journal":{"name":"Proceedings of Technology of Object-Oriented Languages and Systems - TOOLS 30 (Cat. No.PR00278)","volume":"61 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130249037","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}
F. Porto, Sergio R. Carvalho, Mauricio J. V. Silva, R. Melo
{"title":"Persistent object synchronization with active relational databases","authors":"F. Porto, Sergio R. Carvalho, Mauricio J. V. Silva, R. Melo","doi":"10.1109/TOOLS.1999.787606","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.787606","url":null,"abstract":"One of the most common client/server architectures in enterprise systems today is the combination of object oriented applications with active relational database systems. With this combination, developers have to overcome a difficult problem: the impedance mismatch between object orientation and the relational model. To date, there are several incomplete approaches for describing the integration of static and dynamic object aspects and active relational databases. An important issue missing from these approaches is the state synchronization between server tuples and client cached objects. In a previous paper (A.M. Porto et al., 1998) we proposed a technique for mapping the dynamic behavior of objects into active relational databases, using database triggers and stored procedures. The paper extends our previous one with an architecture based on a replication strategy that maintains server tuples and client cached objects synchronized with respect to state. This architecture automatically updates client cached object versions when their corresponding server database tuples are updated.","PeriodicalId":147966,"journal":{"name":"Proceedings of Technology of Object-Oriented Languages and Systems - TOOLS 30 (Cat. No.PR00278)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126379782","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":"Detecting evolution incompatibilities by analyzing Java binaries","authors":"M. Mezini, J. Pipka, Thorsten Dittmar, W. Boot","doi":"10.1109/TOOLS.1999.787542","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.787542","url":null,"abstract":"Customizing component functionality to application needs generally involves inheritance, known to suffer from the fragile base class problem: changes in a base class may cause preexisting inheritor classes to malfunction, or even become undefined. We present a framework for binary detection of such incompatible changes at component (re)integration time. This avoids unexpected erroneous runtime behavior of the integrated components.","PeriodicalId":147966,"journal":{"name":"Proceedings of Technology of Object-Oriented Languages and Systems - TOOLS 30 (Cat. No.PR00278)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115105890","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}