Towards Megaprogramming: A Paradigm for Component-Based Programming
暂无分享,去创建一个
Megaprogramming is a technology for programming with large modules called megamodules that capture the functionality of services provided by large organizations like banks, airline reservation systems, and city transportation systems. Megamodules are internally homogeneous, independently maintained software systems managed by a community with its own terminology, goals, knowledge, and programming traditions. Each megamodule describes its externally accessible data structures and operations and has an internally consistent behavior. The concepts, terminology, and interpretation paradigm of a megamodule is called its ontology. The objective of this paper is to provide a conceptual framework for the study and development of megaprogramming and to identify technical problems to be addressed; we do so by proposing a megapro-gramming language, that serves as a module interconnection language and provides the glue for joining together computations spanning several megamodules. The language allows invoking megamodules, setting them up prior to invocation by supplying repetetive arguments to them, and extracting from them data and parameters, controlling their execution, transferring and transducing data between megamodules, and achieving asynchrony and parallelism of computations. The underlying paradigm is that megamodules provide services. Megaprogramming has the potential of substantially increasing modeling power and software productivity by conceptualizing very large software systems in terms of interactions among very large components.
[1] Randy H. Katz,et al. Managing the chip design database , 1983, Computer.