Expanding the Visualworks Image

Total Page:16

File Type:pdf, Size:1020Kb

Expanding the Visualworks Image Expanding the VisualWorks Image After you install VisualWorks, the base Image (to be found in the subdirectory image in the installation directory1) contains packages or bundles with the standard classes that are needed for application development, along with those that contain the program code for the development environment. The subdirectory contributed contains several enhancements that are delivered with VisualWorks. Among these are • Frameworks for the most diverse programming tasks (for example, SUnitToo, a later version of SUnit2) • Components to access various database systems • Free versions of third-part software • Much more These enhancements are in the form of parcels. Stated somewhat simply, parcels are pack- ages that have been “exported” from an Image. You can use the menu item Package → Publish as Parcel to export a package as a parcel. This creates two files: <package-name>.pst <package-name>.pcl The file with the .pst extension contains the Smalltalk source code. The file with the .pcl extension contains the program translated into byte code. You can use the Parcel Manager, which is started by clicking the menu item System → Parcel Manager in the Launcher, to integrate parcels into one’s own Image. The Parcel Manager presents three views of the parcels from the contributed directory. 1See Fig. 5.1. 2See Chap. 15. © Springer Fachmedien Wiesbaden 2015 419 J. Brauer, Programming Smalltalk – Object-Orientation from the Beginning, DOI 10.1007/978-3-658-06823-3 420 Expanding the VisualWorks Image Fig. A.1 The Parcel Manager 1. The parcels are grouped by theme in the Suggestions tab. In Fig. A.1, the parcel SunitTool(s) has been selected from the Popular directory (see Chap. 15 and Appendix A.1). 2. In the left field of the Directories tab, the entire list of directories in the VisualWorks installation directory is shown (see Fig. 5.1). 3. From the Loaded tab, one can view which parcels have already been loaded. A.1 Adding SunitToo SUnit, described in Chap. 15, is already integrated into the VisualWorks base Image, and it can be used immediately. But Chap. 15 uses an alternative implementation of SUnit (SUnitToo), which can be integrated better into the System Browser. Although SUnitToo is also delivered with VisualWorks, it is not contained in the base Image. You must first load a parcel before you can use SUnitToo. To do that, the following steps are required: 1. Start the Parcel Manager with the Launcher menu item System → Parcel Manager. 2. In the Parcel Manager window, select the Suggestions tab. 3. Select the directory Popular and highlight the Parcel SUnitToo(ls) (see Fig. A.1). 4. Use the menu item Parcel → Load to load the parcel into the Image. A.2 Adding the Object Explorer 421 Fig. A.2 Connection information for the Cincom Public Repository A.2 Adding the Object Explorer Perform the following steps to load the package ObjectExplorer: 1. Connect your Image to the Cincom Public Repository (see Appendix A.4). 2. Use the Launcher menu item Store → Published Items to display a list of packages and bundles stored in the repository. 3. Select ObjectExplorer in this list. 4. Select the latest version on the right hand side of the window. 5. Use the menu item Versions → load to load the package into the Image. A.3 Adding Seaside You can find the Seaside framework in the Web Development directory in the Sug- gestions tab of the Parcel Manager. The parcel is called Seaside-All. The parcel Seaside- Examples-All contains a series of sample applications that were implemented using Sea- side. A.4 The Cincom Public Repository If you have Internet access, you can connect your Image to the Cincom Public Repository. This is a Store repository,3 which is publicly accessible and in which you can find the most current versions of third-party software, which is to a large extent still in development. In order to create the connection, from Store on the Launcher menu, select Connect to Repository. At that point, the window shown in Fig. A.2 appears. Be sure that Cin- com Public Repository is selected as the Connection Profile. Do not change the connection 3See Chap. 17. 422 Expanding the VisualWorks Image Fig. A.3 Published items in the Cincom Public Repository information already on the screen. The connection will be established after you click Con- nect. Once the connection has been established, that fact will appear in the status bar of the Launcher. Afterwards you can use the Launcher menu item Store → Published Items to display a list of packages and bundles stored in the repository. Figure A.3 shows part of the list; the bundle BottomFeeder has been selected, which contains a news reader. In order to load a package, highlight a version (in case of doubt, select the newest) and click the menu item File → Load. References AIDAweb: AIDAweb Smalltalk Web Application Server (2013). http://www.aidaweb.si. Accessed 1 August 2013 Alpert, S., Brown, K., Woolf, B.: The Design Patterns Smalltalk Companion. Software Patterns Series, vol. 1. Addison-Wesley, Reading (1998) Balzert, H.: Lehrbuch der Software-Technik, vol. 1, 2nd edn. Elsevier, Amsterdam (2001) Beck, K.: Smalltalk Best Practice Patterns. Prentice Hall, New York (1997) Beck, K.: Test-Driven Development by Example. Addison-Wesley, Reading (2003) Beck, K.: Simple Smalltalk testing: with patterns (2013). http://www.xprogramming.com/testfram. htm. Accessed 8 August 2013 Ben-Menachem, M., Marliss, G.S.: Software Quality, Producing Practical and Consistent Software. Thomson Computer Press, London (1997) Booch, G., Maksimchuk, R.A., Engle, M.W., Young, B.J., Conallen, J., Houston, K.A.: Object- Oriented Analysis and Design with Applications, 3rd edn. Addison-Wesley Professional, Reading (2007) Cincom Systems: VisualWorks Online Documentation. VisualWorks Walk Through. Version 7.8. Cincom Systems, Inc., Cincinnati (2011) Cincom Systems: VisualWorks Online Documentation. GUI Developer’s Guide. Version 8.0. Cin- com Systems, Inc., Cincinnati (2014a) Cincom Systems: VisualWorks Online Documentation. Application Developer’s Guide. Version 8.0. Cincom Systems, Inc., Cincinnati (2014b) Cincom Systems: VisualWorks Online Documentation. Database Application Developer’s Guide. Version 8.0. Cincom Systems, Inc., Cincinnati (2014c) Cincom Systems: VisualWorks Online Documentation. Source Code Management Guide. Version 8.0. Cincom Systems, Inc., Cincinnati (2014d) Cincom Systems: VisualWorks Online Documentation. Tool Guide. Version 8.0. Cincom Systems, Inc., Cincinnati (2014e) Dahl, O.-J., Dijkstra, E.W., Hoare, C.A.R.: Structured Programming. Academic Press, San Diego (1972) Ducasse, S., Renggli, L., Shaffer, D.C., Zaccone, R.: Dynamic Web Development with Seaside. Square Bracket Associates, Kehrsatz (2010) Ernst, H.: Grundkurs Informatik, 4th edn. Vieweg+Teubner, Wiesbaden (2008) Fowler, M.: Refactoring – Wie Sie das Design vorhandener Software verbessern. Addison-Wesley, Reading (2000) © Springer Fachmedien Wiesbaden 2015 423 J. Brauer, Programming Smalltalk – Object-Orientation from the Beginning, DOI 10.1007/978-3-658-06823-3 424 References Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object- Oriented Software. Addison-Wesley, Reading (1995) Goldberg, A.: Smalltalk-80: The Interactive Programming Environment. Addison-Wesley, Reading (1983) Goldberg, A., Robson, D.: Smalltalk-80: The Language. Addison-Wesley, Reading (1989) Hopkins, T., Horan, B.: Smalltalk—An Introduction to Application Development Using Visual- Works. Prentice Hall, New York (1995). http://stephane.ducasse.free.fr/FreeBooks Jacko, J.A. (ed.): Human-Computer Interaction Handbook, 3rd edn. CRC Press, Boca Raton (2012) Link, J.: Unit Tests mit Java. Der Test-First-Ansatz. dpunkt.verlag, Heidelberg (2002) Mayr, H.C., Maas, J.: Perspektiven der Informatik. Inform.-Spektrum 25(3), 177–186 (2002) Mössenböck, H.: Objektorientierte Programmierung in Oberon-2.2. Springer, Berlin (1994) Myers, G.J., Sandler, C., Badgett, T.: The Art of Software Testing, 3rd edn. Wiley, New York (2011) Oestereich, B.: Objektorientierte Softwareentwicklung: Analyse und Design mit der UML 2.0, 7th edn. Wissenschafts-verlag, Oldenbourg (2005) Pepper, P., Hofstedt, P.: Funktionale Programmierung. Springer, Berlin (2006) Perscheid, M., Tibbe, D., Beck, M., Berger, S., Osburg, P., Eastman, J., Haupt, M., Hirschfeld, R.: An introduction to Seaside. Software Architecture Group. Hasso-Plattner-Institut (2008). http:// www.hpi.uni-potsdam.de/swa/seaside/tutorial Preim, B.: Entwicklung interaktiver Systeme – Grundlagen, Fallbeispiele und innovative Anwen- dungsfelder. Springer, Berlin (1999) Rails: Web development that doesn’t hurt (2013). http://rubyonrails.org. Accessed 25 August 2013 Reiser, M., Wirth, N.: Programmieren in Oberon, Das neue PASCAL. Addison-Wesley, Reading (1994) Ritter, M.: CSS 4 you—die deutsche Seite für Cascading Style-Sheets (CSS) (2009). http://www. css4you.de. Accessed 29 August 2013 Ruby: a programmers’s best friend (2013). http://www.ruby-lang.org/de/about/. Accessed 25 August 2013 Seaside: stairway to agile Web (2013). http://www.seaside.st/. Accessed 1 August 2013 SUnit: the mother of all unit testing frameworks (2013). http://sunit.sourceforge.net/. Accessed 25 August 2013 w3scchools.com. http://www.w3schools.com. Accessed 8 October 2014 Wirth, N.: Program development by step-by-step refinement. Commun. ACM 14(4), 221–227 (1971) Index A C Absolute error, 156 Calculation time, 288 Abstraction, 31 Call/Answer mechanism, 378 Acceptance test, 333 Callback, 363, 364, 372, 381 Aggregation, 307,
Recommended publications
  • Visual Smalltalk Enterprise ™ ™
    Visual Smalltalk Enterprise ™ ™ Language Reference P46-0201-00 Copyright © 1999–2000 Cincom Systems, Inc. All rights reserved. Copyright © 1999–2000 Seagull Systems, Inc. All rights reserved. This product contains copyrighted third-party software. Part Number: P46-0201-00 Software Release 3.2 This document is subject to change without notice. RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013. Trademark acknowledgments: CINCOM, CINCOM SYSTEMS, and the Cincom logo are registered trademarks of Cincom Systems, Inc. Visual Smalltalk is a trademark of Cincom Systems, Inc., its subsidiaries, or successors and are registered in the United States and other countries. Microsoft Windows is a registered trademark of Microsoft, Inc. Win32 is a trademark of Microsoft, Inc. OS/2 is a registered trademark of IBM Corporation. Other product names mentioned herein are used for identification purposes only, and may be trademarks of their respective companies. The following copyright notices apply to software that accompanies this documentation: Visual Smalltalk is furnished under a license and may not be used, copied, disclosed, and/or distributed except in accordance with the terms of said license. No class names, hierarchies, or protocols may be copied for implementation in other systems. This manual set and online system documentation copyright © 1999–2000 by Cincom Systems, Inc. All rights reserved. No part of it may be copied, photocopied, reproduced, translated, or reduced to any electronic medium or machine-readable form without prior written consent from Cincom.
    [Show full text]
  • Type Feedback for Bytecode Interpreters Position Paper ICOOOLPS 2007
    Type Feedback for Bytecode Interpreters Position Paper ICOOOLPS 2007 Michael Haupt1, Robert Hirschfeld1, and Marcus Denker2 1 Software Architecture Group Hasso-Plattner-Institut University of Potsdam, Germany 2 Software Composition Group Institute of Computer Science and Applied Mathematics University of Berne, Switzerland michael.haupt,hirschfeld @hpi.uni-potsdam.de, [email protected] { } Abstract. This position paper proposes the exploitation of type feed- back mechanisms, or more precisely, polymorphic inline caches, for purely interpreting implementations of object-oriented programming languages. Using Squeak’s virtual machine as an example, polymorphic inline caches are discussed as an alternative to global caching. An implementation proposal for polymorphic inline caches in the Squeak virtual machine is presented, and possible future applications for online optimization are outlined. 1 Introduction Bytecode interpreters are small in size and comparatively easy to implement, but generally execute programs much less efficiently than just-in-time (JIT) compilers. Techniques like threaded interpretation [9, 11, 2] focus on speeding up bytecode interpretation itself, and caching [4, 5, 1] improves the performance of message sends—the most common operation in object-oriented software [7]. It is interesting to observe that, while threading mechanisms are used natu- rally to a varying degree in bytecode interpreter implementations, such systems usually employ only global caching to speed up dynamic method dispatch. A global cache is clearly beneficial with respect to overall performance. Still, it does not provide optimal support for polymorphic message send sites, and it does not allow for exploiting type information (we provide details on these issues in the following section). In our opinion, the employment of polymorphic inline caches (PICs) [5] instead can provide means for achieving significant speedups in bytecode interpreters while exhibiting only a moderate increase in memory footprint and implementation complexity.
    [Show full text]
  • Focal Point Custom Chart Plugin Reference Manual
    Focal Point® Custom Chart Plugin Reference Manual 7.3.0 Publication information Trademarks December 2018 The following are trademarks or registered trademarks of UNICOM Systems, Inc. in the United States and/or other Information in this publication is subject to change. jurisdictions worldwide: Focal Point, UNICOM, Changes will be published in new editions or technical UNICOM Systems. newsletters. Documentation set The documentation relating to this product includes: ■ Focal Point Custom Chart Plugin Reference Manual Copyright notice Focal Point® (the Programs and associated materials) is a proprietary product of UNICOM Systems, Inc. – a division of UNICOM Global. The Programs have been provided pursuant to License Agreement containing restrictions on their use. The programs and associated materials contain valuable trade secrets and proprietary information of UNICOM Systems, Inc. and are protected by United States Federal and non-United States copyright laws. The Programs and associated materials may not be reproduced, copied, changed, stored, disclosed to third parties, and distributed in any form or media (including but not limited to copies on magnetic media) without the express prior written permission of UNICOM Systems, Inc., UNICOM Plaza Suite 310, 15535 San Fernando Mission Blvd., Mission Hills, CA 91345 USA. Focal Point® © Copyright 1997-2018 All Rights Reserved. UNICOM Systems, Inc. – a division of UNICOM Global. No part of this Program may be reproduced in any form or by electronic means, including the use of information storage and retrieval systems, without the express prior written consent and authorization of UNICOM Systems, Inc. No part of this manual may be reproduced or transmitted in any form or by any means, electronic or mechanical, without prior written permission from UNICOM Systems, Inc.
    [Show full text]
  • A Tour of the Squeak Object Engine
    A Tour of the Squeak Object Engine A Tour of the Squeak Object Engine Tim Rowledge, [email protected] Introduction This chapter is intended to explain some basics of how a Virtual Machine (VM) works, why a VM is useful, what it does for the Squeak programmer and user, and how the Squeak VM might develop in the future. What is a Virtual Machine and why do we need one? A Virtual Machine provides us with a pretense of being a machine other than the actual hardware in use. Using one allows systems that behave differently than the host hardware to run as if on hardware designed for them. The term Object Engine is less commonly used but is a useful concept that includes the lowest system areas of the langauge environment running on the VM. Since there is often some flux in the definition of which components are within the actual VM and which are part of the supported environment, Object Engine is useful as a more inclusive term. The term Virtual Machine is used in several ways. When IBM refer to VM/CMS they are referring to a way of making a mainframe behave as if it is many machines, so that programs can assume they have total control even though they do not. Intel provide a somewhat similar facility in the x86 architecture(?), referred to as Virtual Mode. This sort of VM is a complete hardware simulation, often supported at the lowest level by the hardware. Another sort of VM is the emulator - SoftWindows for the Mac, Acorn's !PC, Linux's WINE are good examples - where another machine and/or OS is simulated to allow a Mac user to run Windows programs, an Acorn RiscPC or a Linux machine to run Windows98 programs and so on.
    [Show full text]
  • Smalltalk Language Mapping Specification
    Smalltalk Language Mapping Specification New Edition: June 1999 Copyright 1995, 1996 BNR Europe Ltd. Copyright 1998, Borland International Copyright 1991, 1992, 1995, 1996 Digital Equipment Corporation Copyright 1995, 1996 Expersoft Corporation Copyright 1996, 1997 FUJITSU LIMITED Copyright 1996 Genesis Development Corporation Copyright 1989, 1990, 1991, 1992, 1995, 1996 Hewlett-Packard Company Copyright 1991, 1992, 1995, 1996 HyperDesk Corporation Copyright 1998 Inprise Corporation Copyright 1996, 1997 International Business Machines Corporation Copyright 1995, 1996 ICL, plc Copyright 1995, 1996 IONA Technologies, Ltd. Copyright 1996, 1997 Micro Focus Limited Copyright 1991, 1992, 1995, 1996 NCR Corporation Copyright 1995, 1996 Novell USG Copyright 1991,1992, 1995, 1996 by Object Design, Inc. Copyright 1991, 1992, 1995, 1996 Object Management Group, Inc. Copyright 1996 Siemens Nixdorf Informationssysteme AG Copyright 1991, 1992, 1995, 1996 Sun Microsystems, Inc. Copyright 1995, 1996 SunSoft, Inc. Copyright 1996 Sybase, Inc. Copyright 1998 Telefónica Investigación y Desarrollo S.A. Unipersonal Copyright 1996 Visual Edge Software, Ltd. The companies listed above have granted to the Object Management Group, Inc. (OMG) a nonexclusive, royalty-free, paid up, worldwide license to copy and distribute this document and to modify this document and distribute copies of the modified ver- sion. Each of the copyright holders listed above has agreed that no person shall be deemed to have infringed the copyright in the included material of any such copyright holder by reason of having used the specification set forth herein or having con- formed any computer software to the specification. PATENT The attention of adopters is directed to the possibility that compliance with or adoption of OMG specifications may require use of an invention covered by patent rights.
    [Show full text]
  • CS 535 Object-Oriented Programming & Design Fall Semester, 2008 Doc
    CS 535 Object-Oriented Programming & Design Fall Semester, 2008 Doc 4 Starting VisualWorks Sept 9 2008 Copyright ©, All rights reserved. 2008 SDSU & Roger Whitney, 5500 Campanile Drive, San Diego, CA 92182-7700 USA. OpenContent (http:// www.opencontent.org/openpub/) license defines the copyright on this document. Reference VisualWorks Application Developer’s Guide, doc/AppDevGuide.pdf in the VisualWorks installation. Chapter 1 The VisualWorks Environment. Reading VisualWorks Application Developer’s Guide, doc/AppDevGuide.pdf in the VisualWorks installation. Chapter 1 The VisualWorks Environment. Chapter 2 Programming in VisualWorks (minus the sections Loading Code Libraries & Paintng a GUI) 2 Learning Smalltalk Smalltalk language syntax Smalltalk Programming Environment Smalltalk Class Library Object-oriented thinking This is the hardest part Smalltalk culture 3 Versions of Smalltalk VisualWorks VisualAge for Smalltalk Squeak Dolphin Smalltalk X Smallscript (.NET Smalltalk) 4 Bytecode & VMs Smalltalk is compiled to a bytecode for a virtual machine VisualWorks has VM's for: Windows Macintosh Unix/Linux VisualWork’s virtual machine (VM) uses a JIT to compile bytecodes 5 Parts of VisualWorks Executable Virtual Machine (visual, visual.exe) This is the VM that interprets Smalltalk bytecode visual.sou Source code for most of class library visual.cha Source code for changes & new classes Does not exist until after you first use VisualWorks visual.im Bytecode of sources that are executed At first the image will appear to be an IDE for Smalltalk 6 Before Starting VisualWorks Make a copy of visual.im You will need it later 7 Starting VisualWorks on Windows Method 1 Drag and drop the image file on the Visual application or visual.exe Method 2 Double click on the image file The first time you do this you may get a dialog asking for the application to run the image.
    [Show full text]
  • Object-Oriented Programming
    2/28/2008 Why Study Smalltalk CSE 3302 Programming Languages • Purest OO language, encourage OO programming • Can inspect and change objects and the runtime system itself at run time Object-Oriented • Pioneered in many things – GhilGraphical user inter face (WidM(Window, Menu, M)Mouse) Programming – Personal workstation – Push OO into success • I invented the term Object-Oriented, and I can tell you I Chengkai Li did not have C++ in mind. -- Alan Kay Spring 2008 • Has an active community • Could have deserved more popularity Lecture 13 – OO Programming, Lecture 13 – OO Programming, CSE3302 Programming Languages, UT-Arlington 1 CSE3302 Programming Languages, UT-Arlington 2 Spring 2008 ©Chengkai Li, 2008 Spring 2008 ©Chengkai Li, 2008 Key Features History • Very simple syntax • 1967: Inspired by Simula67, the first OO language • Everything is object • 1971: Started by Dynabook project (Alan Kay) 3, true, nil – Hardware: GUI, pointing device, external storage, etc. Class is object • Later led to Alto (“laptop”) no control: if, loop are objects – Software: for Children • Dyyyypnamically typed: • Became Smallta lk – Variable has no type. – The class hierarchy is the type system. – Education • The language is together with its interactive runtime system – Runtime written in the language itself Is Dynabook realized? Kay doesn’t think so: – Can change the system on-the-fly – Squeak – Debug system state (image), object, class hierarchy – One Laptop Per Child project (Nicholas Negroponte, Alan Kay, …) • All data is private (protected), all methods
    [Show full text]
  • Preserving Instance State During Refactorings in Live Environments Pablo Tesone, Guillermo Polito, Luc Fabresse, Noury Bouraqadi, Stéphane Ducasse
    Preserving Instance State during Refactorings in Live Environments Pablo Tesone, Guillermo Polito, Luc Fabresse, Noury Bouraqadi, Stéphane Ducasse To cite this version: Pablo Tesone, Guillermo Polito, Luc Fabresse, Noury Bouraqadi, Stéphane Ducasse. Preserving In- stance State during Refactorings in Live Environments. Future Generation Computer Systems, Else- vier, In press, 10.1016/j.future.2020.04.010. hal-02541754 HAL Id: hal-02541754 https://hal.archives-ouvertes.fr/hal-02541754 Submitted on 14 Apr 2020 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Preserving Instance State during Refactorings in Live Environments Pablo Tesonea,b,∗, Guillermo Politoc, Luc Fabresseb, Noury Bouraqadib, Stéphane Ducassea aInria Lille-Nord Europe, 40 Avenue Halley, Villeneuve d’Ascq, France bUnité de Recherche Informatique et Automatique, IMT Lille Douai, 764 Boulevard Lahure, Douai, France cUniv. Lille, CNRS, Centrale Lille, Inria, UMR 9189 - CRIStAL - Centre de Recherche en Informatique Signal et Automatique de Lille, F-59000 Lille, France Abstract An important activity of software evolution consists in applying refactorings to enhance the quality of the code without changing its behaviour. Having a proper refactoring tool is a must-to in any professional development environment.
    [Show full text]
  • Editor, Captain Scott B. Murray Editorial Assistant, Mr. Charles J
    Editor, Captain Scott B. Murray Editorial Assistant, Mr. Charles J. Strong The Army Lawyer is published monthly by The Judge Advocate General's School for the official use of Army lawyers in the performance of their legal responsibilities. The opinions e xpressed by the authors in the articles, however, do not necessarily reflect the view of The Judge Advocate General or the Department of the Army. Masculine or feminine pronouns appearing in this pamphlet refer to both genders unless the context indicates another use. The Army Lawyer welcomes articles on topics of interest to military lawyers. Articles should be submitted on 3 1/2” diskettes to Editor, The Army Lawyer, The Judge Advocate General's School, U.S. Army, ATTN: JAGS-ADL-P, Charlottesville, Virginia 22903-1781. Article text and footnotes should be double-spaced in Times New Roman, 10 point font, and Microsoft Word format. Articles should follow A Uniform System of Citation (16th ed. 1996) and Military Citation (TJAGSA, July 1997). Manuscripts will be returned upon specific request. No compensation can be paid for articles. The Army Lawyer articles are indexed in the Index to Legal Periodicals, the Current Law Index, the Legal Resources Index, and the Index to U.S. Government Periodicals. Address changes for official channels distribution: Provide changes to the Editor, The Army Lawyer, TJAGSA, 600 Massie Road, Charlottesville, Virginia 22903-1781, telephone 1 -800-552-3978, ext. 396 or e-mail: [email protected]. Issues may be cited as Army Law., [date], at [page number]. Periodicals postage paid at Charlottesville, Virginia and additional mailing offices.
    [Show full text]
  • Nested Class Modularity in Squeak/Smalltalk
    Springer, Nested Class Modularity in Squeak/Smalltalk Nested Class Modularity in Squeak/Smalltalk Modularität mit geschachtelten Klassen in Squeak/Smalltalk by Matthias Springer A thesis submitted to the Hasso Plattner Institute at the University of Potsdam, Germany in partial fulfillment of the requirements for the degree of Master of Science in ITSystems Engineering Supervisor Prof. Dr. Robert Hirschfeld Software Architecture Group Hasso Plattner Institute University of Potsdam, Germany August 17, 2015 Abstract We present the concept, the implementation, and an evaluation of Matriona, a module system for and written in Squeak/Smalltalk. Matriona is inspired by Newspeak and based on class nesting: classes are members of other classes, similarly to class instance variables. Top-level classes (modules) are globals and nested classes can be accessed using message sends to the corresponding enclosing class. Class nesting effec- tively establishes a global and hierarchical namespace, and allows for modular decomposition, resulting in better understandability, if applied properly. Classes can be parameterized, allowing for external configuration of classes, a form of dependency management. Furthermore, parameterized classes go hand in hand with mixin modularity. Mixins are a form of inter-class code reuse and based on single inheritance. We show how Matriona can be used to solve the problem of duplicate classes in different modules, to provide a versioning and dependency management mech- anism, and to improve understandability through hierarchical decomposition. v Zusammenfassung Diese Arbeit beschreibt das Konzept, die Implementierung und die Evaluierung von Matriona, einem Modulsystem für und entwickelt in Squeak/Smalltalk. Ma- triona ist an Newspeak angelehnt und basiert auf geschachtelten Klassen: Klassen, die, wie zum Beispiel auch klassenseitige Instanzvariablen, zu anderen Klassen gehören.
    [Show full text]
  • Windowbuilder Pro/V 3.1
    Cincom WindowBuilder Pro/V 3.1 P46-0208-00 Software to Simplify Our Complex World ® Copyright © 1999–2000 Cincom Systems, Inc. All rights reserved. Copyright © 1999–2000 Seagull Systems, Inc. All rights reserved. This product contains copyrighted third-party software. Part Number: P46-0208-00 Software Release 3.2 This document is subject to change without notice. RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013. Trademark acknowledgments: CINCOM, CINCOM SYSTEMS, and the Cincom logo are registered trademarks of Cincom Systems, Inc. Visual Smalltalk is a trademark of Cincom Systems, Inc., its subsidiaries, or successors and are registered in the United States and other countries. Microsoft Windows is a registered trademark of Microsoft, Inc. Win32 is a trademark of Microsoft, Inc. OS/2 is a registered trademark of IBM Corporation. Other product names mentioned herein are used for identification purposes only, and may be trademarks of their respective companies. The following copyright notices apply to software that accompanies this documentation: Visual Smalltalk is furnished under a license and may not be used, copied, disclosed, and/or distributed except in accordance with the terms of said license. No class names, hierarchies, or protocols may be copied for implementation in other systems. This manual set and online system documentation copyright © 1999–2000 by Cincom Systems, Inc. All rights reserved. No part of it may be copied, photocopied, reproduced, translated, or reduced to any electronic medium or machine-readable form without prior written consent from Cincom.
    [Show full text]
  • ESUG 2012 Report
    CS21 and ESUG 23, Brescia, July 13th - 17th, 2015 1 CS21 and ESUG 23, Brescia, July 13th - 17th, 2015 This document contains my report of the ESUG conference in Brescia, July 13th - 17th, 2015 (and brief remarks on the Camp Smalltalk on the Sunday before it). As there were parallel tracks, I could not attend all talks. At the end, I also report a 2015 UK Smalltalk User Group meeting I attended. Style ‘I’ or ‘my’ refers to Niall Ross; speakers (other than myself) are referred to by name or in the third person. A question asked in or after a talk is prefixed by ‘Q.’ (sometimes I name the questioner; often I was too busy noting their question). A question not beginning with ‘Q.’ is a rhetorical question asked by the speaker (or is just my way of summarising their meaning). Author’s Disclaimer and Acknowledgements These reports give my personal view. No view of any other person or organisation with which I am connected is expressed or implied. The talk descriptions were typed while I was trying to keep up with and understand what the speakers were saying, so may contain errors of fact or clarity. I apologise for any inaccuracies, and to any participants whose names or affiliations I failed to note down. If anyone spots errors or omissions, email me and corrections may be made. My thanks to the conference organisers and the speakers whose work gave me something to report. My own talk is written up at much greater length than the others. Venue The accommodation was in old town of Brescia (called Brixia in Roman times).
    [Show full text]