{"title":"Moving toward component-based software development approach","authors":"G. Pour","doi":"10.1109/TOOLS.1998.713612","DOIUrl":"https://doi.org/10.1109/TOOLS.1998.713612","url":null,"abstract":"The new trend is to move from the traditional software development approach, which focuses on building software systems from scratch, to component based software development approach, which revolutionizes how software systems are built. The focus of this new approach is on development of new systems, by selecting and assembling a set of off the shelf components within an appropriate software architecture. On one hand, the use of off the shelf components has led to a great potential for: (1) significantly reducing cost and time to market of large scale and complex software systems; (2) improving system maintainability and flexibility by allowing new components to replace old ones; and (3) enhancing system quality by allowing components to be developed by those who are specialized in the application area and systems to be built by software engineers who are specialized in component based software development. On the other hand, the use of commercial off the shelf software-delivered as black box components-has raised a few major technical and non technical issues. The paper explores those issues, and discusses several directions for future research that would help to expand the use of component based software development approach.","PeriodicalId":177805,"journal":{"name":"Proceedings Technology of Object-Oriented Languages. TOOLS 27 (Cat. No.98EX224)","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130828135","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":"Policy definition in application-domain-related classes","authors":"D. Poo","doi":"10.1109/TOOLS.1998.713591","DOIUrl":"https://doi.org/10.1109/TOOLS.1998.713591","url":null,"abstract":"The definition of classes in an object oriented system is generally specified in terms of attributes and methods since they are represented in programming languages using these constructs. However, there is other information pertinent to application domain related objects (known as policies) that are embedded in methods. Since policies are complex statements that cannot be easily represented in terms of attributes or directly translated into method definition, they are usually realized by a combination of attribute and method implementation. Also, policies are highly volatile elements easily affected by changes in the business environment. One approach as proposed in the paper is to raise the level of representation of policies in class definitions. The purpose is to make policies more distinguishable from the rest of the class definition so that any maintenance effort in accommodating changes in policy definition can be reduced. The paper discusses how policies can be defined in a class definition, the advantages of the proposed approach, and how the proposed class definition can be implemented. An example from the library domain is used to illustrate the class definition approach discussed.","PeriodicalId":177805,"journal":{"name":"Proceedings Technology of Object-Oriented Languages. TOOLS 27 (Cat. No.98EX224)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128455486","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":"An O.O. software engineering training experience within a collaboration project between academia and industry","authors":"C. Werner, G. Travassos, A. Rocha","doi":"10.1109/TOOLS.1998.713611","DOIUrl":"https://doi.org/10.1109/TOOLS.1998.713611","url":null,"abstract":"This paper describes an object-oriented (O.O.) software engineering training experience, within a collaboration project between academia and industry. This experience involves the academia-industry exchange both for training and technology transfer. The project and team characteristics are described as well as the performed work and obtained results.","PeriodicalId":177805,"journal":{"name":"Proceedings Technology of Object-Oriented Languages. TOOLS 27 (Cat. No.98EX224)","volume":"74 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115793991","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 visual programming tool for user interface and Web page generation","authors":"Zhengbin Yan, Kang Zhang","doi":"10.1109/TOOLS.1998.713599","DOIUrl":"https://doi.org/10.1109/TOOLS.1998.713599","url":null,"abstract":"This paper describes a visual programming tool for building graphical user interfaces, that allows GUI designers to create interactive, graphical, and direct-manipulated user interfaces through graphical interaction without conventional textual programming. The tool, known as Visual VanGogh, combines the visual programming paradigm with the Java technology needed for sophisticated Web-based applications. This feature makes Visual VanGogh superior to most existing GUI builders that only develop GUIs for standalone applications, rather than for Web-based applications, and enable the customers to bridge the gap between the enterprise and the Internet.","PeriodicalId":177805,"journal":{"name":"Proceedings Technology of Object-Oriented Languages. TOOLS 27 (Cat. No.98EX224)","volume":"53 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123894073","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":"RTFrame: an object-oriented application framework for real-time applications","authors":"Pao-Ann Hsiung","doi":"10.1109/TOOLS.1998.713595","DOIUrl":"https://doi.org/10.1109/TOOLS.1998.713595","url":null,"abstract":"Real-time systems and applications impose stringent timing constraints on critical tasks. The design of such systems are more complex than that of conventional systems, because correctness and performance, besides being key system design issues, are directly related to system feasiblility. Object-oriented application frameworks have been proposed for communication systems, distributed applications, medical imaging, and financial engineering. On the contrary, there has been relatively little work on an application framework for the design of a general real-time system. Facing the growing need for such systems, we propose a novel framework, called RTFrame, especially for real-time systems. RTFrame consists of five components: Specifier, Extractor, Schedules, Allocator, and Generator. Within RTFrame, several design patterns have been proposed for real-time systems. Experiences of using RTFrame show a significant increase in design productivity through design reuse and a significant decrease in design time and effort.","PeriodicalId":177805,"journal":{"name":"Proceedings Technology of Object-Oriented Languages. TOOLS 27 (Cat. No.98EX224)","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124225082","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":"Group model for decentralized federation of Object Creation service","authors":"Xu Wang, Tao Huang, Jun Qian","doi":"10.1109/TOOLS.1998.713594","DOIUrl":"https://doi.org/10.1109/TOOLS.1998.713594","url":null,"abstract":"Distributed Object Technology is extending the traditional OO programming model into a distributed environment. It enables remote manipulation of distributed objects in a full lifecycle view. However, current technologies (CORBA or COM) either fail to address the object creation activity of the lifecycle in a balanced way, or are unable to give a proper model for implementing a federated Object Creation service network. In this paper we analyze and clarify some problems associated with object creation activity and service network organization, and propose a group model for implementing decentralized federation of the Object Creation service. After giving a thorough analysis and an implementation design for the model, we conclude that it is a clean-designed, very efficient, and extremely flexible model for our aim. Moreover this model not only ensures the location transparency and efficiency of Object Creation service for programmers, but also gives administrators a flexible, scalable method for managing the service network, which may dynamically restructure itself.","PeriodicalId":177805,"journal":{"name":"Proceedings Technology of Object-Oriented Languages. TOOLS 27 (Cat. No.98EX224)","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129307662","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":"Compile time recursive objects in C++","authors":"J. Jarvi","doi":"10.1109/TOOLS.1998.713588","DOIUrl":"https://doi.org/10.1109/TOOLS.1998.713588","url":null,"abstract":"The article explores the possibilities of generic programming offered by the template features of C++. We define compile time recursive objects as instances of class templates which contain other instances of the same template as member variables. With such templates we can define containers that contain objects of arbitrary types, but where the type of each element is known at compile time. The structure of the container is therefore fixed. The technique mimics the polymorphism achieved with dynamic binding and inheritance using static binding and template specialisation. It is obviously less flexible but offers considerable performance gains at runtime. We give the template definitions for compile time recursive lists and explain how to perform operations on these lists. As an example application, we use compile time lists in the definition of templates for special sparse vectors and matrices. In these vectors and matrices, the sparseness pattern can be arbitrary but must be known at compile time. The tracking of zero and nonzero elements is performed at compile time. This allows the programmer to use abstract vector and matrix expressions and still reach performance equal to hand coded operations. This is possible since the compiler can locate the elementary expressions between zero entries and discard them entirely from the resulting code.","PeriodicalId":177805,"journal":{"name":"Proceedings Technology of Object-Oriented Languages. TOOLS 27 (Cat. No.98EX224)","volume":"34 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":"113936027","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}