This research recognizes the limitation and challenges of adaptingand applying Process Mining as a powerful tool and technique in theHypothetical Software Architecture (SA) Evaluation Framework with thefeatures and fa...This research recognizes the limitation and challenges of adaptingand applying Process Mining as a powerful tool and technique in theHypothetical Software Architecture (SA) Evaluation Framework with thefeatures and factors of lightweightness. Process mining deals with the largescalecomplexity of security and performance analysis, which are the goalsof SA evaluation frameworks. As a result of these conjectures, all ProcessMining researches in the realm of SA are thoroughly reviewed, and ninechallenges for Process Mining Adaption are recognized. Process mining isembedded in the framework and to boost the quality of the SA model forfurther analysis, the framework nominates architectural discovery algorithmsFlower, Alpha, Integer Linear Programming (ILP), Heuristic, and Inductiveand compares them vs. twelve quality criteria. Finally, the framework’s testingon three case studies approves the feasibility of applying process mining toarchitectural evaluation. The extraction of the SA model is also done by thebest model discovery algorithm, which is selected by intensive benchmarkingin this research. This research presents case studies of SA in service-oriented,Pipe and Filter, and component-based styles, modeled and simulated byHierarchical Colored Petri Net techniques based on the cases’ documentation.Processminingwithin this framework dealswith the system’s log files obtainedfrom SA simulation. Applying process mining is challenging, especially for aSA evaluation framework, as it has not been done yet. The research recognizesthe problems of process mining adaption to a hypothetical lightweightSA evaluation framework and addresses these problems during the solutiondevelopment.展开更多
The foundation for any software system is its architecture. Software architecture is a view of the system that includes the system’s major components, the behaviour of those components as visible to the rest of the s...The foundation for any software system is its architecture. Software architecture is a view of the system that includes the system’s major components, the behaviour of those components as visible to the rest of the system, and the ways in which the components interact and coordinate to achieve the overall system’s goal. Every efficient software system arises as a result of sound architectural basement. This requires the use of good architecture engineering practices and methods. This paper recognizes software architecture practice as a discipline pervading all phases of software development and also presents an enhanced model for software engineering process which provides an avenue for speedy, efficient and timely delivery of software products to their intended users. The integration of software architecture into the phases of software development process in a generic software life cycle is also contained in this research report. This is to enable software engineers and system analysts to use effective software architecture practices and to employ appropriate methodology during the software engineering process.展开更多
In recent years, SDN(Software Defined Network) as a new network architecture has become the hot research point. Meanwhile,the well-known Open Flow-based SDN got a lot of attention. But it can't provide a flexible ...In recent years, SDN(Software Defined Network) as a new network architecture has become the hot research point. Meanwhile,the well-known Open Flow-based SDN got a lot of attention. But it can't provide a flexible and effective network resource description method.As an open programmable technology, For CES(Forwarding and Control Element Separation)has also been concerned. However, For CES is confined within a single network node and cannot be applied to the entire network. This paper proposes a new architecture — ForS A(ForC ESbased SDN architecture). The architecture is added a configuration layer based on the traditional SDN architecture, which solves the problem that the northbound interface is not clear between the application layer and the control layer in the SDN architecture. ForS A also implements the compatibility within various forwarding devices in the forwarding layer.展开更多
With the introduction of software defined hardware by DARPA Electronics Resurgence Initiative,software definition will be the basic attribute of information system.Benefiting from boundary certainty and algorithm aggr...With the introduction of software defined hardware by DARPA Electronics Resurgence Initiative,software definition will be the basic attribute of information system.Benefiting from boundary certainty and algorithm aggregation of domain applications,domain-oriented computing architecture has become the technical direction that considers the high flexibility and efficiency of information system.Aiming at the characteristics of data-intensive computing in different scenarios such as Internet of Things(IoT),big data,artificial intelligence(AI),this paper presents a domain-oriented software defined computing architecture,discusses the hierarchical interconnection structure,hybrid granularity computing element and its computational kernel extraction method,finally proves the flexibility and high efficiency of this architecture by experimental comparison.展开更多
3D digital design for cranes’ structures based on hybrid software architecture of Client/Server and Browser/Server is introduced in this paper. Based on Pro/ENGINEER platform,3D parametric model family is built to al...3D digital design for cranes’ structures based on hybrid software architecture of Client/Server and Browser/Server is introduced in this paper. Based on Pro/ENGINEER platform,3D parametric model family is built to allow generation of feasible configurations of cranes’ structures in Client/Server framework. Taking use of Visual C++,the second exploiting software kit provided by Pro/ENGINEER and ANSYS GUI/APDL modeling patterns,an integration method of 3D CAD and CAE is achieved,which includes regeneration of 3D parametric model,synchronous updating and analysis of FEA model. As in Browser/Server framework,the 3D CAD models of parts,components and the whole structure could also be displayed in the customer’s browser in VRML format.展开更多
Reliability is one of the most critical properties of software system.System deployment architecture is the allocation of system software components on host nodes.Software Architecture(SA) based software deployment mo...Reliability is one of the most critical properties of software system.System deployment architecture is the allocation of system software components on host nodes.Software Architecture(SA) based software deployment models help to analyze reliability of different deployments.Though many approaches for architecture-based reliability estimation exist,little work has incorporated the influence of system deployment and hardware resources into reliability estimation.There are many factors influencing system deployment.By translating the multi-dimension factors into degree matrix of component dependence,we provide the definition of component dependence and propose a method of calculating system reliability of deployments.Additionally,the parameters that influence the optimal deployment may change during system execution.The existing software deployment architecture may be ill-suited for the given environment,and the system needs to be redeployed to improve reliability.An approximate algorithm,A*_D,to increase system reliability is presented.When the number of components and host nodes is relative large,experimental results show that this algorithm can obtain better deployment than stochastic and greedy algorithms.展开更多
The technologies of software architecture are introduced, and the software analysis-and-design process is divided into requirement analysis, software architecture design and system design. Using these technologies, a ...The technologies of software architecture are introduced, and the software analysis-and-design process is divided into requirement analysis, software architecture design and system design. Using these technologies, a model of architecture-centric software analysis and design process(ACSADP) is proposed. Meanwhile, with regard to the completeness, consistency and correctness between the software requirements and design results, the theories of function and process control are applied to ACSADP. Finally, a model of integrated development environnment (IDE) for ACSADP is propcsed. It can be demonstrated by the practice that the model of ACSADP can aid developer to manage software process effectively and improve the quality of software analysis and design.展开更多
Computer software has been becoming more and more c om plex with the development of hardware. Thus, how to efficiently develop extensib le, maintainable and adaptable software occurs to be an urgent problem. The comp ...Computer software has been becoming more and more c om plex with the development of hardware. Thus, how to efficiently develop extensib le, maintainable and adaptable software occurs to be an urgent problem. The comp onent-based software development technique is a better method to solve the prob lem. In this paper, we first discuss the concept, description method and some fa miliar styles of software architecture, and then analyze the merits of using the software architecture to guide the software development. We also present a gene ral design method for component. Its applications are finally provided.展开更多
In this paper, wc propose a new method to estimate the relationship between software reliability and software development cost taking into account the complexity for developing the software system and the size of soft...In this paper, wc propose a new method to estimate the relationship between software reliability and software development cost taking into account the complexity for developing the software system and the size of software intended to develop during the implementation phase of the software development lifc cycle. On the basis of estimated relationship, a set of empirical data has been used to validate the correctness of the proposed model by comparing the result with the other existing models. The outcome of this work shows that the method proposed here is a relatively straightforward one in formulating the relationship between reliability and cost during implementation phase.展开更多
Software architectures shift the focus of developers from lines-of-code to coarser-grained architectural elements and their overall interconnection structure. There are, however, many features of the distributed softw...Software architectures shift the focus of developers from lines-of-code to coarser-grained architectural elements and their overall interconnection structure. There are, however, many features of the distributed software that make the developing methods of distributed software quite different from the traditional ways. Furthermore, the traditional centralized ways with fixed interfaces cannot adapt to the flexible requirements of distributed software. In this paper, the attributed grammar (AG) is extended to refine the characters of distributed software, and a distributed software architecture description language (DSADL) based on attributed grammar is introduced, and then a model of integrated environment for software architecture design is proposed. It can be demonstrated by the practice that DSADL can help the programmers to analyze and design distributed software effectively, so the efficiency of the development can be improved greatly.展开更多
Software today often consists of a large number of components offering and requiring services. Such components should be deployed into embedded, pervasive environments, and several deployment architectures are typical...Software today often consists of a large number of components offering and requiring services. Such components should be deployed into embedded, pervasive environments, and several deployment architectures are typically possible. These deployment architectures can have significant impacts on system reliability. However, existing reliability estimation approaches are typically limited to certain classes or exclusively concentrate on software reliability, neglecting the influence of hardware resources, software deployment and architectural styles. The selection of an appropriate architectural style has a significant impact on system reliability of the target system. Therefore, we propose a novel software architecture (SA) based reliability estimation model incorporating software deployment and architectural style. On the basis of two architectural styles, we design influence factors and present a new approach to calculate system reliability. Experimental results show that influence factors provide an accurate and simple method of reflecting architectural styles and software deployment on system reliability. It is important for considering the influence of other architectural styles on system reliability in large scale deployment environment.展开更多
Reflection mechanism for reuse software architecture (RMRSA) divides a software architecture into base-level architecture and meta-level architecture logically. Base-level architecture is the ordinary architecture; ...Reflection mechanism for reuse software architecture (RMRSA) divides a software architecture into base-level architecture and meta-level architecture logically. Base-level architecture is the ordinary architecture; meta-level represents and manipulates the reusable meta-information of base-level architecture explicitly. Through reflection, the modification of meta-level architecture will result in the modification of the architecture in base-level. Then we can gain a new base-level architecture design. In this paper, we use π-calculus to define the constituents and their interaction processes of RMRSA, by these definition, we specify the business function in base-level at runtime, and illustrate the reflection mechanism between the base-level architecture and meta-level architecture.展开更多
In this paper,a case study is carried out in comparison of pipes-and-filters architecture and batch sequential architecture.Concepts on a data flow system and the two mentioned architectures are presented.A Java templ...In this paper,a case study is carried out in comparison of pipes-and-filters architecture and batch sequential architecture.Concepts on a data flow system and the two mentioned architectures are presented.A Java template class design in implementing the "pipes" and "filters" in the pipes-and-filters architecture is given at the design level.Finally,this paper uses a concrete example to show how to use Java to implement the pipesand-filters architecture.Using varied amount of data from text files,performance and memory usage of the two architectures are illustrated.展开更多
To better evaluate the quality of software architecture,a metrics suite is proposed to measure the coupling of software architecture models,in which CBC is used to measure the coupling between components,CBCC is used ...To better evaluate the quality of software architecture,a metrics suite is proposed to measure the coupling of software architecture models,in which CBC is used to measure the coupling between components,CBCC is used to measure the coupling of transferring message between components,CBCCT is used to measure the coupling of software architecture,WCBCC is used to measure the coupling of transferring message with weight between components,and WCBCCT is used to measure the coupling of message transmission with weight in the whole software architecture. The proposed algorithm for the coupling metrics is applied to the design of serve software architecture. Analysis of an example validates the feasibility of this metrics suite.展开更多
基金This paper is supported by Research Grant Number:PP-FTSM-2022.
文摘This research recognizes the limitation and challenges of adaptingand applying Process Mining as a powerful tool and technique in theHypothetical Software Architecture (SA) Evaluation Framework with thefeatures and factors of lightweightness. Process mining deals with the largescalecomplexity of security and performance analysis, which are the goalsof SA evaluation frameworks. As a result of these conjectures, all ProcessMining researches in the realm of SA are thoroughly reviewed, and ninechallenges for Process Mining Adaption are recognized. Process mining isembedded in the framework and to boost the quality of the SA model forfurther analysis, the framework nominates architectural discovery algorithmsFlower, Alpha, Integer Linear Programming (ILP), Heuristic, and Inductiveand compares them vs. twelve quality criteria. Finally, the framework’s testingon three case studies approves the feasibility of applying process mining toarchitectural evaluation. The extraction of the SA model is also done by thebest model discovery algorithm, which is selected by intensive benchmarkingin this research. This research presents case studies of SA in service-oriented,Pipe and Filter, and component-based styles, modeled and simulated byHierarchical Colored Petri Net techniques based on the cases’ documentation.Processminingwithin this framework dealswith the system’s log files obtainedfrom SA simulation. Applying process mining is challenging, especially for aSA evaluation framework, as it has not been done yet. The research recognizesthe problems of process mining adaption to a hypothetical lightweightSA evaluation framework and addresses these problems during the solutiondevelopment.
文摘The foundation for any software system is its architecture. Software architecture is a view of the system that includes the system’s major components, the behaviour of those components as visible to the rest of the system, and the ways in which the components interact and coordinate to achieve the overall system’s goal. Every efficient software system arises as a result of sound architectural basement. This requires the use of good architecture engineering practices and methods. This paper recognizes software architecture practice as a discipline pervading all phases of software development and also presents an enhanced model for software engineering process which provides an avenue for speedy, efficient and timely delivery of software products to their intended users. The integration of software architecture into the phases of software development process in a generic software life cycle is also contained in this research report. This is to enable software engineers and system analysts to use effective software architecture practices and to employ appropriate methodology during the software engineering process.
基金supported in part by a grant from the National Basic Research Program of China(973 Program)(No.2012CB315902)the National High Technology Research and Development Program(863 Program) (No.2015AA011901)+1 种基金the National Natural Science Foundation of China(No.61402408, 61379120)Zhejiang Leading Team of Science and Technology Innovation(No.2011R50010-04, 2011R50010-03,2011R50010-2)
文摘In recent years, SDN(Software Defined Network) as a new network architecture has become the hot research point. Meanwhile,the well-known Open Flow-based SDN got a lot of attention. But it can't provide a flexible and effective network resource description method.As an open programmable technology, For CES(Forwarding and Control Element Separation)has also been concerned. However, For CES is confined within a single network node and cannot be applied to the entire network. This paper proposes a new architecture — ForS A(ForC ESbased SDN architecture). The architecture is added a configuration layer based on the traditional SDN architecture, which solves the problem that the northbound interface is not clear between the application layer and the control layer in the SDN architecture. ForS A also implements the compatibility within various forwarding devices in the forwarding layer.
基金supported by National Science and Technology Major Project granted No.2016ZX01012101
文摘With the introduction of software defined hardware by DARPA Electronics Resurgence Initiative,software definition will be the basic attribute of information system.Benefiting from boundary certainty and algorithm aggregation of domain applications,domain-oriented computing architecture has become the technical direction that considers the high flexibility and efficiency of information system.Aiming at the characteristics of data-intensive computing in different scenarios such as Internet of Things(IoT),big data,artificial intelligence(AI),this paper presents a domain-oriented software defined computing architecture,discusses the hierarchical interconnection structure,hybrid granularity computing element and its computational kernel extraction method,finally proves the flexibility and high efficiency of this architecture by experimental comparison.
基金Supported by Shanghai Leading Academic Discipline Project ,Project Number :T0601
文摘3D digital design for cranes’ structures based on hybrid software architecture of Client/Server and Browser/Server is introduced in this paper. Based on Pro/ENGINEER platform,3D parametric model family is built to allow generation of feasible configurations of cranes’ structures in Client/Server framework. Taking use of Visual C++,the second exploiting software kit provided by Pro/ENGINEER and ANSYS GUI/APDL modeling patterns,an integration method of 3D CAD and CAE is achieved,which includes regeneration of 3D parametric model,synchronous updating and analysis of FEA model. As in Browser/Server framework,the 3D CAD models of parts,components and the whole structure could also be displayed in the customer’s browser in VRML format.
基金Supported by the High Technology Research and Development Program of China(No.2008AA01A201)National High Technology Research,Development Plan of China (No.2006AA01A103)the High Technology Research and Development Program of China(No.2009AA01A404)
文摘Reliability is one of the most critical properties of software system.System deployment architecture is the allocation of system software components on host nodes.Software Architecture(SA) based software deployment models help to analyze reliability of different deployments.Though many approaches for architecture-based reliability estimation exist,little work has incorporated the influence of system deployment and hardware resources into reliability estimation.There are many factors influencing system deployment.By translating the multi-dimension factors into degree matrix of component dependence,we provide the definition of component dependence and propose a method of calculating system reliability of deployments.Additionally,the parameters that influence the optimal deployment may change during system execution.The existing software deployment architecture may be ill-suited for the given environment,and the system needs to be redeployed to improve reliability.An approximate algorithm,A*_D,to increase system reliability is presented.When the number of components and host nodes is relative large,experimental results show that this algorithm can obtain better deployment than stochastic and greedy algorithms.
文摘The technologies of software architecture are introduced, and the software analysis-and-design process is divided into requirement analysis, software architecture design and system design. Using these technologies, a model of architecture-centric software analysis and design process(ACSADP) is proposed. Meanwhile, with regard to the completeness, consistency and correctness between the software requirements and design results, the theories of function and process control are applied to ACSADP. Finally, a model of integrated development environnment (IDE) for ACSADP is propcsed. It can be demonstrated by the practice that the model of ACSADP can aid developer to manage software process effectively and improve the quality of software analysis and design.
文摘Computer software has been becoming more and more c om plex with the development of hardware. Thus, how to efficiently develop extensib le, maintainable and adaptable software occurs to be an urgent problem. The comp onent-based software development technique is a better method to solve the prob lem. In this paper, we first discuss the concept, description method and some fa miliar styles of software architecture, and then analyze the merits of using the software architecture to guide the software development. We also present a gene ral design method for component. Its applications are finally provided.
文摘In this paper, wc propose a new method to estimate the relationship between software reliability and software development cost taking into account the complexity for developing the software system and the size of software intended to develop during the implementation phase of the software development lifc cycle. On the basis of estimated relationship, a set of empirical data has been used to validate the correctness of the proposed model by comparing the result with the other existing models. The outcome of this work shows that the method proposed here is a relatively straightforward one in formulating the relationship between reliability and cost during implementation phase.
基金Project (No. 2000K08-G12) supported by Shaanxi Provincial Science and Technology Development Plan, China
文摘Software architectures shift the focus of developers from lines-of-code to coarser-grained architectural elements and their overall interconnection structure. There are, however, many features of the distributed software that make the developing methods of distributed software quite different from the traditional ways. Furthermore, the traditional centralized ways with fixed interfaces cannot adapt to the flexible requirements of distributed software. In this paper, the attributed grammar (AG) is extended to refine the characters of distributed software, and a distributed software architecture description language (DSADL) based on attributed grammar is introduced, and then a model of integrated environment for software architecture design is proposed. It can be demonstrated by the practice that DSADL can help the programmers to analyze and design distributed software effectively, so the efficiency of the development can be improved greatly.
文摘Software today often consists of a large number of components offering and requiring services. Such components should be deployed into embedded, pervasive environments, and several deployment architectures are typically possible. These deployment architectures can have significant impacts on system reliability. However, existing reliability estimation approaches are typically limited to certain classes or exclusively concentrate on software reliability, neglecting the influence of hardware resources, software deployment and architectural styles. The selection of an appropriate architectural style has a significant impact on system reliability of the target system. Therefore, we propose a novel software architecture (SA) based reliability estimation model incorporating software deployment and architectural style. On the basis of two architectural styles, we design influence factors and present a new approach to calculate system reliability. Experimental results show that influence factors provide an accurate and simple method of reflecting architectural styles and software deployment on system reliability. It is important for considering the influence of other architectural styles on system reliability in large scale deployment environment.
基金Supported by the National Natural Science Foundation of China (60473066)Young Outstanding Talent Foundation of Hubei Province,China(2003ABB004)
文摘Reflection mechanism for reuse software architecture (RMRSA) divides a software architecture into base-level architecture and meta-level architecture logically. Base-level architecture is the ordinary architecture; meta-level represents and manipulates the reusable meta-information of base-level architecture explicitly. Through reflection, the modification of meta-level architecture will result in the modification of the architecture in base-level. Then we can gain a new base-level architecture design. In this paper, we use π-calculus to define the constituents and their interaction processes of RMRSA, by these definition, we specify the business function in base-level at runtime, and illustrate the reflection mechanism between the base-level architecture and meta-level architecture.
文摘In this paper,a case study is carried out in comparison of pipes-and-filters architecture and batch sequential architecture.Concepts on a data flow system and the two mentioned architectures are presented.A Java template class design in implementing the "pipes" and "filters" in the pipes-and-filters architecture is given at the design level.Finally,this paper uses a concrete example to show how to use Java to implement the pipesand-filters architecture.Using varied amount of data from text files,performance and memory usage of the two architectures are illustrated.
基金Sponsored by the Science and Technology Department Term of Education of Heilongjiang Province(Grant No. 10541098)
文摘To better evaluate the quality of software architecture,a metrics suite is proposed to measure the coupling of software architecture models,in which CBC is used to measure the coupling between components,CBCC is used to measure the coupling of transferring message between components,CBCCT is used to measure the coupling of software architecture,WCBCC is used to measure the coupling of transferring message with weight between components,and WCBCCT is used to measure the coupling of message transmission with weight in the whole software architecture. The proposed algorithm for the coupling metrics is applied to the design of serve software architecture. Analysis of an example validates the feasibility of this metrics suite.