This Article 
 Bibliographic References 
 Add to: 
Fragtypes: A Basis for Programming Environments
January 1988 (vol. 14 no. 1)
pp. 85-97

The author introduces a novel basis for programming environments that encourages development of software in fragments of various types, called fragtypes. Fragtypes range from a simple expression type to a complete subsystem type. As a result, they are suited to the development of software in an enlarged scope that includes both programming in the small and programming in the large. The author shows how proposed operations on fragtypes can achieve unusual effects on the software development process. Fragtypes and their associated construction rules form the basis of the programming environment MUPE-2, which is currently under development at McGill University. The target and theimplementation language of this environment is the programming language Modula-2.

[1] D. M. Ritchie and K. Thompson, "The UNIX time-sharing system,"Bell Syst. Tech. J., vol. 6, pp. 1905-1930, 1978.
[2] W. Teitelmanet al., "Interlisp reference manual," Xerox Palo Alto Research Center, Palo Alto, CA, Sept. 1978.
[3] T. Teitelbaum and T. Reps, "The Cornell Program Synthesizer: A syntax directed programming environment,"Commun. ACM, vol. 24, no. 9, pp. 563-573, Sept. 1981.
[4] J. E. Archer and R. Conway, Jr., "COPE: A cooperative programming environment," Cornell Univ., Tech. Rep. 81-459, June 1981.
[5] J. Syst. Software (Special Issue on the GANDALF Project), vol. 5, no. 2, May 1985.
[6] N. M. Delisle, D. E. Menicosy, and M. D. Schwartz, "Viewing a programming environment as a single tool," inProc. ACM SIGSOFT/SIGPLAN Software Engineering Symp. Practical Software Development Environments, Apr. 1984, pp. 49-56.
[7] S.P. Reiss, "Graphical program development with PECAN program development system," inSIGSOFT/SIGPLAN Software-Engineering Symp. Practical Software Development Environments, Pittsburgh, PA, Apr. 1984; see alsoSIGSOFT Software Eng. Notes, vol. 9, no. 3, May 1984; see alsoSIGPLAN Notices, vol. 19, no. 6, May 1984.
[8] W. Hansen, "Creation of heirarchic text with a computer display," Ph.D. dissertation, Dep. Comput. Sci., Stanford University, Stanford, CA, June 1971.
[9] V. Donzeau-Gouge, G. Houet, G. Kahn, and B. Lang, "Programming environments based on structured editors: The MENTOR experience, " inInteractive Programming Environments, D. R. Barstowet al., Eds. New York: McGraw-Hill, 1984.
[10] N. H. Madhavji, S. Choudhury, R. Robson, and N. Friedman, "On commands for an integrated programming environment," inFoundation for Human-Computer Communication, K. Hopper and I. A. Newman, Eds. Amsterdam, The Netherlands: North-Holland, 1986, pp. 407-423.
[11] N. H. Madhavji, N. Leoutsarakos, and D. Vouliouris, "Software construction using typed fragments, " inProc. Int. Joint Conf. Theory and Practice of Software Development, TAPSOFT, vol. 2, Berlin, Mar. 1985;Lecture Notes in Computer Science, no. 186. New York: Springer-Verlag, pp. 163-178.
[12] N. H. Madhavji and L. Pinsonneault, "Some experience from the design of an integrated programming environment," inProc. 2nd U.K. Software Engineering Environments Conf., Lancaster, UK, April 1986, I. Sommerville, Ed., Peter Perigrinus Ltd.
[13] N. Wirth,Programming in Modula-2, 3rd ed. Berlin: Springer-Verlag, 1985.
[14] N. H. Madhavji and I. R. Wilson, "Dynamically structured data,"Software-Practice and Experience, vol. 11, no. 12, pp. 1235-1260, Dec. 1981.
[15] M. Richards and C. Whitby-Strevens,BCPL-The Language and Its Compiler. London: Cambridge University Press, 1982.
[16] N. Wirth, "Program development by stepwise refinement,"Commun. ACM, vol. 14, no. 4, pp. 221-227, Apr. 1971.
[17] N. H. Madhavji, L. Pinsonneault, and K. Toubache, "Modula-2/ MUPE-2: Language and environment interactions,"IEEE Software, vol. 3, no. 6, pp. 7-17, Nov. 1986.

Index Terms:
programming environments; fragments; fragtypes; programming in the small; programming in the large; software development process; construction rules; MUPE-2; implementation language; programming language; Modula-2; programming environments
N.H. Madhavji, "Fragtypes: A Basis for Programming Environments," IEEE Transactions on Software Engineering, vol. 14, no. 1, pp. 85-97, Jan. 1988, doi:10.1109/32.4625
Usage of this product signifies your acceptance of the Terms of Use.