The fast and widely developed Internet has established an open, dynamic, and ever-changing environment for software applications. Compared to traditional software applications running on desktop environment, the Internet-based software applications have various specific features, such as the distribution and decentralization of control, the diversity of network connections, the openness and changes of network environments, the autonomy of computing nodes, the heterogeneity of human, devices, and software, and the personalization of usage patterns. The researchers from Peking University, together with those from Nanjing University and Institute of Software, Chinese Academy of Science, proposed to call such software systems “Internetware”.
Since then, Peking University has been leading the research of Internetware. One of the notable achievements is in system software that supports Internetware. To control the collaborations systematically from a global and comprehensive view, the researchers proposed the Runtime Software Architecture (RSA) and reflection mechanisms on several prototypes such as JEE server, Web services, smartphones, and wearables. RSA takes the causal connections of the running system, and benefits from the reflective middleware’s deep control of the whole system. Such a causal connection ensures that all the changes of RSA can immediately result in the corresponding changes of the running system, or vice versa. The collaborations between entities are then fully under the governance of RSA.
To further equip the interoperability of legacy systems, the researchers made pioneering efforts in supporting recovery of RSA without explicit SA documents. They developed natural language processing techniques to derive component specifications from API documentations. Additionally, they developed black-box runtime behavior analysis methods by recording and replaying operational traces, and then generating APIs to monitor and manipulate data/functionality of these systems. In this way, the recovered RSA can govern the structure and behavior of legacy systems and enable their interoperability with modern systems.
Based on RSA, an architecture-based and model-driven self-adaption technique called SM@RT (means “Software Model at Runtime”), was proposed for the autonomic management of Internetware. In SM@RT, the software architecture defines the scope and connotation of resource management. With the RSA-based monitor and control, the correctness and effectiveness are ensured through software architecture analysis and evaluation. Addressing key challenges of autonomic computing (knowledge representation, analysis, and decision-making), the formal descriptions of architectural decisions represent the knowledge. Architecture styles and patterns, domain-specific software architectures and application architectures specify the common sense, domain-specific, and application-specific knowledge, respectively. The architecture descriptions make knowledge representation more well-structured and easy-to-interpret. Either the SA dynamics by imperative descriptions or the self-adaptive SA by declarative descriptions can be used to plan adaptations. In other words, middleware can automatically derive the adaptation plan based on the knowledge, e.g. using rules like <event, condition, action> to derive the proper actions for the given event and condition. The actions might re-factor partial software architecture, by interpreting the knowledge derived from the descriptions of bad patterns and the corresponding good patterns. Finally, new styles can be merged with the existing ones, to make SA of whole systems perform as desired.
The preceding techniques have been demonstrated in various popular software systems such as JEE Server, Android, and WebKit. For example, for Android applications, the reduction of execution time can reach 46%-97% and battery power consumption can reach 27%-83%. For mobile Web applications, the page load time can be reduced by 43.1% and the network data transmission can be reduced by 57.6%.
The results of system software research have been widely published on premier conferences including OOPSLA, WWW, ICSE, FSE, ASE, IMC, Middleware and high-impact journals including ACM TOIS/TOIT, IEEE TSE/TMC/TSC, ASEJ, JSS, and so on, along with 2,000+ Google Scholar citations. They have been awarded by the best papers of CBSE’09, CyberC’09, ICSS’10 COMPSAC’12, and Most Novel Domain Award of ICFI’05. Researchers around Internetware have been invited to give 10+ keynotes at ICSE’06, Middleware’13, GSE’13, etc. The research achievements around Internetware have won the Second-Class State Award for Technology Invention in 2008, the Second-Class State Award for Natural Science, and the MoE Award for Science and Technology Progress in 2015.
The concept of Internetware has received international recognition. The Asia-Pacific Symposium of Internetware has been held seven times with close to100 participates from all over the world each time. Two special issues on Internetware have been published by IEEE Software and SCIENCE CHINA Information Sciences, respectively. IBM has included the middleware for Internetware in its 2010 “Global Technology Outlook”. Internetware is also part of the OW2 project “CloudWare Initiative” with participates from USA, France, and China.