Cybernetics Oriented Programming (CYBOP)

Total Page:16

File Type:pdf, Size:1020Kb

Cybernetics Oriented Programming (CYBOP) Cybernetics Oriented Programming (CYBOP) An Investigation on the Applicability of Inter-Disciplinary Concepts to Software System Development Christian Heller Cybernetics Oriented Programming (CYBOP) An Investigation on the Applicability of Inter-Disciplinary Concepts to Software System Development Ilmenau Cataloging-in-Publication Data Christian Heller. Cybernetics Oriented Programming (CYBOP): An Investigation on the Applicability of Inter-Disciplinary Concepts to Software System Development Ilmenau: Tux Tax, 2006 ISBN-10: 3-9810898-0-4 ISBN-13: 978-3-9810898-0-6 Information on Ordering this book http://www.tuxtax.de, http://www.cybop.net Written as Dissertation Supervisor 1: Prof. Dr.-Ing. habil. Ilka Philippow (Chair), Technical University of Ilmenau Supervisor 2: Prof. Dr.-Ing. habil. Dietrich Reschke, Technical University of Ilmenau, Germany Supervisor 3: Mark Lycett (PhD), Brunel University, Great Britain Submission: 2005-12-12; Presentation: 2006-10-04 Copyright c 2002-2006. Christian Heller. All rights reserved. Cover Illustration: TSAMEDIEN, D¨usseldorf Printing and Binding: Offizin Andersen Nex¨o,Leipzig/ Zwenkau Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts and with no Back-Cover Texts. A copy of the license is included in the section entitled ”GNU Free Documentation License”. Trademark Credits Most of the software-, hardware- and product names used in this document are also trademarks or registered trademarks of their respective owners. Donations Companies planning to publish this work on a grand scale are asked to notify the author <[email protected]> and to consider donating some of their sales revenues, which will be used exclusively for the CYBOP and Res Medicinae free software projects. Text printed on recycled and acid-free paper. Printed in Germany To all kind-hearted People who contribute to Humanity; against Those whose only Aim in Life is to amass Money Contents Preface xv 1 Introduction 1 1.1 Information Science . 1 1.2 Software Crisis . 2 1.3 Motivation . 4 1.4 Cybernetics . 5 1.5 Method . 5 1.6 Example . 7 1.7 Structure . 8 I Basics 11 2 Software Engineering Process 13 2.1 Waterfall Process . 14 2.2 Iterative Process . 14 2.3 Agile Methodologies . 16 2.4 Extreme Programming . 17 2.5 Method Maturity . 19 2.6 Abstraction Gaps . 19 2.7 Software Architecture . 22 3 Physical Architecture 25 3.1 Process . 26 3.2 Application Server . 27 viii Contents 3.3 Database Server . 28 3.4 Presentation Client . 30 3.5 Web Client and Server . 31 3.6 Local Process . 32 3.7 Human User . 33 3.8 Peer Node . 34 3.9 Remote Server . 35 3.10 Legacy Host . 36 3.11 Systems Interconnection . 37 3.12 Scalability . 39 3.13 Misleading Tiers . 40 4 Logical Architecture 43 4.1 Paradigm and Language . 45 4.1.1 Language History . 45 4.1.2 Paradigm Overview . 47 4.1.3 Hardware Architecture . 48 4.1.4 Machine Language . 51 4.1.5 Assembly Language . 51 4.1.6 Structured- and Procedural Programming . 51 4.1.7 System Programming . 57 4.1.8 Typeless Programming . 58 4.1.9 Functional Programming . 58 4.1.10 Logical Programming . 60 4.1.11 Data Manipulation Language . 61 4.1.12 Markup Language . 61 4.1.13 Page Description Language . 66 4.1.14 Hardware Description Language . 67 4.1.15 Object Oriented Programming . 68 4.2 Pattern . 79 4.2.1 Architectural . 81 4.2.2 Design . 97 4.2.3 Idiomatic . 103 4.2.4 Framework . 107 4.3 Component Oriented Programming . 109 4.3.1 Inversion of Control . 110 Contents ix 4.3.2 Component Lifecycle . 111 4.3.3 Interface and Implementation . 112 4.3.4 Separation of Concerns . 113 4.3.5 Spread Functionality . 115 4.3.6 Aspect Oriented Programming . 117 4.3.7 Agent Oriented Programming . 120 4.4 Domain Engineering . 122 4.4.1 Tool & Material . 124 4.4.2 Generics . 124 4.4.3 Domain Specific Language . 125 4.4.4 Specification Language . 127 4.4.5 Generative Programming . 131 4.4.6 Model Driven Architecture . 131 4.4.7 Model and Code . 133 4.5 Knowledge Engineering . 135 4.5.1 Representation Principles . 137 4.5.2 Date and Rule . 137 4.5.3 Agent Communication Language . 138 4.5.4 Semantic Web . 141 4.6 Conceptual Network . 143 4.6.1 Ontos and Logos . 144 4.6.2 Applicability . 145 4.6.3 Two Level Separation . 145 4.6.4 Building Blocks . 146 4.6.5 Terminology . 148 4.6.6 Schemes . 149 4.6.7 Ontology . 152 4.6.8 Archetype . 153 4.6.9 Dual Model Approach . 155 4.7 Modelling Mistakes . 158 5 Extended Motivation 161 5.1 Idea . 162 5.2 Recapitulation . 163 5.3 Approach . 165 x Contents II Contribution 171 6 Statics and Dynamics 173 6.1 Virtual- and Real World . 173 6.1.1 Mind and Body . 173 6.1.2 Brain Regions . 176 6.1.3 Cell Division . 177 6.1.4 Short- and Long-Term Memory . 178 6.1.5 Information Processing Model . 180 6.1.6 Persistent and Transient . 181 6.2 System and Knowledge . 182 6.2.1 Configurable or Programmable . 182 6.2.2 Code Reduction . ..
Recommended publications
  • Release Notes for X11R6.8.2 the X.Orgfoundation the Xfree86 Project, Inc
    Release Notes for X11R6.8.2 The X.OrgFoundation The XFree86 Project, Inc. 9February 2005 Abstract These release notes contains information about features and their status in the X.Org Foundation X11R6.8.2 release. It is based on the XFree86 4.4RC2 RELNOTES docu- ment published by The XFree86™ Project, Inc. Thereare significant updates and dif- ferences in the X.Orgrelease as noted below. 1. Introduction to the X11R6.8.2 Release The release numbering is based on the original MIT X numbering system. X11refers to the ver- sion of the network protocol that the X Window system is based on: Version 11was first released in 1988 and has been stable for 15 years, with only upwardcompatible additions to the coreX protocol, a recordofstability envied in computing. Formal releases of X started with X version 9 from MIT;the first commercial X products werebased on X version 10. The MIT X Consortium and its successors, the X Consortium, the Open Group X Project Team, and the X.OrgGroup released versions X11R3 through X11R6.6, beforethe founding of the X.OrgFoundation. Therewill be futuremaintenance releases in the X11R6.8.x series. However,efforts arewell underway to split the X distribution into its modular components to allow for easier maintenance and independent updates. We expect a transitional period while both X11R6.8 releases arebeing fielded and the modular release completed and deployed while both will be available as different consumers of X technology have different constraints on deployment. Wehave not yet decided how the modular X releases will be numbered. We encourage you to submit bug fixes and enhancements to bugzilla.freedesktop.orgusing the xorgproduct, and discussions on this server take place on <[email protected]>.
    [Show full text]
  • Bibliography of Erik Wilde
    dretbiblio dretbiblio Erik Wilde's Bibliography References [1] AFIPS Fall Joint Computer Conference, San Francisco, California, December 1968. [2] Seventeenth IEEE Conference on Computer Communication Networks, Washington, D.C., 1978. [3] ACM SIGACT-SIGMOD Symposium on Principles of Database Systems, Los Angeles, Cal- ifornia, March 1982. ACM Press. [4] First Conference on Computer-Supported Cooperative Work, 1986. [5] 1987 ACM Conference on Hypertext, Chapel Hill, North Carolina, November 1987. ACM Press. [6] 18th IEEE International Symposium on Fault-Tolerant Computing, Tokyo, Japan, 1988. IEEE Computer Society Press. [7] Conference on Computer-Supported Cooperative Work, Portland, Oregon, 1988. ACM Press. [8] Conference on Office Information Systems, Palo Alto, California, March 1988. [9] 1989 ACM Conference on Hypertext, Pittsburgh, Pennsylvania, November 1989. ACM Press. [10] UNIX | The Legend Evolves. Summer 1990 UKUUG Conference, Buntingford, UK, 1990. UKUUG. [11] Fourth ACM Symposium on User Interface Software and Technology, Hilton Head, South Carolina, November 1991. [12] GLOBECOM'91 Conference, Phoenix, Arizona, 1991. IEEE Computer Society Press. [13] IEEE INFOCOM '91 Conference on Computer Communications, Bal Harbour, Florida, 1991. IEEE Computer Society Press. [14] IEEE International Conference on Communications, Denver, Colorado, June 1991. [15] International Workshop on CSCW, Berlin, Germany, April 1991. [16] Third ACM Conference on Hypertext, San Antonio, Texas, December 1991. ACM Press. [17] 11th Symposium on Reliable Distributed Systems, Houston, Texas, 1992. IEEE Computer Society Press. [18] 3rd Joint European Networking Conference, Innsbruck, Austria, May 1992. [19] Fourth ACM Conference on Hypertext, Milano, Italy, November 1992. ACM Press. [20] GLOBECOM'92 Conference, Orlando, Florida, December 1992. IEEE Computer Society Press. http://github.com/dret/biblio (August 29, 2018) 1 dretbiblio [21] IEEE INFOCOM '92 Conference on Computer Communications, Florence, Italy, 1992.
    [Show full text]
  • Ranger Environment Documentation
    Ranger Environment Documentation Drew Dolgert May 18, 2010 Contents 1 Introduction 2 1.1 Ranger Hardware ....................................... 2 2 Connect 3 2.1 Login Nodes ........................................... 3 2.2 Exercise: Use SSH to Connect ................................ 3 2.2.1 SSH from Linux or Mac ................................ 3 2.2.2 SSH from Windows .................................. 3 2.3 Starting: Read Examples of Sessions ............................ 4 2.4 Further Exercise: Using X-Windows to Connect ...................... 5 2.4.1 Opening a Connection From Mac .......................... 5 2.4.2 Opening a Connection From Linux ......................... 6 2.4.3 Opening a Connection From Windows ....................... 6 2.5 Exercise: Connect with VNC ................................. 9 2.6 Further Exercise: Choose Your Shell ............................ 9 2.7 Advanced: Make Login Faster ................................ 10 2.7.1 Making Shortcuts on Windows ............................ 10 2.7.2 Setup SSH Keys for No Password Login ....................... 10 3 Using Module 10 3.1 About the Module Command ................................. 10 3.2 Discussion Exercise: Learn Modules ............................ 11 3.3 Modules List .......................................... 11 3.4 Exercise: Compilation with Modules ............................ 15 3.5 Further Exercise: Module Dependencies .......................... 15 4 Running in Batch 17 4.1 Text Editors ........................................... 17 4.1.1 VI Cheat Sheet
    [Show full text]
  • Creating Java Applications Using Netrexx
    SG24-2216-00 Creating Java Applications Using NetRexx September 1997 IBML International Technical Support Organization SG24-2216-00 Creating Java Applications Using NetRexx September 1997 Take Note! Before using this information and the product it supports, be sure to read the general information in Appendix B, “Special Notices” on page 273. First Edition (September 1997) This edition applies to Version 1.0 and Version 1.1 of NetRexx with Java Development Kit 1.1.1 for use with the OS/2 Warp, Windows 95, and Windows NT operating systems. Because NetRexx runs on any platform where Java is implemented, it applies to other platforms and operating systems as well. SAMPLE CODE ON THE INTERNET The sample code for this redbook is available as nrxredbk.zip on the ITSO home page on the Internet: ftp://www.redbooks.ibm.com/redbooks/SG242216 Download the sample code and read “Installing the Sample Programs” on page 4. Comments may be addressed to: IBM Corporation, International Technical Support Organization Dept. QXXE Building 80-E2 650 Harry Road San Jose, California 95120-6099 When you send information to IBM, you grant IBM a non-exclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you. Copyright International Business Machines Corporation 1997. All rights reserved. Note to U.S. Government Users — Documentation related to restricted rights — Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corp. Contents Figures . xi Tables . xv Preface . xvii How This Document is Organized ................................ xviii The Team That Wrote This Redbook ...............................
    [Show full text]
  • The Future of X.Org on Non-GNU/Linux Systems
    The future of X.Org on non-GNU/Linux systems Matthieu Herrb OpenBSD/X.Org February 2, 2013 Introduction X has always been multi-platform XFree86 was started on SVr4 and FreeBSD, ported on Linux later. GNU/Linux/Freedesktop is now dominating the market... Most of X.Org development happen on Linux But In the Free Software world, should it be the only one ? 2/18 Agenda 1 System-dependent components 2 Current status 3 Observations 4 Conclusion 3/18 History X11R5 : one DDX per system, used OS-Specific kernel interfaces also supported non TCP/IP network protocols (decnet,...) XFree86 2 & 3: one DDX for all systems with os-support layer, direct hw access to VGA cards, avoiding complex kernel interfaces for video card support XFree86 4: added the OS-independant modules loader X.Org 7 started removing support for older, non POSIX, non TCP-IP systems (VMS, DECnet, OS/2,..) Remove direct hw access (KMS, DRI2) Turn the DDX to a GNU/Linux ? 4/18 Modern X.Org architecture Toolkits & Applications libGL Mesa/Gallium driver libX11/libxcb X server X driver libdrm drm console driver kernel graphics hardware 5/18 System dependencies locations toolchain support C99 Threads (and TLS) SSE2/Arm NEON/sparc VIS/PPC Altivec supprt (pixman) xserver/hw/xfree86/common/compiler.h ← nightmare... xserver/hw/xfree86/os-support/ console driver interface xserver/confg/ device hot-plug interface libpciaccess PCI bus interface xf86-input-* system keyboard/mouse interface libdrm kernel interface, including KMS XQuartz Xwin 2 remaining system specific DDXen xf86-video-* video driver interfaces 6/18 Solaris Thanks to Alan Coopersmith for the data Latest release: Solaris 11.1 X is in the OS.
    [Show full text]
  • Open Source Software Attributions for ASCET-DEVELOPER 7.3.0
    ASCET-DEVELOPER 7.3.0 OSS Attributions Open Source Software Attributions for ASCET-DEVELOPER 7.3.0 This document is provided as part of the fulfillment of OSS license conditions and does not require users to take any action before or while using the product. Page 1 of 102 ASCET-DEVELOPER 7.3.0 OSS Attributions Table of Contents Contents 1 List of used Open Source Components. ................................................................................................ 3 2 Appendix - License Text ................................................................................................................. 15 2.1 ANTLR Software Rights Notice .................................................................................................. 15 2.2 ASM License ......................................................................................................................... 16 2.3 Apache License 1.1 ................................................................................................................. 17 2.4 Apache License 2.0 ................................................................................................................. 18 2.5 BSD (Three Clause License) ...................................................................................................... 21 2.6 BSD 4-clause "Original" or "Old" License ..................................................................................... 22 2.7 Common Development and Distribution License 1.0.....................................................................
    [Show full text]
  • Release Notes for Xfree86® 4.8.0 the Xfree86 Project, Inc December 2008
    Release Notes for XFree86® 4.8.0 The XFree86 Project, Inc December 2008 Abstract This document contains information about the various features and their current sta- tus in the XFree86 4.8.0 release. 1. Introduction to the 4.x Release Series XFree86 4.0 was the first official release of the XFree86 4 series. The current release (4.8.0) is the latest in that series. The XFree86 4.x series represents a significant redesign of the XFree86 X server,with a strong focus on modularity and configurability. 2. Configuration: aQuickSynopsis Automatic configuration was introduced with XFree86 4.4.0 which makes it possible to start XFree86 without first creating a configuration file. This has been further improved in subsequent releases. If you experienced any problems with automatic configuration in a previous release, it is worth trying it again with this release. While the initial automatic configuration support was originally targeted just for Linux and the FreeBSD variants, as of 4.5.0 it also includes Solaris, NetBSD and OpenBSD support. Full support for automatic configuration is planned for other platforms in futurereleases. If you arerunning Linux, FreeBSD, NetBSD, OpenBSD, or Solaris, try Auto Configuration by run- ning: XFree86 -autoconfig If you want to customise some things afterwards, you can cut and paste the automatically gener- ated configuration from the /var/log/XFree86.0.log file into an XF86Config file and make your customisations there. If you need to customise some parts of the configuration while leav- ing others to be automatically detected, you can combine a partial static configuration with the automatically detected one by running: XFree86 -appendauto If you areusing a platform that is not currently supported, then you must try one of the older methods for getting started like "xf86cfg", which is our graphical configuration tool.
    [Show full text]
  • Porting X Windows System to Operating System Compliant with Portable Operating System Interface
    (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 11, No. 7, 2020 Porting X Windows System to Operating System Compliant with Portable Operating System Interface Andrey V. Zhadchenko1, Kirill A. Mamrosenko2, Alexander M. Giatsintov3 Center of Visualization and Satellite Information Technologies Scientific Research Institute of System Analysis Moscow, Russia Abstract—Now-a-days graphical interface is very important separated process contexts [4]. Current graphical subsystem for any operating system, even the embedded ones. Adopting is server-client X windows system implementation named existing solutions will be much easier than developing your XFree86 with version 4.8.0. Although XFree86 [5] supports up own. Moreover, a lot of software may be reused in this case. to the X11R6.6 protocol version, which is barely enough to run This article is devoted to X Window System adaptation for modern applications, absence of many important extensions, Portable Operating System Interface (POSIX) compliant real- for example, Xrender [6], implies heavy limits upon software. time operating system Baget. Many encountered problems come from the tight connection between X and Linux, therefore it is expected to encounter these issues during usage of X on non- Nowadays existing free software solutions in display Linux systems. Discussed problems include, but not limited to servers for operating systems are limited to two options: X the absence of dlopen, irregular file paths, specific device drivers. Windows System and Wayland [7]. However, there is a big Instructions and recommendations to solve these issues are given. ideological difference between them. X started it’s history a A comparison between XFree86 and Xorg implementations of X long time ago in the ’80s and was developed as an all-around is discussed.
    [Show full text]
  • Release Notes for X11R7.5 the X.Org Foundation 1
    Release Notes for X11R7.5 The X.Org Foundation 1 October 2009 These release notes contains information about features and their status in the X.Org Foundation X11R7.5 release. Table of Contents Introduction to the X11R7.5 Release.................................................................................3 Summary of new features in X11R7.5...............................................................................3 Overview of X11R7.5............................................................................................................4 Details of X11R7.5 components..........................................................................................5 Build changes and issues..................................................................................................10 Miscellaneous......................................................................................................................11 Deprecated components and removal plans.................................................................12 Attributions/Acknowledgements/Credits......................................................................13 Introduction to the X11R7.5 Release This release is the sixth modular release of the X Window System. The next full release will be X11R7.6 and is expected in 2010. Unlike X11R1 through X11R6.9, X11R7.x releases are not built from one monolithic source tree, but many individual modules. These modules are distributed as individ- ual source code releases, and each one is released when it is ready, instead
    [Show full text]
  • Oracle Database Licensing Information for Additional Information
    Oracle® Exadata Database Machine Licensing Information 11g Release 2 (11.2) E25431-04 November 2013 Oracle Exadata Database Machine Licensing Information, 11g Release 2 (11.2) E25431-04 Copyright © 2012, 2013, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.
    [Show full text]
  • Pipelines Guide and Reference
    Pipelines Guide and Reference Ed Tomlinson Jeff Hennick René Jansen Version 4.01-GA of March 20, 2021 THE REXX LANGUAGE ASSOCIATION NetRexx Programming Series ISBN 978-90-819090-3-7 Publication Data ©Copyright The Rexx Language Association, 2011- 2021 All original material in this publication is published under the Creative Commons - Share Alike 3.0 License as stated at http://creativecommons.org/licenses/by-nc-sa/3.0/us/legalcode. The responsible publisher of this edition is identified as IBizz IT Services and Consultancy, Amsteldijk 14, 1074 HR Amsterdam, a registered company governed by the laws of the Kingdom of The Netherlands. This edition is registered under ISBN 978-90-819090-3-7 ISBN 978-90-819090-3-7 9 789081 909037 I Contents The NetR Programming Series i 1 Introduction 1 2 The Pipeline Concept 2 2.1 What is a Pipeline? 2 2.2 Stage 2 2.3 Device Driver 3 3 Running pipelines 4 3.1 Configuration 4 3.2 From the NetREXX Workspace (nrws) with direct execution 5 3.3 From the command line with direct execution 6 3.4 Precompiled Pipelines 6 3.5 Compiled from an .njp file 7 3.6 Compiled from an .njp file with additional stage definitions in NetREXX 7 4 Example Session 8 5 Write your own Filters 12 6 More advanced Pipelines 14 7 Device Drivers 15 8 Record Selection 17 9 Filters 18 10 Other Stages 19 11 Multi-Stream Pipelines 20 12 Pipeline Stalls 22 13 How to use a pipe in a NetR program 24 II 14 Giving commands to the operating system 27 14.1 Built-ins 27 15 TCP/IP Networking 28 16 Selecting from relational databases 30 17 The Pipes Runner 31 18 The Pipes Compiler 32 19 Built-in Stages 33 20 Differences with CMS Pipelines 34 Index 83 III The NetR Programming Series This book is part of a library, the NetR Programming Series, documenting the NetREXX programming language and its use and applications.
    [Show full text]
  • VM/ESA Network Computing with Java and Netrexx
    IBML VM/ESA Network Computing with Java and NetRexx Kris Buelens ** Bengt Heijnesson ** Dave Jones ** Salvador Torres International Technical Support Organization http://www.redbooks.ibm.com This book was printed at 240 dpi (dots per inch). The final production redbook with the RED cover will be printed at 1200 dpi and will provide superior graphics resolution. Please see “How to Get ITSO Redbooks” at the back of this book for ordering instructions. SG24-5148-00 IBML International Technical Support Organization SG24-5148-00 VM/ESA Network Computing with Java and NetRexx November 1998 Take Note! Before using this information and the product it supports, be sure to read the general information in Appendix C, “Special Notices” on page 161. First Edition (November 1998) This edition applies to Virtual Machine/Enterprise Systems Architecture (VM/ESA), Version 2 Release 3.0, Program Number 5654-030, and subsequent releases. Note This book is based on a pre-GA version of a product and may not apply when the product becomes generally available. We recommend that you consult the product documentation or follow-on versions of this redbook for more current information. Comments may be addressed to: IBM Corporation, International Technical Support Organization Dept. HYJ Mail Station P099 522 South Road Poughkeepsie, New York 12601-5400 When you send information to IBM, you grant IBM a non-exclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you. Copyright International Business Machines Corporation 1998. All rights reserved. Note to U.S. Government Users — Documentation related to restricted rights — Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corp.
    [Show full text]