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.展开更多
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.展开更多
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.展开更多
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.展开更多
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.展开更多
With the rapid development of network technology, it is increasingly important to dynamically upgrade router’s software. In this paper, the authors present new software architecture to be applied to extensible servic...With the rapid development of network technology, it is increasingly important to dynamically upgrade router’s software. In this paper, the authors present new software architecture to be applied to extensible services router. The novel feature of the architecture is the ability to dynamically load and configure extensible components at run time. Each component implements one function such as packets classification, packets scheduling and routing protocol. We design a simple configuration language (ESRCL) to configure and manage the router. The architecture can be configured according to the packet flows. At present, a prototype system based on highly efficient router operating system (HEROS) has been finished.展开更多
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.展开更多
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.展开更多
The layered software architecture is the model commonly adopted for the development of information systems since it favors the modularity and the scalability of the systems. On the other hand, the emergence of model e...The layered software architecture is the model commonly adopted for the development of information systems since it favors the modularity and the scalability of the systems. On the other hand, the emergence of model engineering aims to raise the level of abstraction to allow developers to reason on models, and less in code. The research question is to combine the two approaches to facilitate the work of developers. The proposal resulting from this study is based on a set of concepts defined using the UML profiles. These concepts include services, business components, and data persistence. Then the Kruchten model is adopted to represent the development cycle according to several views, each view being represented by UML diagrams derived from the previously defined profiles. Finally, rules are available for checking inter-view consistency, from refinement to code generation. The result is a step towards the definition of a domain specific ADL and a development process as much as it includes the expected characteristics of such a language, namely: the fundamental concepts, the support tools and the multiview development.展开更多
Architectural design is a crucial issue in software engineering. It makes testing more effective as it contribute to carry out the testing in an early stage of the software development. To improve software testability...Architectural design is a crucial issue in software engineering. It makes testing more effective as it contribute to carry out the testing in an early stage of the software development. To improve software testability, the software architect should consider different testability metrics while building the software architecture. The main objective of this research is to conduct an early assessment of the software architecture for the purpose of its improvement in order to make the testing process more effective. In this paper, an evaluation model to assess software architecture (Architecture Design Testability Evaluation Model (ADTEM)) is presented. ADTEM is based on two different testability metrics: cohesion and coupling. ADTEM consists of two phases: software architecture evaluation phase, and component evaluation phase. In each phase, a fuzzy inference system is used to perform the evaluation process based on cohesion and coupling testing metrics. The model is validated by using a case study: Elders Monitoring System. The experimental results show that ADTEM is efficient and gave a considerable improvement to the software testability process.展开更多
Abstract: In the light of an increasing software complexity, many product variants and challenging market conditions, the automotive industry focuses two mitigation approaches: development processes and SW (softwar...Abstract: In the light of an increasing software complexity, many product variants and challenging market conditions, the automotive industry focuses two mitigation approaches: development processes and SW (software) architecture are standardized while model-driven software development technologies are progressively applied for series development. However, software architecture is subject to a continuous shift of requirements and boundary conditions. At the same time, process standards ensure necessary quality but also cause a dramatic increase of the SW development effort. There exists a methodical gap between process and market requirements on one hand and reusable standardized software functions with a high quality on the other. In this paper, an approach is presented that aims for the continuous extension of powertrain control software with increasing quality based on existing boundary conditions and a consequent methodical extension of existing technical concepts. We address this by the development of a sustainable software architecture which enables the safeguarding of consistent design principles and thus higher development efficiency. Moreover, it opens the door to a comprehensive quality assurance concept based on the agile software development principle Continuous Integration. Finally, the feasibility of this approach and software quality assessment results are shown by the application for a gasoline engine in the vehicle.展开更多
A main advantage of Architecture Description Languages (ADL) is their aptitude to facilitate formal analysis and verification of complex software architectures. Since some researchers try to extend them by new techniq...A main advantage of Architecture Description Languages (ADL) is their aptitude to facilitate formal analysis and verification of complex software architectures. Since some researchers try to extend them by new techniques, we show in this paper how the use of tile logic as extension of rewriting logic can enforce the ability of existing ADL formalisms to cope with hierarchy and composition features which are more and more present in such software architectures. In order to cover ADL key and generic concepts, our approach is explained through LfP (Language for rapid Prototyping) as ADL offering the possibility to specify the hierarchical behaviour of software components. Then, our contribution goal is to exploit a suitable logic that allows reasoning naturally about software system behaviour, possibly hierarchical and modular, in terms of its basic components and their interactions.展开更多
The simulation of underwater acoustic information flow is an important way to research sonar performance and its engagement effectiveness in the ocean environment.This paper analyzes the significance of modeling an op...The simulation of underwater acoustic information flow is an important way to research sonar performance and its engagement effectiveness in the ocean environment.This paper analyzes the significance of modeling an open and sophisticated simulation software architecture by object-oriented method,and introduces the modeling processes and expression method of simulation architecture.According to the requirements of simulation system and the underwater acoustic information flow,the logical architecture of simulation software system is modeled by the object-oriented method.A use-case view captured the system requirements.The logical view shows the logical architecture of software system.The simulation software is decomposed into the loose coupling constituent parts by layering and partitioning the packages for maintainability.The design patterns enabled the simulation software to have good expansibility and reusability.The simulation system involving multi-targets and multi-sonar is developed based on the architecture model.Practices show that the model meets the needs for simulating an open and sophisticated system.展开更多
Translation software has become an important tool for communication between different languages.People’s requirements for translation are higher and higher,mainly reflected in people’s desire for barrier free cultur...Translation software has become an important tool for communication between different languages.People’s requirements for translation are higher and higher,mainly reflected in people’s desire for barrier free cultural exchange.With a large corpus,the performance of statistical machine translation based on words and phrases is limited due to the small size of modeling units.Previous statistical methods rely primarily on the size of corpus and number of its statistical results to avoid ambiguity in translation,ignoring context.To support the ongoing improvement of translation methods built upon deep learning,we propose a translation algorithm based on the Hidden Markov Model to improve the use of context in the process of translation.During translation,our Hidden Markov Model prediction chain selects a number of phrases with the highest result probability to form a sentence.The collection of all of the generated sentences forms a topic sequence.Using probabilities and article sequences determined from the training set,our method again applies the Hidden Markov Model to form the final translation to improve the context relevance in the process of translation.This algorithm improves the accuracy of translation,avoids the combination of invalid words,and enhances the readability and meaning of the resulting translation.展开更多
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.展开更多
There exists a consensus that software architecture (SA) plays a central role in software development and also plays an important role in the lifecycle phases after software delivery. Particularly, SA can be used to r...There exists a consensus that software architecture (SA) plays a central role in software development and also plays an important role in the lifecycle phases after software delivery. Particularly, SA can be used to reduce the great difficulty and cost of software maintenance and evolution. In this paper, runtime software architecture (RSA) based on reflective middleware is proposed to support architecture-based software maintenance and evolution. In this approach, the actual states and behaviors of the runtime system can be observed and manipulated in a consistent and understandable way through its architectural view. Being an accurate, up-to-date, semantic and operable view of SA, RSA looks components and connectors as white-box entities to accurately and thoroughly describe the runtime system, extends traditional architecture description languages to formally describe itself and naturally inherit plentiful semantics in traditional views of SA, and utilizes reflective middleware to observe and manipulate the runtime system. In order to demonstrate the feasibility of this approach, a reflective J2EE application server, called PKUAS, is implemented to observe and manipulate the components, connectors and constraints in the runtime system. Finally, the performance evaluation proves that making RSA explicit and operable at runtime has little effect on the runtime system.展开更多
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.展开更多
文摘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.
基金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.
基金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.
文摘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.
基金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.
文摘With the rapid development of network technology, it is increasingly important to dynamically upgrade router’s software. In this paper, the authors present new software architecture to be applied to extensible services router. The novel feature of the architecture is the ability to dynamically load and configure extensible components at run time. Each component implements one function such as packets classification, packets scheduling and routing protocol. We design a simple configuration language (ESRCL) to configure and manage the router. The architecture can be configured according to the packet flows. At present, a prototype system based on highly efficient router operating system (HEROS) has been finished.
基金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.
文摘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.
文摘The layered software architecture is the model commonly adopted for the development of information systems since it favors the modularity and the scalability of the systems. On the other hand, the emergence of model engineering aims to raise the level of abstraction to allow developers to reason on models, and less in code. The research question is to combine the two approaches to facilitate the work of developers. The proposal resulting from this study is based on a set of concepts defined using the UML profiles. These concepts include services, business components, and data persistence. Then the Kruchten model is adopted to represent the development cycle according to several views, each view being represented by UML diagrams derived from the previously defined profiles. Finally, rules are available for checking inter-view consistency, from refinement to code generation. The result is a step towards the definition of a domain specific ADL and a development process as much as it includes the expected characteristics of such a language, namely: the fundamental concepts, the support tools and the multiview development.
文摘Architectural design is a crucial issue in software engineering. It makes testing more effective as it contribute to carry out the testing in an early stage of the software development. To improve software testability, the software architect should consider different testability metrics while building the software architecture. The main objective of this research is to conduct an early assessment of the software architecture for the purpose of its improvement in order to make the testing process more effective. In this paper, an evaluation model to assess software architecture (Architecture Design Testability Evaluation Model (ADTEM)) is presented. ADTEM is based on two different testability metrics: cohesion and coupling. ADTEM consists of two phases: software architecture evaluation phase, and component evaluation phase. In each phase, a fuzzy inference system is used to perform the evaluation process based on cohesion and coupling testing metrics. The model is validated by using a case study: Elders Monitoring System. The experimental results show that ADTEM is efficient and gave a considerable improvement to the software testability process.
文摘Abstract: In the light of an increasing software complexity, many product variants and challenging market conditions, the automotive industry focuses two mitigation approaches: development processes and SW (software) architecture are standardized while model-driven software development technologies are progressively applied for series development. However, software architecture is subject to a continuous shift of requirements and boundary conditions. At the same time, process standards ensure necessary quality but also cause a dramatic increase of the SW development effort. There exists a methodical gap between process and market requirements on one hand and reusable standardized software functions with a high quality on the other. In this paper, an approach is presented that aims for the continuous extension of powertrain control software with increasing quality based on existing boundary conditions and a consequent methodical extension of existing technical concepts. We address this by the development of a sustainable software architecture which enables the safeguarding of consistent design principles and thus higher development efficiency. Moreover, it opens the door to a comprehensive quality assurance concept based on the agile software development principle Continuous Integration. Finally, the feasibility of this approach and software quality assessment results are shown by the application for a gasoline engine in the vehicle.
文摘A main advantage of Architecture Description Languages (ADL) is their aptitude to facilitate formal analysis and verification of complex software architectures. Since some researchers try to extend them by new techniques, we show in this paper how the use of tile logic as extension of rewriting logic can enforce the ability of existing ADL formalisms to cope with hierarchy and composition features which are more and more present in such software architectures. In order to cover ADL key and generic concepts, our approach is explained through LfP (Language for rapid Prototyping) as ADL offering the possibility to specify the hierarchical behaviour of software components. Then, our contribution goal is to exploit a suitable logic that allows reasoning naturally about software system behaviour, possibly hierarchical and modular, in terms of its basic components and their interactions.
文摘The simulation of underwater acoustic information flow is an important way to research sonar performance and its engagement effectiveness in the ocean environment.This paper analyzes the significance of modeling an open and sophisticated simulation software architecture by object-oriented method,and introduces the modeling processes and expression method of simulation architecture.According to the requirements of simulation system and the underwater acoustic information flow,the logical architecture of simulation software system is modeled by the object-oriented method.A use-case view captured the system requirements.The logical view shows the logical architecture of software system.The simulation software is decomposed into the loose coupling constituent parts by layering and partitioning the packages for maintainability.The design patterns enabled the simulation software to have good expansibility and reusability.The simulation system involving multi-targets and multi-sonar is developed based on the architecture model.Practices show that the model meets the needs for simulating an open and sophisticated system.
基金support provided from the Cooperative Education Fund of China Ministry of Education(201702113002 and 201801193119)Hunan Natural Science Foundation(2018JJ2138)Degree and Graduate Education Reform Project of Hunan Province(JG2018B096)are greatly appreciated by the authors.
文摘Translation software has become an important tool for communication between different languages.People’s requirements for translation are higher and higher,mainly reflected in people’s desire for barrier free cultural exchange.With a large corpus,the performance of statistical machine translation based on words and phrases is limited due to the small size of modeling units.Previous statistical methods rely primarily on the size of corpus and number of its statistical results to avoid ambiguity in translation,ignoring context.To support the ongoing improvement of translation methods built upon deep learning,we propose a translation algorithm based on the Hidden Markov Model to improve the use of context in the process of translation.During translation,our Hidden Markov Model prediction chain selects a number of phrases with the highest result probability to form a sentence.The collection of all of the generated sentences forms a topic sequence.Using probabilities and article sequences determined from the training set,our method again applies the Hidden Markov Model to form the final translation to improve the context relevance in the process of translation.This algorithm improves the accuracy of translation,avoids the combination of invalid words,and enhances the readability and meaning of the resulting translation.
基金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.
文摘There exists a consensus that software architecture (SA) plays a central role in software development and also plays an important role in the lifecycle phases after software delivery. Particularly, SA can be used to reduce the great difficulty and cost of software maintenance and evolution. In this paper, runtime software architecture (RSA) based on reflective middleware is proposed to support architecture-based software maintenance and evolution. In this approach, the actual states and behaviors of the runtime system can be observed and manipulated in a consistent and understandable way through its architectural view. Being an accurate, up-to-date, semantic and operable view of SA, RSA looks components and connectors as white-box entities to accurately and thoroughly describe the runtime system, extends traditional architecture description languages to formally describe itself and naturally inherit plentiful semantics in traditional views of SA, and utilizes reflective middleware to observe and manipulate the runtime system. In order to demonstrate the feasibility of this approach, a reflective J2EE application server, called PKUAS, is implemented to observe and manipulate the components, connectors and constraints in the runtime system. Finally, the performance evaluation proves that making RSA explicit and operable at runtime has little effect on the runtime system.
基金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.