📄 chep95.cfortran.h.talk.ps
字号:
(s action) 89.55 260.18 T(may be required by several applications.) 21.26 246.18 T2 14 Q(\357) 21.26 212.18 T0 12 Q(Applications reuse components.) 35.43 212.18 T(Expensive alternative: recreate components.) 35.43 184.18 TFMENDPAGE%%EndPage: "1" 3%%Page: "2" 3595.28 839.05 0 FMBEGINPAGE0 10 Q0 X0 K(2) 271.38 18 T1 14 Q(2\051) 21.26 381.84 T(The Need for MLP) 42.52 381.84 T0 12 Q(A component is coded in a programming language.) 21.26 348.18 T(\245) 21.26 328.18 T(An existing component) 35.43 328.18 T(is in one of various languages.) 35.43 314.18 T(\245) 21.26 294.18 T(Some components, new or old,) 35.43 294.18 T(are best expressed in a particular language.) 35.43 280.18 T(\245) 21.26 260.18 T(some programmers prefer) 35.43 260.18 T(a particular language.) 35.43 246.18 T2 14 Q(\357) 21.26 212.18 T0 12 Q(Applications may span languages.) 35.43 212.18 T2 14 Q(\357) 21.26 178.18 T0 12 Q(Mixed Language Programming \050MLP\051.) 35.43 178.18 TFMENDPAGE%%EndPage: "2" 4%%Page: "3" 4595.28 839.05 0 FMBEGINPAGE0 10 Q0 X0 K(3) 271.38 18 T1 14 Q(3\051) 21.26 381.84 T(MLP is NOT T) 42.52 381.84 T(ranslation) 132.06 381.84 T0 12 Q(For some components and/or languages,) 21.26 362.18 T(may translate component into another language.) 21.26 348.18 T(Component translation makes sense when) 21.26 314.18 T(further development and maintenance) 21.26 300.18 T(will take place in the new language) 21.26 286.18 T(and is abandoned in the old language.) 21.26 272.18 T([NOT an MLP issue.]) 147.19 258.18 T(T) 21.26 218.18 T(ranslation is generally not an MLP option.) 28.17 218.18 T(1.) 21.26 198.18 T(MLP cares about component interface) 35.43 198.18 T(or \324surface\325. No need to translate \324body\325.) 35.43 184.18 T(2.) 21.26 164.18 T(Practical problems:) 35.43 164.18 T(\245) 21.26 144.18 T(source code may not be available.) 35.43 144.18 T(\245) 21.26 124.18 T(T) 35.43 124.18 T(ranslation may be practically impossible.) 42.34 124.18 T(e.g. C) 35.43 110.18 T2 14 Q(\331) 66.75 110.18 T0 12 Q( Fortran.) 79.68 110.18 T(\245) 21.26 90.18 T(T) 35.43 90.18 T(ranslation is dif) 42.34 90.18 T(\336cult, even with tools.) 116.75 90.18 T(\245) 21.26 70.18 T(T) 35.43 70.18 T(ranslation introduces opportunity for bugs.) 42.34 70.18 TFMENDPAGE%%EndPage: "3" 5%%Page: "4" 5595.28 839.05 0 FMBEGINPAGE0 10 Q0 X0 K(4) 271.38 18 T1 14 Q(4\051) 21.26 381.84 T(The Anatomy of a Component) 42.52 381.84 T0 12 Q(W) 21.26 200.43 T(ithin a language,) 32.1 200.43 T(component use is well-supported:) 21.26 186.43 T(\245) 21.26 166.43 T(Component name is obvious.) 35.43 166.43 T(\245) 21.26 146.43 T(Easy to pass input and output data.) 35.43 146.43 T(\245) 21.26 126.43 T(Have environment for side-ef) 35.43 126.43 T(fects:) 176.76 126.43 T(- I/O to terminal, disk, network.) 35.43 112.43 T(- access to global data.) 35.43 98.43 T(- exception handling.) 35.43 84.43 T(\245) 21.26 64.43 T(Fortran example:) 35.43 64.43 T3 F(CALL HBOOK1\0502,\325TEST\325,10,0.,1.,0.\051) 35.43 44.43 T21.26 28.35 276.38 391.18 C21.26 215.43 276.38 377.18 C3 H2 Z0 X0 K90 450 40.54 40.87 144 285.34 A3 12 Q(body) 114.8 294.9 T(encodes) 114.8 282.9 T(action) 114.8 270.9 T72.28 304.07 106.3 304.07 2 LN(input data) 29 318.95 T27.69 270.35 81.88 270.35 2 LN(output data) 22 250.24 T55.56 309.63 75.81 304.07 55.69 298.06 55.62 303.84 4 YV28.35 303.54 55.62 303.84 2 LN71.23 264.38 51.01 270.05 71.17 275.95 71.2 270.16 4 YV105.95 270.35 71.2 270.16 2 LN171.49 369.02 171.49 227.12 2 L11 XN216.13 318.39 236.69 314.11 216.99 306.84 216.56 312.61 4 Y0 XV177.16 309.69 216.57 312.61 2 LN204.79 306.85 184.28 311.36 204.06 318.4 204.43 312.62 4 YV242.36 314.99 204.43 312.62 2 LN(I/O) 249.68 314.35 T216.53 292.78 236.71 286.99 216.53 281.2 216.53 286.99 4 YV185.69 286.99 216.53 286.99 2 LN207.21 281.2 187.03 286.99 207.21 292.78 207.21 286.99 4 YV246.56 286.99 207.21 286.99 2 LN(global data) 192.7 271.95 T215.93 264.06 234.06 253.45 213.07 252.84 214.5 258.45 4 YV180 266.97 214.51 258.45 2 LN204.83 254.38 186.81 265.16 207.8 265.57 206.32 259.98 4 YV244.61 250.15 206.32 259.97 2 LN(exceptions) 200.44 240.26 T(optional) 179.34 357.95 T(SIDE-EFFECTS) 179.34 345.95 T21.26 28.35 276.38 391.18 C0 0 297.64 419.52 CFMENDPAGE%%EndPage: "4" 6%%Page: "5" 6595.28 839.05 0 FMBEGINPAGE0 10 Q0 X0 K(5) 271.38 18 T1 14 Q(5\051) 21.26 381.84 T(The T) 42.52 381.84 T(r) 77.64 381.84 T(ouble with MLP) 83.6 381.84 T0 12 Q(Going across languages,) 21.26 362.18 T(component use is generally NOT well-supported:) 21.26 348.18 T(\245) 21.26 328.18 T(Component name may NOT be obvious.) 35.43 328.18 T(\245) 21.26 308.18 T(Passing input and output data) 35.43 308.18 T(may be complicated.) 35.43 294.18 T(\245) 21.26 274.18 T(Potentially troubled environment for side-ef) 35.43 274.18 T(fects.) 246.41 274.18 T(e.g.) 35.43 260.18 T(May have garbled standard output) 55.75 260.18 T(from two languages.) 55.6 246.18 TFMENDPAGE%%EndPage: "5" 7%%Page: "6" 7595.28 839.05 0 FMBEGINPAGE0 10 Q0 X0 K(6) 271.38 18 T1 14 Q(6\051) 21.26 381.84 T(A) 42.52 381.84 T(voiding T) 51.59 381.84 T(r) 107.71 381.84 T(ouble with Side-Effects) 113.67 381.84 T2 F(\357) 21.26 351.84 T1 F(Simple Solution: A) 35.43 351.84 T(void Side-Effects!) 147.13 351.84 T(Good Pr) 35.43 321.84 T(ogramming Practice!) 86.1 321.84 T0 12 Q(e.g.) 21.26 302.18 T(A component should not cry on standard output,) 42.52 302.18 T(better to return an error code.) 42.52 288.18 T89.21 266.87 21.26 266.87 2 LV0.59 H0 ZN(Encapsulation) 21.26 268.18 T( may allow an existing component) 89.21 268.18 T(to be ef) 21.26 254.18 T(fectively freed of side-ef) 57.01 254.18 T(fects.) 175.01 254.18 T(Remainder of talk ignores side-ef) 21.26 32.63 T(fects.) 181.59 32.63 T21.26 28.35 276.38 391.18 C21.26 76.63 276.38 250.18 C3 H2 Z0 X0 K90 450 40.54 40.87 144 155.6 A3 12 Q(action) 114.8 153.16 T72.28 174.33 106.3 174.33 2 LN(input data) 29 189.21 T27.69 140.61 81.88 140.61 2 LN(output data) 22 120.5 T55.56 179.89 75.81 174.33 55.69 168.32 55.62 174.1 4 YV28.35 173.8 55.62 174.1 2 LN71.23 134.63 51.01 140.31 71.17 146.21 71.2 140.42 4 YV105.95 140.61 71.2 140.42 2 LN168.13 211.17 167.21 106.36 2 L11 XN216.13 188.65 236.69 184.37 216.99 177.1 216.56 182.87 4 Y0 XV177.16 179.95 216.57 182.87 2 LN204.79 177.11 184.28 181.62 204.06 188.66 204.43 182.88 4 YV242.36 185.25 204.43 182.88 2 LN216.53 163.04 236.71 157.25 216.53 151.46 216.53 157.25 4 YV185.69 157.25 216.53 157.25 2 LN207.21 151.46 187.03 157.25 207.21 163.04 207.21 157.25 4 YV246.56 157.25 207.21 157.25 2 LN215.93 134.32 234.06 123.71 213.07 123.1 214.5 128.71 4 YV180 137.23 214.51 128.71 2 LN204.83 124.64 186.81 135.42 207.8 135.83 206.32 130.24 4 YV244.61 120.41 206.32 130.23 2 LN(SIDE-EFFECTS) 175.05 191.21 T90 450 85.04 79.37 187.79 159.47 A(encapsulation) 140.25 216.95 T(former) 175 201.99 T21.26 28.35 276.38 391.18 C0 0 297.64 419.52 CFMENDPAGE%%EndPage: "6" 8%%Page: "7" 8595.28 839.05 0 FMBEGINPAGE0 10 Q0 X0 K(7) 271.38 18 T1 14 Q(7\051) 21.26 381.84 T(The First of Thr) 42.52 381.84 T(ee T) 139.82 381.84 T(ypes of MLP) 164.04 381.84 T(Coarse-Grained MLP:) 21.26 351.84 T0 12 Q(\245) 21.26 332.18 T(Application consists of multiple executables.) 35.43 332.18 T(\245) 21.26 312.18 T(Each executable consists of components) 35.43 312.18 T(from a single programming language.) 35.43 298.18 T(Basic Notion: \322Intermediate File\323) 21.26 258.18 T(Data Re\336nement: \322Pipes\323) 21.26 170.9 T(Control Re\336nement: \322Scripts\323) 21.26 83.63 T3 F(#!/bin/sh) 35.43 63.63 T(# Start Fcode and Ccode) 35.43 49.63 T(# Handle all exceptions.) 35.43 35.63 T21.26 28.35 276.38 391.18 C21.26 200.9 276.38 254.18 C1 H2 Z0 X0 K90 450 19.08 15.59 57.31 229.5 A3 12 Q(Fcode) 40.26 225.96 T86.12 232.08 97.66 228.78 86.12 225.47 86.12 228.78 4 YV77.82 228.78 86.12 228.78 2 LN94.82 228.78 103.33 228.78 2 LN103.33 217.44 137.41 240.11 RN(data) 105.45 225.94 T(i\051) 22.64 228.08 T(ii\051) 151.59 227.39 T174.9 219.44 208.98 242.11 RN(data) 177.02 227.94 T218.41 234.08 229.94 230.78 218.41 227.47 218.41 230.78 4 YV210.1 230.78 218.41 230.78 2 LN227.11 230.78 235.61 230.78 2 LN90 450 19.08 15.59 254.59 230.07 A(Ccode) 237.55 226.53 T21.26 28.35 276.38 391.18 C0 0 297.64 419.52 C21.26 28.35 276.38 391.18 C21.26 113.63 276.38 166.9 C1 H2 Z0 X0 K90 450 19.08 15.59 57.31 142.23 A3 12 Q(Fcode) 40.26 138.69 T86.12 144.81 97.66 141.5 86.12 138.19 86.12 141.5 4 YV77.82 141.5 86.12 141.5 2 LN94.82 141.5 103.33 141.5 2 LN90 450 19.08 15.59 123.88 141.37 A(Ccode) 106.84 137.83 T90 450 19.08 15.59 188.88 142.08 A(Gcode) 171.84 138.55 T217.64 150.92 229.22 147.79 217.74 144.31 217.69 147.62 4 YV206.54 147.45 217.7 147.62 2 LN226.63 147.55 238.15 147.55 2 LN90 450 19.08 15.59 255.45 141.23 A(Hcode) 238.41 137.69 T(;) 154.49 135.72 T223.21 132.19 211.67 135.5 223.21 138.81 223.21 135.5 4 YV237.92 135.5 223.21 135.5 2 LN216.47 135.5 206.31 135.68 2 LN21.26 28.35 276.38 391.18 C0 0 297.64 419.52 CFMENDPAGE%%EndPage: "7" 9%%Page: "8" 9595.28 839.05 0 FMBEGINPAGE0 10 Q0 X0 K(8) 271.38 18 T1 14 Q(8\051) 21.26 381.84 T(Bene\336ts/Costs of Coarse-Grained MLP) 42.52 381.84 T0 12 Q(Advantages:) 21.26 342.18 T(\245) 21.26 322.18 T(No MLP problems,) 35.43 322.18 T(except passing data between languages.) 35.43 308.18 T(\245) 21.26 288.18 T(Separate executables) 35.43 288.18 T(generally simplify development and maintenance.) 35.43 274.18 T(\245) 21.26 254.18 T(One or more executables may already exist.) 35.43 254.18 T(Disadvantages:) 21.26 220.18 T(\245) 21.26 200.18 T(Limited applicability) 35.43 200.18 T(.) 135.6 200.18 TFMENDPAGE%%EndPage: "8" 10%%Page: "9" 10595.28 839.05 0 FMBEGINPAGE0 10 Q0 X0 K(9) 271.38 18 T1 14 Q(9\051) 21.26 381.84 T(The Second of Thr) 42.52 381.84 T(ee T) 153.83 381.84 T(ypes of MLP) 178.05 381.84 T(CORBA:) 21.26 351.84 T0 12 Q(\245) 21.26 332.18 T(powerful, generic environment) 35.43 332.18 T(for combining components.) 35.43 318.18 T(\245) 21.26 298.18 T(language is irrelevant once bound to) 35.43 298.18 T(Interface De\336nition Language \050IDL\051.) 35.43 284.18 T(Solves MLP problems for:) 35.43 270.18 T(- component names.) 35.43 256.18 T(- passing input and output data.) 35.43 242.18 T(\245) 21.26 222.18 T(components may or may not be:) 35.43 222.18 T(- in the same executable.) 35.43 208.18 T(- running on the same computer) 35.43 194.18 T(.) 187.66 194.18 T(Power comes from abstraction gained) 21.26 160.18 T(by passing \322objects\323 on a \322software bus\323.) 21.26 146.18 T21.26 28.35 276.38 391.18 C21.26 49.9 276.38 142.18 C1 H2 Z0 X0 K90 450 19.08 12.95 45.96 116.48 A3 12 Q(Fa) 38.24 114.91 T45.49 103.04 38.9 95.13 42.92 95.13 42.92 90.12 4 LN45.4 103.04 51.99 95.13 47.97 95.13 47.97 90.12 4 LN45.49 79.12 38.9 87.03 42.92 87.03 42.92 92.04 4 LN45.4 79.12 51.99 87.03 47.97 87.03 47.97 92.04 4 LN90 450 19.08 12.95 93.25 116.33 A(Fb) 85.53 114.77 T92.78 102.9 86.19 94.99 90.21 94.99 90.21 89.98 4 LN92.69 102.9 99.28 94.99 95.26 94.99 95.26 89.98 4 LN92.78 78.98 86.19 86.89 90.21 86.89 90.21 91.9 4 LN92.69 78.98 99.28 86.89 95.26 86.89 95.26 91.9 4 LN90 450 19.08 12.95 183.78 116.33 A(Cx) 176.06 114.77 T183.31 102.9 176.72 94.99 180.74 94.99 180.74 89.98 4 LN183.22 102.9 189.81 94.99 185.79 94.99 185.79 89.98 4 LN183.31 78.98 176.72 86.89 180.74 86.89 180.74 91.9 4 LN183.22 78.98 189.81 86.89 185.79 86.89 185.79 91.9 4 LN90 450 19.08 12.95 231.07 116.19 A(Cy) 223.35 114.63 T230.6 102.76 224.01 94.85 228.03 94.85 228.03 89.84 4 LN230.51 102.76 237.1 94.85 233.08 94.85 233.08 89.84 4 LN230.6 78.84 224.01 86.75 228.03 86.75 228.03 91.76 4 LN230.51 78.84 237.1 86.75 233.08 86.75 233.08 91.76 4 LN90 450 4.25 4.25 125.25 115.98 G90 450 4.25 4.25 125.25 115.98 A90 450 4.25 4.25 137.53 115.84 G90 450 4.25 4.25 137.53 115.84 A90 450 4.25 4.25 150.53 115.7 G90 450 4.25 4.25 150.53 115.7 A25.71 55.35 259.78 77.77 RN3 18 Q(C O R B A) 90.22 62.55 T21.26 28.35 276.38 391.18 C0 0 297.64 419.52 CFMENDPAGE%%EndPage: "9" 11%%Page: "10" 11595.28 839.05 0 FMBEGINPAGE0 10 Q
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -