The fast development of the Internet has extended wider space for Information and Communications Technology (ICT), and it has brought a series of challenges for traditional software theories, models, approaches and technologies. This paper looks back some popular Internet-based new computing paradigms and application schemas, discusses the current status and the future trend of software technologies for Internet Computing, including topics of software model, software runtime supporting platform, software development methodologies and software quality measurement and assurance.Internet, software technique, software methodology, Internetware
Citation:Mei H, Liu X Z. Software techniques for Internet Computing: Current situation and future trend.The computer software is a set of programs, procedures and documents for specific tasks running on computers. Based on different functions, software can be categorized as application software, system software and supporting software. System software and supporting software are also named as infrastructure software. The ultimate goal of software is to provide better computation services for people. Therefore, satisfying ever-growing application requirements drives the continuous evolution of software techniques. For various application requirements, the research of software technique has developed two parallel approaches. One is software system technology. The core is software nature, characteristics and models, including software basic elements, architecture, interaction protocols, behavior patterns, quality assurance, and so on. Virtualization and system optimization play a significant role in software system technology research. For example, the operating system actually is a virtual machine constructed upon hardware resources; the database systems, the middleware and the application software act likewise in order to provide more *Corresponding author (email: meih@pku.edu.cn) efficient resource management and more natural user interfaces. The other approach is on software development technology, focusing on the software engineering issues, covering the aspects of software development methodologies, engineering principles, supporting tools and environments, etc.Software is essentially a computer program reflecting the real world. It is solidified, elevated and utilized knowledge. Software develops towards more natural models, which are both constructive and evolvable. It always pursues a computing model that is both expressive and natural. A basic software model comprises entity elements and the interactions among them. The model has evolved from the initial machine language instruction with the sequence and jump relationship, to a high-level language statement with the three control structures (sequence, iteration and switch), procedures and the sub-procedures relationship, object orientation with message passing, to the currently popular model of components with connectors. The evolution of computing model greatly facilitates software construction and maintenance. On the o...