Transforming Visual Programs Into Java and Vice Versa

Total Page:16

File Type:pdf, Size:1020Kb

Transforming Visual Programs Into Java and Vice Versa Transforming Visual Programs into Java and Vice Versa by Lei Dong Submitted in partial fulfillment of the requirements for the degree of Master of Computer Science at Dalhousie University Halifax, Nova Scotia May 2002 © Copyright by Lei Dong, 2002 Dalhousie University I DALHOUSIE UNIVERSITY FACULTY OF COMPUTER SCIENCE The undersigned hereby certify that they have read and recommend to the Faculty of Graduate Studies for acceptance a thesis entitled _______Transforming Visual Programs into Java and Vice Versa______ by __________________Lei Dong___________________________________ in partial fulfillment of the requirements for the degree of Master of ________Computer Science________________. Dated: __________________________ Supervisor: _________________________________ Readers: _________________________________ _________________________________ _________________________________ ii DALHOUSIE UNIVERSITY DATE: ________________________ AUTHOR: ______________________________________________________ TITLE: ______________________________________________________ ______________________________________________________ DEPARTMENT OR SCHOOL: ______________________________________ DEGREE: __________ CONVOCATION: _________ YEAR: ______ Permission is herewith granted to Dalhousie University to circulate and to have copied for non-commercial purposes, at its discretion, the above title upon the request of individuals or institutions. _______________________________ Signature of Author The author reserves other publication rights, and neither the thesis nor extensive extracts from it may be printed or otherwise reproduced without the author s written permission. The author attests that permission has been obtained for the use of any copyrighted material appearing in the thesis (other than the brief excerpts requiring only proper acknowledgement in scholarly writing), and that all such use is clearly acknowledged. iii Table of Contents Table of Contents - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - iv Table of Figures- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ix List of Abbreviations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xi Acknowledgments - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xii 1. Introduction - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 2. Visual Languages and Software Engineering - - - - - - - - - - - - - - - - - - - - - - 4 2.1. The evolution of programming languages - - - - - - - - - - - - - - - - - - 4 2.2. Introduction to Visual Programming Languages(VPLs)- - - - - - - - - 5 2.3. Some visual programming languages - - - - - - - - - - - - - - - - - - - - - 7 2.4. Advantages of visual languages - - - - - - - - - - - - - - - - - - - - - - - - - 11 2.5. General tools for software engineers- - - - - - - - - - - - - - - - - - - - - - 13 2.6. Visual software development tools for Java - - - - - - - - - - - - - - - - - 15 3. A formalisation of JGraph - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 19 3.1. Introduction - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 19 3.2. Formal definition of JGraph - - - - - - - - - - - - - - - - - - - - - - - - - - - 19 3.2.1. Package - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 20 3.2.2. Class and Interface - - - - - - - - - - - - - - - - - - - - - - - - - - - 20 3.2.3. Method and constructor. - - - - - - - - - - - - - - - - - - - - - - - 23 iv 3.2.4. Operations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 27 3.2.5. Cases - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 32 3.3. Conclusion - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 37 4. Translating JGraph to Java - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 38 4.1. Introduction - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 38 4.2. Translation to Java - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 39 4.2.1. Package- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 40 4.2.2. Class and Interface - - - - - - - - - - - - - - - - - - - - - - - - - - - 41 4.2.2.1. Examples - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 42 4.2.3. Method. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 44 4.2.3.1. Example- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 46 4.2.4. Cases. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 51 4.2.4.1. Example. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 54 4.2.4.2. Example - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 56 4.2.5. Operations- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 58 4.2.5.1. Examples of translating operations - - - - - - - - - - - - 60 4.2.6. Controls - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 65 4.2.6.1. Examples of translating controls- - - - - - - - - - - - - - 65 4.2.7. A general example - - - - - - - - - - - - - - - - - - - - - - - - - - - - 66 v 5. Importing Java into JGraph - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 70 5.1. Introduction - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 70 5.2. Class files - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 70 5.3. Class - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 71 5.4. Inheritance - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 73 5.5. Attributes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 74 5.6. Preprocessing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 74 5.6.1. Simplifying control structures - - - - - - - - - - - - - - - - - - - - 75 5.6.2. Multiple declarations - - - - - - - - - - - - - - - - - - - - - - - - - - 75 5.6.3. Embedded sequences of statements. - - - - - - - - - - - - - - - - 76 5.6.4. Method returns- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 77 5.6.5. Unary increment and decrement operators - - - - - - - - - - - 79 5.6.6. The operators +=, -=, /=, *=- - - - - - - - - - - - - - - - - - - - - - 79 5.6.7. Condition of while loops and conditional statements - - - - 79 5.6.8. Embedded assignments - - - - - - - - - - - - - - - - - - - - - - - - 80 5.6.9. Missing else - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 83 5.6.10. Exceptions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 84 5.6.11. Isolating variables. - - - - - - - - - - - - - - - - - - - - - - - - - - - 87 5.6.12. Removing multiple assignments- - - - - - - - - - - - - - - - - - 92 vi 5.6.13. Variable to variable assignments - - - - - - - - - - - - - - - - - - 94 5.7. Methods and Constructors- - - - - - - - - - - - - - - - - - - - - - - - - - - - 95 5.8. Expressions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 96 5.8.1. Expressions which are not assignments - - - - - - - - - - - - - - 97 5.8.2. Assignment expressions - - - - - - - - - - - - - - - - - - - - - - - - 101 5.8.3. Bodies of methods and control structures - - - - - - - - - - - - 103 5.8.4. Method- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 104 5.9. Control structures- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 108 5.9.1. If statements - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 108 5.9.2. While statements - - - - - - - - - - - - - - - - - - - - - - - - - - - - 110 5.9.3. Try-catch structure - - - - - - - - - - - - - - - - - - - - - - - - - - - 111 5.10. A comprehensive example- - - - - - - - - - - - - - - - - - - - - - - - - - - - 112 5.11. Conclusion - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 115 6. Conclusions and Future Work - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 116 6.1. Introduction - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 116 6.2. Comparison of Java and JGraph - - - - - - - - - - - - - - - - - - - - - - - - 117 6.3. Characteristics of Java generated from JGraph and vice versa. - - - - - 119 6.4. Assessment of the translations- - - - - - - - - - - - - - - - - - - - - - - - - - 120 6.5. Future work- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 123 vii References - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 124 APPENDIX A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 127 viii Table of Figures Figure 2-1: Von Neumann computer- - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4 Figure 2-2: A Prograph quicksort method. - - - - - - - - - - - - - - - - - - - - - - - - - 8 Figure 2-3: A sample program of LabVIEW - - - - - - - - - - - - - - - - - - - - - - - - 9 Figure 2-4: A sample Forms/3 program.- - - - - - - - - - - - - - - - - - - - - - - - - - - 10 Figure 2-5: A program of KidSim - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 11 Figure 2-6: A sample Visual Age program- - - - - - - - - - - - - - - - - - - - - - - - - - 16 Figure 2-7: Java studio main window - - - - - - - - - - - - - - - - - - - - - - - - - - - - 17 Figure 3-1: A JGraph package containing two classes and four interfaces - - - - - 22 Figure 3-2: A JGraph method - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Recommended publications
  • Software Extensibility and the System Object Model (SOM)
    Software Extensibility and the System Object Model (SOM) WWDC Release May 1996 © Apple Computer, Inc. 1992–1996 Apple Computer, Inc. Balloon Help, Chicago, Finder, Some states do not allow the exclusion © 1992–1996 Apple Computer, Inc. Geneva, Mac, and QuickDraw are or limitation of implied warranties or All rights reserved. trademarks of Apple Computer, Inc. liability for incidental or consequential damages, so the above limitation or No part of this publication may be IBM is a registered trademark of exclusion may not apply to you. This reproduced, stored in a retrieval International Business Machines warranty gives you specific legal rights, system, or transmitted, in any form Corporation. and you may also have other rights or by any means, mechanical, MacPaint and MacWrite are which vary from state to state.. electronic, photocopying, recording, registered trademarks, and or otherwise, without prior written Clarisworks is a trademark, of Claris permission of Apple Computer, Inc., Corporation. except to make a backup copy of NuBus is a trademark of Texas any documentation provided on Instruments. CD-ROM. PowerPC is a trademark of The Apple logo is a trademark of International Business Machines Apple Computer, Inc. Corporation, used under license Use of the “keyboard” Apple logo therefrom. (Option-Shift-K) for commercial UNIX is a registered trademark of purposes without the prior written Novell, Inc. in the United States and consent of Apple may constitute other countries, licensed exclusively trademark infringement and unfair through X/Open Company, Ltd. competition in violation of federal and state laws. Simultaneously published in the No licenses, express or implied, are United States and Canada.
    [Show full text]
  • Proceedings of the Rexx Symposium for Developers and Users
    SLAC-R-95-464 CONF-9505198-- PROCEEDINGS OF THE REXX SYMPOSIUM FOR DEVELOPERS AND USERS May 1-3,1995 Stanford, California Convened by STANFORD LINEAR ACCELERATOR CENTER STANFORD UNIVERSITY, STANFORD, CALIFORNIA 94309 Program Committee Cathie Dager of SLAC, Convener Forrest Garnett of IBM Pam Taylor of The Workstation Group James Weissman Prepared for the Department of Energy under Contract number DE-AC03-76SF00515 Printed in the United States of America. Available from the National Technical Information Service, U.S. Department of Commerce, 5285 Port Royal Road, Springfield, Virginia 22161. DISTRIBUTION OF THIS DOCUMENT IS UNLIMITED ;--. i*-„r> ->&• DISCLAIMER This report was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor any agency thereof, nor any of their employees, make any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights. Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or any agency thereof. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or any agency thereof. DISCLAIMER Portions
    [Show full text]
  • Enabling White-Box Reuse in a Pure Composition Language
    Enabling White-Box Reuse in a Pure Composition Language Diplomarbeit der Philosophisch-naturwissenschaftlichen Fakultat¨ der Universitat¨ Bern vorgelegt von Andreas Schlapbach Dezember 2002 Leiter der Arbeit: Prof. Dr. O. Nierstrasz Nathanael Scharli¨ Institut fur¨ Informatik und angewandte Mathematik i Abstract Inheritance is a key concept of object-oriented programming languages, features such as conceptual modeling and reusability are largely accredited to it. While many useful com- ponents have been, and will be, developed in this paradigm, the form of white-box reuse offered by inheritance has a fundamental flaw: reusing components by inheritance requires an understanding of the internals of the components. We can not treat components of object-oriented languages as black-box entities, inheritance breaks encapsulation and in- troduces subtle dependencies between base and extending classes. Component-oriented programming addresses this problem by shifting away from program- ming towards software composition. We build applications by scripting components. In- stead of overriding the internals of a component, we focus on composing its interfaces only. This form of black-box reuse leads to a flexible and extendible architecture with reusable components. In this master's thesis we propose a migration strategy from class inheritance { a white- box form of reuse { to component composition as a black-box form of reuse. We present a language extension that gives us the power of inheritance combined with the ease of scripting. It enables us to reuse Java components using inheritance in JPiccola { a small, pure and general composition language implemented on the Java platform { at a high level of abstraction. Using the services provided by the language extension we can seamlessly generate interfaces and subclasses from JPiccola.
    [Show full text]
  • Smalltalk Volume 2 Issue 7
    The International Newsletter for Smalltalk Programmers May 1993 Volume 2 Number 7 ecognizing Smalltalk’s increasing importance as a mainstream pro- TOWARD A gramming language and acting as a large user of the language, IBM D recently proposed the formation of a standards effort within ANSI to define a Smalltalk language standard and offered a “common SMALLTALK base” strawman to start such an effort. At this time the proposal has beenQaccepted by the ANSI SPARC committee, and the formation of an ANSI STANDARD: Smalltalk committee has begun. This article focuses on technical issues regarding the common base. We have written a companion article that will appear in OBJECT MAGAZINE,which outlines TECHNICAL ASPECTS the history of the development of the common base. WHAT IS THE COMMON BASE? OF THE COMMON BASE As part of the proposal for an ANSI Smalltalk standards effort, we have con- tributed a “strawman” as the starting point for standardization. That strawman is contained in the IBM document entitled Smalhalk Portability A Common Base By R.J. DeNatale and comprises chapters 3–5 and appendices A and B from that document. * & Y.P. Shari This proposal is not our work entirely. It is the result of an 18-month-long col- laboration among five companies: IBM, Digitalk, KSC, OTI, and ParcPlace. Contenti: A purely syntactic description of Smalltalk results in a language specification that is incomplete when compared to those for languages such as C, COBOL, Features/Articles and FORTRAN. When studying the specification for a language one expects to 1 The Smalltalk standard: Technical learn things, such as how to do arithmetic, how to code conditional logic, and so aepects of the common base forth.
    [Show full text]
  • XL C/C++ Compiler and Runtime Migration Guide for the Application Programmer
    z/OS Version 2 Release 3 XL C/C++ Compiler and Runtime Migration Guide for the Application Programmer IBM GC14-7306-30 Note Before using this information and the product it supports, read the information in “Notices” on page 129. This edition applies to Version 2 Release 3 of z/OS (5650-ZOS) and to all subsequent releases and modifications until otherwise indicated in new editions. Last updated: 2019-02-15 © Copyright International Business Machines Corporation 1996, 2017. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents About this document.............................................................................................xi z/OS XL C/C++ on the World Wide Web.................................................................................................... xix Where to find more information...........................................................................................................xix Technical support...................................................................................................................................... xix How to send your comments to IBM.........................................................................................................xix If you have a technical problem........................................................................................................... xx Part 1. Introduction..............................................................................................
    [Show full text]
  • On the Benefits and Problems of the Object-Oriented Paradigm Including a Finnish Study
    EKONOMI OCH SAMHÄLLE Skrifter utgivna vid Svenska handelshögskolan Publications of the Swedish School of Economics and Business Administration Nr 151 PATRIK PAETAU ON THE BENEFITS AND PROBLEMS OF THE OBJECT-ORIENTED PARADIGM INCLUDING A FINNISH STUDY Helsingfors 2005 On the Benefits and Problems of the Object-Oriented Paradigm including a Finnish Study Key words: Object-oriented paradigm, benefits with object-oriented paradigm, problems with object-oriented paradigm, software components, reuse © Swedish School of Economics and Business Administration & Patrik Paetau Patrik Paetau Swedish School of Economics and Business Administration Department of Management and Organization (Information Systems Science) P.O.Box 287 65101 Vaasa, Finland Distributor: Library Swedish School of Economics and Business Administration P.O.Box 479 00101 Helsinki, Finland Telephone: +358-9-431 33 376, +358-9-431 33 265 Fax: +358-9-431 33 425 E-mail: [email protected] http://www.hanken.fi ISBN 951-555-893-X (printed) ISBN 951-555-894-8 (PDF) ISSN 0424-7256 Edita Prima Ltd, Helsingfors 2005 For my son Robin ACKNOWLEDGEMENTS Although there may still be much to discover and understand as far as benefits and problems with the object-oriented paradigm are concerned, the writing of this dissertation is now, after several years, coming to an end. The opportunity has therefore come to look back and give due credit to those who have supported and encouraged me in different ways. My first interest in the object-oriented world began in 1989 when my former manager at Tietotehdas Oy (Tietoenator nowadays) Vice President Tiina Kurki asked me if I wanted to get to know what objects actually are.
    [Show full text]
  • Team-Fly® Chapter Title 1 Exploring IBM ~ Zseries and S/390 Servers Other Titles of Interest from Maximum Press
    “...an excellent review of the history and technology of Exploring IBM the zSeries, plus the latest information on zSeries e-business solutions. zSeries This book has it all!” —Al Zollar, General Manager of Lotus Software, IBM Corporation and S/390 Servers EIGHTH EDITION Y L F M A E T See why IBM’s redesigned mainframe computer family has become more popular than ever! Foreword by Dan Colby, General Manager, IBM eServer zSeries Jim Hoskins and Bob Frank Team-Fly® Chapter title 1 Exploring IBM ~ zSeries and S/390 Servers Other Titles of Interest From Maximum Press Exploring IBM e-Business Software: Young, 1-885068-58-1 Exploring IBM ~ pSeries, Eleventh Edition: Hoskins, Bluethman, 1-885068-81-6 Exploring IBM ~ iSeries, Eleventh Edition: Hoskins, Dimmick, 1-885068-92-1 Exploring IBM ~ xSeries, Twelfth Edition: Hoskins, Wilson, Winkel, 1-885068-83-2 Exploring IBM Network Stations: Ho, Lloyd, Heracleous, 1-885068-32-8 Building Intranets With Lotus Notes and Domino 5.0, Third Edition: Krantz, 1-885068-41-7 Marketing With E-Mail, Third Edition: Kinnard, 1-885068-68-9 Business-to-Business Internet Marketing, Fourth Edition: Silverstein, 1-885068-72-7 Marketing on the Internet, Sixth Edition: Zimmerman, 1-885068-80-8 101 Internet Businesses You Can Start From Home: Sweeney, 1-885068-59-X The e-Business Formula for Success: Sweeney, 1-885068-60-3 101 Ways to Promote Your Web Site, Fourth Edition: Sweeney, 1-885068-90-5 Internet Marketing for Information Technology Companies, Second Edition: Silverstein, 1-885068-67-0 Internet Marketing for Less
    [Show full text]
  • A Technology Reference Model for Client/Server Software Development
    A Technology Reference Model for Client/Server Software Development. by RITA CHARLOITE NIENABER Submitted in part fulfilment of the requirements for the degree of MASTER OF SCIENCE in the subject INFORMATION SYSTEMS at the UNIVERSITY OF SOUTH AFRICA SUPERVISOR: PROF AL STEENKAMP 15 JUNE 1996 II ABSTRACT In today's highly competitive global economy, information resources representing enterprise-wide information are essential to the survival of an organization. The development of and increase in the use of personal computers and data communication networks are supporting or, in many cases, replacing the traditional computer mainstay of corporations. The client/server model incorporates mainframe programming with desktop applications on personal computers. The aim of the research is to compile a technology model for the development of client/server software. A comprehensive overview of the individual components of the client/server system is given. The different methodologies, tools and techniques that can be used are reviewed, as well as client/server-specific design issues. The research is intended to create a road map in the form of a Technology Reference Model for Client/Server Software Development. KEYWORDS Client/Server, Open Systems, Software Development, Software Standards, Interoperability, Object-orientation, Middleware, Groupware, Reference Model, Distributed Systems. •' :_~ : iii ACKNOWLEDGEMENTS I would like to thank the Foundation for Research Development for their financial assistance in providing the equipment to realize this dissertation. A special word of thanks to Professor Lerine Steenkamp, my supervisor, for her guidance, inspiration and advice, for which I am grateful. My sincere gratitute and appreciation to my husband, Sare!, for his encouragement and assistance throughout the project.
    [Show full text]
  • Tools for Opendoc Development
    Tools for OpenDoc Development Apple Computer, Inc. Contents Component Software and OpenDoc........................................................................... 1 Software Developer Segments ....................................................................................2 Application developers................................................................................................ 2 Solution developers.................................................................................................... 2 Content developers ....................................................................................................3 Client/server developers.............................................................................................. 3 OpenDoc: A solution for diverse developer needs....................................................... 3 Apple’s OpenDoc Tools Strategy: Five Strategic Initiatives.................................... 4 Strategic Initiative #1: Provide Enabling Technologies for Macintosh OpenDoc Development ...................................................................5 Code Fragment Manager (CFM) .................................................................................5 System Object Model (SOM) ......................................................................................5 Availability................................................................................................................... 6 Strategic Initiative #2: Enhance Macintosh Development Environments to Support
    [Show full text]
  • Bruce Tate, Author of the Jolt Award-Winning Better, Faster
    Beyond Java By Bruce A. Tate ............................................... Publisher: O'Reilly Pub Date: September 2005 ISBN: 0-596-10094-9 Pages: 200 Table of Contents | Index Bruce Tate, author of the Jolt Award-winning Better, Faster, Lighter Java has an intriguing notion about the future of Java, and it's causing some agitation among Java developers. Bruce believes Java is abandoning its base, and conditions are ripe for an alternative to emerge. In Beyond Java, Bruce chronicles the rise of the most successful language of all time, and then lays out, in painstaking detail, the compromises the founders had to make to establish success. Then, he describes the characteristics of likely successors to Java. He builds to a rapid and heady climax, presenting alternative languages and frameworks with productivity and innovation unmatched in Java. He closes with an evaluation of the most popular and important programming languages, and their future role in a world beyond Java. If you are agree with the book's premise--that Java's reign is coming to an end--then this book will help you start to build your skills accordingly. You can download some of the frameworks discussed and learn a few new languages. This book will teach you what a new language needs to succeed, so when things do change, you'll be more prepared. And even if you think Java is here to stay, you can use the best techniques from frameworks introduced in this book to improve what you're doing in Java today. Beyond Java By Bruce A. Tate ............................................... Publisher: O'Reilly Pub Date: September 2005 ISBN: 0-596-10094-9 Pages: 200 Table of Contents | Index Copyright Preface Who Should Read This Book? Conventions Using Code Examples Comments and Questions Safari® Enabled Acknowledgments Chapter 1.
    [Show full text]
  • Software Component Architecture Rainer Niekamp Institute for Scientific Computing TU Braunschweig
    Software Component Architecture Rainer Niekamp Institute for Scientific Computing TU Braunschweig Contents: About Software Components • – What is it? – Why use them? Software Component Architectures • The Component Template Library (CTL) • – central idea: the generalisation of linkage – main functionalities and their usage 1 Contents: Examples of Coupled Simulations • – a Simulation Interface – algebraic solvers for coupled systems – the mapping of a (multi) physical system to an running distributed ap- plication – multiscale simulation – high dimensional integration 2 What is a Software Component ? A piece of software offering (via an interface) a predefined service and • which is able to communicate with other components. Criteria (by Clemens Szyperski and David Messerschmitt) for software • components: – Multiple-use => parallel execution – Non-context-specific => exchangeable – Composable with other components – Encapsulated i.e., non-investigable through its interfaces – A unit of independent deployment and versioning 3 History of Software Components So-called software crisis in the sixties • The idea to componentize prefabricated software first published at the • NATO conference on software engineering in Garmisch, Germany, 1968 titled Mass Produced Software Components by Douglas McIlroy Subsequent inclusion of pipes and filters into the Unix operating system • The modern concept of a software component largely defined by Brad Cox • of Stepstone, => Objective-C programming language IBM: System Object Model, SOM in the early 1990s. • Microsoft:
    [Show full text]
  • Copland Technical Overview.Pdf
    Copland Technical Overview Draft Developer Press Apple Computer, Inc. 1995 This document was created with FrameMaker 4.0.4 Apple Computer, Inc. Adobe Photoshop is a trademark of Even though Apple has reviewed this 1995 Apple Computer, Inc. Adobe Systems Incorporated, which manual, APPLE MAKES NO All rights reserved. may be registered in certain WARRANTY OR REPRESENTATION, jurisdictions. EITHER EXPRESS OR IMPLIED, WITH No part of this publication may be RESPECT TO THIS MANUAL, ITS reproduced, stored in a retrieval Palatino is a registered trademark of QUALITY, ACCURACY, system, or transmitted, in any form Linotype Company. MERCHANTABILITY, OR FITNESS or by any means, mechanical, IBM is a registered trademark of FOR A PARTICULAR PURPOSE. AS A electronic, photocopying, recording, International Business Machines RESULT, THIS MANUAL IS SOLD “AS or otherwise, without prior written Corporation. IS,” AND YOU, THE PURCHASER, permission of Apple Computer, Inc. MacPaint and MacWrite are ARE ASSUMING THE ENTIRE RISK The Apple logo is a trademark of registered trademarks, and AS TO ITS QUALITY AND Apple Computer, Inc. Clarisworks is a trademark, of Claris ACCURACY. Use of the “keyboard” Apple logo Corporation. IN NO EVENT WILL APPLE BE (Option-Shift-K) for commercial NuBus is a trademark of Texas LIABLE FOR DIRECT, INDIRECT, purposes without the prior written Instruments. SPECIAL, INCIDENTAL, OR consent of Apple may constitute PowerPC is a trademark of trademark infringement and unfair CONSEQUENTIAL DAMAGES International Business Machines RESULTING FROM ANY DEFECT OR competition in violation of federal Corporation, used under license and state laws. INACCURACY IN THIS MANUAL, therefrom. even if advised of the possibility of such No licenses, express or implied, are UNIX is a registered trademark of damages.
    [Show full text]