As a new software paradigm evolved by the Internet, Internetware brings many challenges for the traditional software development methods and techniques. Though architecture-based component composition (ABC) approach...As a new software paradigm evolved by the Internet, Internetware brings many challenges for the traditional software development methods and techniques. Though architecture-based component composition (ABC) approach is originated in the traditional software paradigm, it supports the engineering of Internetware effectively due to its philosophy, rationales and mechanisms. ABC has three major contributions to the en- gineering of Internetware in detail. First, the feature oriented domain modeling method can structure the "disordered" "software entities" to "ordered Internetware" bottom-up in the problem space. Second, the architecture centric design and analysis method can support the development of self-adaptive Internetware. Third, the component operating platform is a reflective and self-adaptive middleware that not only provides Internetware with a powerful and flexible runtime infrastructure but also enables the self-adaptation of the structure and individual entities of Internetware.展开更多
Being a new software paradigm evolved by the Internet, Internetware brings many challenges to the traditional software methods and techniques. Sponsored by the national basic research program (973), researchers in C...Being a new software paradigm evolved by the Internet, Internetware brings many challenges to the traditional software methods and techniques. Sponsored by the national basic research program (973), researchers in China have developed an architecture centric technical framework for the definition, incarnation and engineering of Internetware. First of all, a software model for Internetware is defined for what to be, including that Internetware entities should be packaged as components, behaving as agents, interoperating as services, collaborating in a structured and on demand manner, etc. Secondly, a middleware for Internetware is designed and implemented for how to be, including that Internetware entities are incarnated by runtime containers, structured collaborations are enabled by runtime software architecture, Internetware can be managed in a reflective and autonomic manner, etc. Thirdly, an engineering methodology for Internetware is proposed for how to do, including the way to develop Internetware entities and their collaborations by transforming and refining a set of software architectures which cover all the phases of software lifecycle, the way to identify and organize the disordered software assets by domain modeling, etc.展开更多
Being one of the basic features of Internetware, self-adaptation means that the software system can monitor its runtime state and behavior and adjust them when necessary according to pre-defined policies. Focusing on ...Being one of the basic features of Internetware, self-adaptation means that the software system can monitor its runtime state and behavior and adjust them when necessary according to pre-defined policies. Focusing on the three fundamental issues of self-adaptation, including the scope, operability and trustworthiness, a software architecture (SA) centric approach for Internetware's self-adaptation is presented in this paper. All of the self-adaptive actions, i.e. monitoring, analyzing, planning and executing, are performed based on SA. In detail, runtime state and behavior of Internetware are represented and changed in the form of runtime soft- ware architecture. The knowledge for self-adaptation is captured, organized and reasoned in the form of SA so that automatic analysis and decision-making are achieved.展开更多
Internetware is envisioned as a general software paradigm for the application style of resources integration and sharing in the open, dynamic and uncertain platforms such as the Internet. Continuing the agent-based In...Internetware is envisioned as a general software paradigm for the application style of resources integration and sharing in the open, dynamic and uncertain platforms such as the Internet. Continuing the agent-based Internetware model presented in a previous paper, in this paper, after an analysis of the behavioral patterns and the technical challenges of environment-driven applications, a software-structuring model is proposed for environment-driven Internetware applications. A series of explorations on the enabling techniques for the model, especially the modeling, management and utilization of context information are presented. Several proto-typical systems have also been built to prove the concepts and evaluate the techniques. These research efforts make a further step toward the Internetware paradigm by providing an initial framework for the construction of context-aware and self-adaptive software application systems in the open network environment.展开更多
The Internet is undergoing a tremendous change towards the globalized computing environment. Due to the open, dynamic and uncontrollable natures of the Internet, software running in the Internet computing environment ...The Internet is undergoing a tremendous change towards the globalized computing environment. Due to the open, dynamic and uncontrollable natures of the Internet, software running in the Internet computing environment has some new features, which bring challenges to current software technologies in terms of software model, software operating platform, software engineering approaches and software quality. Researchers in China have proposed the term "Internetware" to present the emerging software paradigm. Sponsored by the National Basic Research 973 Program, several research practices have been done on the Internetware in the past decade. This paper summarizes the progress and status of the Internetware researches. A technical solution framework for the Internetware paradigm is proposed from four aspects: the Internetware software model defines what the Internetware is to be; the Internetware middleware determines how to run the Internetware applications; the engineering methodology determines how to develop the Internetware applications; the Internetware quality assurance determines how well the Internetware applications can perform. The paper also discusses the ongoing research issues and future trends of Internetware.展开更多
An internetware application is composed by existing individual services, while transaction processing is a key mechanism to make the composition reliable. The existing research of transactional composite service (TCS...An internetware application is composed by existing individual services, while transaction processing is a key mechanism to make the composition reliable. The existing research of transactional composite service (TCS) depends on the analysis to composition structure and exception handling mechanism in order to guarantee the relaxed atomicity. However, this approach cannot handle some application-specific requirements and causes lots of unnecessary failure recoveries or even aborts. In this paper, we propose a relaxed transaction model, including system mode, relaxed atomicity criterion, static checking algorithm and dynamic enforcement algorithm. Users are able to define different relaxed atomicity constraint for different TCS according to application-specific requirements, including acceptable configurations and the preference order. The checking algorithm determines whether the constraint can be guaranteed to be satisfied. The enforcement algorithm monitors the execution and performs transaction management work according to the constraint. Compared to the existing work, our approach can handle complex application requirements, avoid unnecessary failure recoveries and perform the transaction management work automatically.展开更多
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 techno...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.展开更多
Emerging with open environments, the software paradigms, such as open resource coalition and Internetware, present several novel characteristics including user-centric, non-central control, and continual evolution. Th...Emerging with open environments, the software paradigms, such as open resource coalition and Internetware, present several novel characteristics including user-centric, non-central control, and continual evolution. The goal of obtaining high confidence on such systems is more difficult to achieve. The general developer-oriented metrics and testing-based methods which are adopted in the traditional measurement for high confidence software seem to be infeasible in the new situation. Firstly, the software development is changed from the developer-centric to user-centric, while user's opinions are usually subjective, and cannot be generalized in one objective metric. Secondly, there is non-central control to guarantee the testing on components which formed the software system, and continual evolution makes it impossible to test on the whole software system. Therefore, this paper proposes a trust-based approach that consists of three sequential sub-stages: 1) describing metrics for confidence estimation from users; 2) estimating the confidence of the components based on the quantitative information from the trusted recommenders; 3) estimating the confidence of the whole software system based on the component confidences and their interactions, as well as attempts to make a step toward a reasonable and effective method for confidence estimation of the software system in open environments.展开更多
For the rapid development of internetware, functional programming languages, such as Haskell and Scala, can be used to implement complex domain-specific applications. In functional programming languages, a higher-orde...For the rapid development of internetware, functional programming languages, such as Haskell and Scala, can be used to implement complex domain-specific applications. In functional programming languages, a higher-order function is a function that takes functions as parameters or returns a function. Using higher-order functions in programs can increase the generality and reduce the redundancy of source code. To test a higher-order function, a tester needs to check the requirements and write another function as the test input. However, due to the complex structure of higher-order functions, testing higher-order functions is a time-consuming and labor-intensive task. Testers have to spend an amount of manual effort in testing all higher-order functions. Such testing is infeasible if the time budget is limited, such as a period before a project release. In practice, not every higher-order function is actually called. We refer to higher-order functions that are about to be called as calling-prone ones. Calling-prone higher-order functions should be tested first. In this paper, we propose an automatic approach, namely PHOF, which predicts whether a higher-order function of Scala programs will be called in the future, i.e., identifying calling-prone higher-order functions. Our approach can assist testers to reduce the number of higher-order functions of Scala programs under test. In PHOF, we extracted 24 features from source code and logs to train a predictive model based on known higher-order function calls. We empirically evaluated our approach on 4832 higher-order functions from 27 real-world Scala projects. Experimental results show that PHOF based on the random forest algorithm and the Synthetic Minority Oversampling Technique Processing strategy (SMOTE) performs well in the prediction of calls of higher-order functions. Our work can be used to support the scheduling of limited test resources.展开更多
基金This work was supported by the National Basic Research Program of China (973) (Grant No. 2002CB312003) the National Natural Science Foundation of China (Grant Nos. 60233010, 90612011, 90412011, 60403030, 60303004)the Natural Science Foundation of Beijing (Grant No. 4052018).
文摘As a new software paradigm evolved by the Internet, Internetware brings many challenges for the traditional software development methods and techniques. Though architecture-based component composition (ABC) approach is originated in the traditional software paradigm, it supports the engineering of Internetware effectively due to its philosophy, rationales and mechanisms. ABC has three major contributions to the en- gineering of Internetware in detail. First, the feature oriented domain modeling method can structure the "disordered" "software entities" to "ordered Internetware" bottom-up in the problem space. Second, the architecture centric design and analysis method can support the development of self-adaptive Internetware. Third, the component operating platform is a reflective and self-adaptive middleware that not only provides Internetware with a powerful and flexible runtime infrastructure but also enables the self-adaptation of the structure and individual entities of Internetware.
基金the National Key Basic Research and Development Program of China (973) (Grant No. 2002CB312000)
文摘Being a new software paradigm evolved by the Internet, Internetware brings many challenges to the traditional software methods and techniques. Sponsored by the national basic research program (973), researchers in China have developed an architecture centric technical framework for the definition, incarnation and engineering of Internetware. First of all, a software model for Internetware is defined for what to be, including that Internetware entities should be packaged as components, behaving as agents, interoperating as services, collaborating in a structured and on demand manner, etc. Secondly, a middleware for Internetware is designed and implemented for how to be, including that Internetware entities are incarnated by runtime containers, structured collaborations are enabled by runtime software architecture, Internetware can be managed in a reflective and autonomic manner, etc. Thirdly, an engineering methodology for Internetware is proposed for how to do, including the way to develop Internetware entities and their collaborations by transforming and refining a set of software architectures which cover all the phases of software lifecycle, the way to identify and organize the disordered software assets by domain modeling, etc.
基金the National Key Basic Research and Development Program of China (973) (Grant No.2002CB312000)the National Natural Science Foundation of China (Grant No. 90612011)
文摘Being one of the basic features of Internetware, self-adaptation means that the software system can monitor its runtime state and behavior and adjust them when necessary according to pre-defined policies. Focusing on the three fundamental issues of self-adaptation, including the scope, operability and trustworthiness, a software architecture (SA) centric approach for Internetware's self-adaptation is presented in this paper. All of the self-adaptive actions, i.e. monitoring, analyzing, planning and executing, are performed based on SA. In detail, runtime state and behavior of Internetware are represented and changed in the form of runtime soft- ware architecture. The knowledge for self-adaptation is captured, organized and reasoned in the form of SA so that automatic analysis and decision-making are achieved.
基金the National 973 Program (Grant No. 2002CB312002)the National 863 Program (Grant Nos. 2007AA01Z178, 2007AA01Z140 and 2006AA01Z159)+2 种基金the Program for New Century Excellent Talents in University (Grant No. NCET-07-0419)the National Natural Science Foundation of China (Grant Nos. 60403014, 60721002 and 60736015)the Jiangsu Nature Science Foundation (Grant No. BK2006712)
文摘Internetware is envisioned as a general software paradigm for the application style of resources integration and sharing in the open, dynamic and uncertain platforms such as the Internet. Continuing the agent-based Internetware model presented in a previous paper, in this paper, after an analysis of the behavioral patterns and the technical challenges of environment-driven applications, a software-structuring model is proposed for environment-driven Internetware applications. A series of explorations on the enabling techniques for the model, especially the modeling, management and utilization of context information are presented. Several proto-typical systems have also been built to prove the concepts and evaluate the techniques. These research efforts make a further step toward the Internetware paradigm by providing an initial framework for the construction of context-aware and self-adaptive software application systems in the open network environment.
基金sponsored by the National Basic Research 973 Program of China under Grant No.2009CB320700the National Natural Science Foundation of China under Grant No.60821003
文摘The Internet is undergoing a tremendous change towards the globalized computing environment. Due to the open, dynamic and uncontrollable natures of the Internet, software running in the Internet computing environment has some new features, which bring challenges to current software technologies in terms of software model, software operating platform, software engineering approaches and software quality. Researchers in China have proposed the term "Internetware" to present the emerging software paradigm. Sponsored by the National Basic Research 973 Program, several research practices have been done on the Internetware in the past decade. This paper summarizes the progress and status of the Internetware researches. A technical solution framework for the Internetware paradigm is proposed from four aspects: the Internetware software model defines what the Internetware is to be; the Internetware middleware determines how to run the Internetware applications; the engineering methodology determines how to develop the Internetware applications; the Internetware quality assurance determines how well the Internetware applications can perform. The paper also discusses the ongoing research issues and future trends of Internetware.
基金This work was supported by the Major State Basic Research Development Program of China (973 Program) (Grant No. 2002CB312005)the National Natural Science Foundation of China (Grant No. 60573126).
文摘An internetware application is composed by existing individual services, while transaction processing is a key mechanism to make the composition reliable. The existing research of transactional composite service (TCS) depends on the analysis to composition structure and exception handling mechanism in order to guarantee the relaxed atomicity. However, this approach cannot handle some application-specific requirements and causes lots of unnecessary failure recoveries or even aborts. In this paper, we propose a relaxed transaction model, including system mode, relaxed atomicity criterion, static checking algorithm and dynamic enforcement algorithm. Users are able to define different relaxed atomicity constraint for different TCS according to application-specific requirements, including acceptable configurations and the preference order. The checking algorithm determines whether the constraint can be guaranteed to be satisfied. The enforcement algorithm monitors the execution and performs transaction management work according to the constraint. Compared to the existing work, our approach can handle complex application requirements, avoid unnecessary failure recoveries and perform the transaction management work automatically.
基金supported by the National Basic Research Program of China (2009CB320700)the National Natural Science Foundation of China (60821003)
文摘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.
基金Supported by the National Basic Research 973 Program of China under Grant No.2009CB320702the National Hi-Tech Research and Development 863 Program of China under Grant Nos. 2007AA01Z178 and 2007AA01Z140+1 种基金the National Natural Science Foundation of China under Grant Nos. 60603034, 60721002 and 60736015the Jiang Su Natural Science Foundation under Grant No.BK2008017
文摘Emerging with open environments, the software paradigms, such as open resource coalition and Internetware, present several novel characteristics including user-centric, non-central control, and continual evolution. The goal of obtaining high confidence on such systems is more difficult to achieve. The general developer-oriented metrics and testing-based methods which are adopted in the traditional measurement for high confidence software seem to be infeasible in the new situation. Firstly, the software development is changed from the developer-centric to user-centric, while user's opinions are usually subjective, and cannot be generalized in one objective metric. Secondly, there is non-central control to guarantee the testing on components which formed the software system, and continual evolution makes it impossible to test on the whole software system. Therefore, this paper proposes a trust-based approach that consists of three sequential sub-stages: 1) describing metrics for confidence estimation from users; 2) estimating the confidence of the components based on the quantitative information from the trusted recommenders; 3) estimating the confidence of the whole software system based on the component confidences and their interactions, as well as attempts to make a step toward a reasonable and effective method for confidence estimation of the software system in open environments.
基金This work is supported by the National Key Research and Development Program of China under Grant No.2018YFB1003901the National Natural Science Foundation of China under Grant No.61872273Advanced Research Projects of the 13th Five-Year Plan of Civil Aerospace Technology,Intelligent Distribution Technology of Domestic Satellite Information under Grant No.B0301.
文摘For the rapid development of internetware, functional programming languages, such as Haskell and Scala, can be used to implement complex domain-specific applications. In functional programming languages, a higher-order function is a function that takes functions as parameters or returns a function. Using higher-order functions in programs can increase the generality and reduce the redundancy of source code. To test a higher-order function, a tester needs to check the requirements and write another function as the test input. However, due to the complex structure of higher-order functions, testing higher-order functions is a time-consuming and labor-intensive task. Testers have to spend an amount of manual effort in testing all higher-order functions. Such testing is infeasible if the time budget is limited, such as a period before a project release. In practice, not every higher-order function is actually called. We refer to higher-order functions that are about to be called as calling-prone ones. Calling-prone higher-order functions should be tested first. In this paper, we propose an automatic approach, namely PHOF, which predicts whether a higher-order function of Scala programs will be called in the future, i.e., identifying calling-prone higher-order functions. Our approach can assist testers to reduce the number of higher-order functions of Scala programs under test. In PHOF, we extracted 24 features from source code and logs to train a predictive model based on known higher-order function calls. We empirically evaluated our approach on 4832 higher-order functions from 27 real-world Scala projects. Experimental results show that PHOF based on the random forest algorithm and the Synthetic Minority Oversampling Technique Processing strategy (SMOTE) performs well in the prediction of calls of higher-order functions. Our work can be used to support the scheduling of limited test resources.