
A Software Framework for Data Based Analysis DISSERTATION zur Erlangung des akademischen Grades doctor rerum politicarum (Doktor der Wirtschaftswissenschaft) im Fach Volkswirtschaft eingereicht an der Wirtschaftswissenschaftlichen Fakultat¨ Humboldt-Universitat¨ zu Berlin von Dipl.-Vw. Markus Kratzig¨ geboren am 16.11.1974 in Berlin Prasident¨ der Humboldt-Universitat¨ zu Berlin: Prof. Dr. Jurgen¨ Mlynek Dekan der Wirtschaftswissenschaftlichen Fakultat:¨ Prof. Dr. Joachim Schwalbach Gutachter: 1. Prof. Dr. Helmut Lutkepohl¨ 2. Prof. Dr. Bettina Berendt eingereicht am: 21.12.2004 Tag der mundlichen¨ Prufung:¨ 04.02.2005 Zusammenfassung Es wird das Software Framework JStatCom vorgestellt, welches die Enwick- lung von leistungsfahigen¨ grafischen Benutzerschnittstellen fur¨ Daten-basierte Analysemethoden wesentlich vereinfacht, wobei der Schwerpunkt auf Methoden der Okonometrie,¨ insbesondere der Zeitreihenanalyse liegt. Das Konzept besteht darin, samtliche¨ wiederkehrenden Aufgaben mit Hilfe von Java-Klassen zu losen,¨ sowie die Ausfuhrung¨ von speziellen Algorithmen an externe Programme, wie z.B. Gauss oder Matlab, zu delegieren. Auf diese Weise konnen¨ schon existie- rende Prozeduren aus verschiedenen Programmiersprachen wiederverwendet wer- den. Weiterhin wird die okonometrische¨ Anwendungssoftware JMulTi beschrie- ben, die auf Basis dieses Frameworks erstellt wurde. Schlagworter:¨ Zeitreihenanalyse, Wissenschaftliches Rechnen, Software Entwicklung, JMulTi Abstract This work presents the software framework JStatCom which is geared towards the development of powerful graphical user interfaces for data based analysis methods, especially for econometrics and time series analysis. The concept is to solve all recurring tasks with the help of Java classes and to delegate the exe- cution of special algorithms to external programs, for example Gauss or Matlab. This way it is possible to reuse already existing procedures written in different programming languages. Furthermore, the econometric software JMulTi will be presented which has been developed with the help of this framework. Keywords: time series analysis, scientific computing, software engineering, JMulTi Table of Contents List of Figures xvi List of Tables xviii Abbreviations xix Acknowledgements xxi 1 From Algorithms towards an integrated Framework 1 1.1 Problem Description ........................ 1 1.2 JStatCom and JMulTi ........................ 3 1.3 Access to Algorithms ........................ 7 1.3.1 Using an Execution Engine ................. 7 1.3.2 Using Libraries and Toolkits ................ 9 1.3.3 Including Graphics ..................... 11 1.3.4 Integrating available Tools ................. 13 1.4 JStatCom in comparison to other Approaches ........... 14 1.4.1 MulTi ............................ 14 1.4.2 Observations on Entropy and Software Reuse ....... 14 1.4.3 The MMM Project ..................... 16 1.4.4 The OmegaHat Project ................... 18 1.4.5 Creating GUI’s with Matlab ................ 19 1.4.6 Creating interactive Programs with Ox ........... 20 1.5 Concluding Remarks ........................ 23 1.6 How to read this Thesis ....................... 24 iv TABLE OF CONTENTS v 2 A Motivating Example 26 2.1 Introduction ............................. 26 2.2 A Step-by-Step Example ...................... 27 2.2.1 System Requirements for this Example .......... 27 2.2.2 Step 1: Download/Install the Java Software Development Kit (J2SE SDK) ...................... 28 2.2.3 Step 2: Download/Install the Eclipse IDE and some Plug-ins 28 2.2.4 Step 3: Download JStatCom and unpack it ........ 29 2.2.5 Step 4: Create an Eclipse Project .............. 30 2.2.6 Step 5: Create a new Package and a new Class ...... 31 2.2.7 Step 6: Layout the GUI with the Visual Editor ....... 36 2.2.8 Step 7: Add an Action to the Execute Button ....... 45 2.2.9 Step 8: Add the Module to the Main Application Frame . 45 2.2.10 Step 9: Integrate Gauss Algorithm ............. 47 2.2.11 Step 10: Implement the Execute Routine ......... 50 2.2.12 Step 11: Check running Module .............. 55 2.3 Final Remarks ............................ 56 3 Design and Implementation 58 3.1 Documenting a Software Architecture ............... 58 3.2 JStatCom System Overview .................... 59 3.3 How Stakeholders Can Use the Documentation .......... 60 3.3.1 Typical Development Steps ................. 61 3.4 Background, Rationale, and Design Constraints .......... 63 3.4.1 Operational Context .................... 63 3.4.2 Key Data Management Features .............. 64 3.4.3 Key User Interface Features ................ 64 3.4.4 Key Interoperability Features ................ 65 3.4.5 Key Design Features .................... 66 3.5 JStatCom Architecture View Template ............... 69 3.6 View Packet 1: JStatCom ...................... 70 3.6.1 Primary Presentation .................... 70 3.6.2 Element Catalog ...................... 72 3.6.3 Context ........................... 74 vi TABLE OF CONTENTS 3.6.4 Architecture Background .................. 76 3.6.5 Related View Packets .................... 76 3.7 View Packet 2: Data Model ..................... 76 3.7.1 Primary Presentation .................... 76 3.7.2 Element Catalog ...................... 77 3.7.3 Context ........................... 78 3.7.4 Architecture Background .................. 79 3.7.5 Related View Packets .................... 79 3.8 View Packet 3: Type System .................... 79 3.8.1 Primary Presentation .................... 79 3.8.2 Element Catalog ...................... 82 3.8.3 Architecture Background .................. 83 3.8.4 Usage Example ....................... 85 3.8.5 Related View Packets .................... 86 3.9 View Packet 4: Data Event System ................. 86 3.9.1 Primary Presentation .................... 86 3.9.2 Element Catalog ...................... 87 3.9.3 Architecture Background .................. 88 3.9.4 Usage Example ....................... 89 3.9.5 Related View Packets .................... 91 3.10 View Packet 5: Symbol Management ................ 91 3.10.1 Primary Presentation .................... 91 3.10.2 Element Catalog ...................... 94 3.10.3 Architecture Background .................. 95 3.10.4 Usage Example ....................... 96 3.10.5 Related View Packets .................... 100 3.11 View Packet 6: Symbol Event System ............... 101 3.11.1 Primary Presentation .................... 101 3.11.2 Element Catalog ...................... 102 3.11.3 Architecture Background .................. 103 3.11.4 Usage Example ....................... 104 3.11.5 Related View Packets .................... 106 3.12 View Packet 7: Symbol Control .................. 106 3.12.1 Primary Presentation .................... 106 TABLE OF CONTENTS vii 3.12.2 Element Catalog ...................... 110 3.12.3 Architecture Background .................. 111 3.12.4 Usage Example ....................... 111 3.12.5 Related View Packets .................... 112 3.13 View Packet 8: Engine ....................... 113 3.13.1 Primary Presentation .................... 113 3.13.2 Element Catalog ...................... 119 3.13.3 Context ........................... 121 3.13.4 Architecture Background .................. 122 3.13.5 Usage Example ....................... 125 3.13.6 Related View Packets .................... 125 3.14 View Packet 9: Gauss ........................ 126 3.14.1 Primary Presentation .................... 126 3.14.2 Element Catalog ...................... 131 3.14.3 Architecture Background .................. 132 3.14.4 Usage Example ....................... 133 3.14.5 Related View Packets .................... 135 3.15 View Packet 10: GRTE ....................... 135 3.15.1 Primary Presentation .................... 135 3.15.2 Element Catalog ...................... 140 3.15.3 Architecture Background .................. 140 3.15.4 Usage Example ....................... 143 3.15.5 Related View Packets .................... 143 3.16 View Packet 11: Ox ......................... 143 3.16.1 Primary Presentation .................... 143 3.16.2 Element Catalog ...................... 145 3.16.3 Architecture Background .................. 146 3.16.4 Usage Example ....................... 149 3.16.5 Related View Packets .................... 150 3.17 View Packet 12: Stub ........................ 151 3.17.1 Primary Presentation .................... 151 3.17.2 Element Catalog ...................... 154 3.17.3 Architecture Background .................. 155 3.17.4 Usage Example ....................... 156 viii TABLE OF CONTENTS 3.17.5 Related View Packets .................... 157 3.18 View Packet 13: MatLab ...................... 158 3.18.1 Primary Presentation .................... 158 3.18.2 Element Catalog ...................... 160 3.18.3 Architecture Background .................. 160 3.18.4 Usage Example ....................... 161 3.18.5 Related View Packets .................... 162 3.19 View Packet 14: PCall ....................... 162 3.19.1 Primary Presentation .................... 162 3.19.2 Element Catalog ...................... 164 3.19.3 Architecture Background .................. 165 3.19.4 Usage Example ....................... 167 3.19.5 Related View Packets .................... 169 3.20 View Packet 15: Time Series .................... 170 3.20.1 Primary Presentation .................... 170 3.20.2 Element Catalog ...................... 171 3.20.3 Context ........................... 173 3.20.4 Architecture Background .................. 173 3.20.5 Usage Example ....................... 176 3.20.6 Related View
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages376 Page
-
File Size-