共查询到20条相似文献,搜索用时 15 毫秒
1.
Christoph Rathfelder Benjamin Klatt Kai Sachs Samuel Kounev 《Software and Systems Modeling》2014,13(4):1291-1317
Event-based communication is used in different domains including telecommunications, transportation, and business information systems to build scalable distributed systems. Such systems typically have stringent requirements for performance and scalability as they provide business and mission critical services. While the use of event-based communication enables loosely-coupled interactions between components and leads to improved system scalability, it makes it much harder for developers to estimate the system’s behavior and performance under load due to the decoupling of components and control flow. In this paper, we present our approach enabling the modeling and performance prediction of event-based systems at the architecture level. Applying a model-to-model transformation, our approach integrates platform-specific performance influences of the underlying middleware while enabling the use of different existing analytical and simulation-based prediction techniques. In summary, the contributions of this paper are: (1) the development of a meta-model for event-based communication at the architecture level, (2) a platform aware model-to-model transformation, and (3) a detailed evaluation of the applicability of our approach based on two representative real-world case studies. The results demonstrate the effectiveness, practicability and accuracy of the proposed modeling and prediction approach. 相似文献
2.
Component-based development (CBD) is a promising approach to master the design complexity of huge software products. In addition, knowledge about the architecture of such component systems can help in establishing important system properties, which in general is computationally hard because of the state space explosion problem. Extending previous work, we here investigate the novel class of disjoint circular wait free component systems and show how we can use the architectural information to establish a condition for the property of deadlock-freedom in polynomial time. Furthermore, we emphasize the importance of this class by showing how to transform an arbitrary system into a disjoint circular wait free one in linear time and in a property preserving way and by providing various computational complexity results. A running example is included. We use the framework of interaction systems, but our results carry over to other CBD models. 相似文献
3.
This article discusses a domain-specific component-based architecture called distributed feature composition. Based on the well-known pipe-and-filter architecture, DFC has been refined for use in the telecommunication domain. The authors also point to ways this approach might work in other domains, including data networks 相似文献
4.
基于组件的软件可靠性计算方法 总被引:2,自引:3,他引:2
提出了一种基于组件的软件可靠性的计算方法。该方法首先利用各现成商用组件的说明信息,对组件的输入域进行划分,然后构建马尔可夫链,最终根据各组件之间的关系求出整个系统的软件可靠性。这种方法对基于组件的软件的可靠性进行了定量计算,是一种可行的方法。 相似文献
5.
One of the main problems in component assembly is how to establish properties on the assembly code by only assuming a limited knowledge of the single component properties. Our answer to this problem is an architectural approach in which the software architecture imposed on the assembly prevents black-box integration anomalies. The basic idea is to build applications by assuming a “coordinator-based” architectural style. We, then, operate on the coordinating part of the system architecture to obtain an equivalent version of the system which is failure-free. A failure-free system is a deadlock-free one and it does not violate any specified coordination policy. A coordination policy models those interactions of components that are actually needed for the overall purpose of the system. We illustrate our approach by means of an explanatory example and validate it on an industrial case study that concerns the development of systems for safeguarding, fruiting, and supporting the Cultural Heritage. 相似文献
6.
7.
8.
Markus von Detten Marie Christin Platenius Steffen Becker 《Software and Systems Modeling》2014,13(4):1239-1268
Many software development, planning, or analysis tasks require an up-to-date software architecture documentation. However, this documentation is often outdated, unavailable, or at least not available as a formal model which analysis tools could use. Reverse engineering methods try to fill this gap. However, as they process the system’s source code, they are easily misled by design deficiencies (e.g., violations of component encapsulation) which leaked into the code during the system’s evolution. Despite the high impact of design deficiencies on the quality of the resulting software architecture models, none of the surveyed related works is able to cope with them during the reverse engineering process. Therefore, we have developed the Archimetrix approach which semiautomatically recovers the system’s concrete architecture in a formal model while simultaneously detecting and removing design deficiencies. We have validated Archimetrix on a case study system and two implementation variants of the CoCoME benchmark system. Results show that the removal of relevant design deficiencies leads to an architecture model which more closely matches the system’s conceptual architecture. 相似文献
9.
The accuracy of performance-prediction models is crucial for widespread adoption of performance prediction in industry. One of the essential accuracy-influencing aspects of software systems is the dependence of system behaviour on a configuration, context or history related state of the system, typically reflected with a (persistent) system attribute. Even in the domain of component-based software engineering, the presence of state-reflecting attributes (the so-called internal states) is a natural ingredient of the systems, implying the existence of stateful services, stateful components and stateful systems as such. Currently, there is no consensus on the definition or method to include state-related information in component-based prediction models. Besides the task to identify and localise different types of stateful information across component-based software architecture, the issue is to balance the expressiveness and complexity of prediction models via an effective abstraction of state modelling. In this paper, we identify and classify stateful information in component-based software systems, study the performance impact of the individual state categories, and discuss the costs of their modelling in terms of the increased model size. The observations are formulated into a set of heuristics-guiding software engineers in state modelling. Finally, practical effect of state modelling on software performance is evaluated on a real-world case study, the SPECjms2007 Benchmark. The observed deviation of measurements and predictions was significantly decreased by more precise models of stateful dependencies. 相似文献
10.
During the last two decades, there has been a growing interest in component-based software system (CBSS) development both in academia and in industry. In CBSS development, it is common to identify software modules first. Once they are determined, we need to select appropriate software components for each software module. However, very few research works so far have addressed the theoretical aspect especially in the optimization of software component selection for CBSS development. Previous studies of CBSS development seldom considered the influence of software components on coupling and cohesion of software modules. In this paper, the formulation of an optimization model of software components selection for CBSS development is described. The model has two objectives: maximizing the functional performance of the CBSS and maximizing the cohesion and minimizing the coupling of software modules. A genetic algorithm (GA) is introduced to solve the optimization model for determining the optimal selection of software components for CBSS development. An example of developing a financial system for small- and medium-size enterprises is used to illustrate the proposed methodology. 相似文献
11.
12.
Coupling represents the degree of interdependence between two software components. Understanding software dependency is directly
related to improving software understandability, maintainability, and reusability. In this paper, we analyze the difference
between component coupling and component dependency, introduce a two-parameter component coupling metric and a three-parameter
component dependency metric. An important parameter in both these metrics is coupling distance, which represents the relevance
of two coupled components. These metrics are applicable to layered component-based software. These metrics can be used to
represent the dependencies induced by all types of software coupling. We show how to determine coupling and dependency of
all scales of software components using these metrics. These metrics are then applied to Apache HTTP, an open-source web server.
The study shows that coupling distance is related to the number of modifications of a component, which is an important indicator
of component fault rate, stability and subsequently, component complexity.
Liguo Yu received the Ph.D. degree in Computer Science from Vanderbilt University. He is an assistant professor of Computer and Information Sciences Department at Indiana University South Bend. Before joining IUSB, he was a visiting assistant professor at Tennessee Technological University. His research concentrates on software coupling, software maintenance, software reuse, software testing, software management, and open-source software development. Kai Chen received the Ph.D. degree from the Department of Electrical Engineering and Computer Science at Vanderbilt University. He is working at Google Incorporation. His current research interests include development and maintenance of open-source software, embedded software design, component-based design, model-based design, formal methods and model verification. Srini Ramaswamy earned his Ph.D. degree in Computer Science in 1994 from the Center for Advanced Computer Studies (CACS) at the University of Southwestern Louisiana (now University of Louisiana at Lafayette). His research interests are on intelligent and flexible control systems, behavior modeling, analysis and simulation, software stability and scalability. He is currently the Chairperson of the Department of Computer Science, University of Arkansas at Little Rock. Before joining UALR, he is the chairman of Computer Science Department at Tennessee Tech University. He is member of the Association of Computing Machinery, Society for Computer Simulation International, Computing Professionals for Social Responsibility and a senior member of the IEEE. 相似文献
Srini RamaswamyEmail: Email: |
Liguo Yu received the Ph.D. degree in Computer Science from Vanderbilt University. He is an assistant professor of Computer and Information Sciences Department at Indiana University South Bend. Before joining IUSB, he was a visiting assistant professor at Tennessee Technological University. His research concentrates on software coupling, software maintenance, software reuse, software testing, software management, and open-source software development. Kai Chen received the Ph.D. degree from the Department of Electrical Engineering and Computer Science at Vanderbilt University. He is working at Google Incorporation. His current research interests include development and maintenance of open-source software, embedded software design, component-based design, model-based design, formal methods and model verification. Srini Ramaswamy earned his Ph.D. degree in Computer Science in 1994 from the Center for Advanced Computer Studies (CACS) at the University of Southwestern Louisiana (now University of Louisiana at Lafayette). His research interests are on intelligent and flexible control systems, behavior modeling, analysis and simulation, software stability and scalability. He is currently the Chairperson of the Department of Computer Science, University of Arkansas at Little Rock. Before joining UALR, he is the chairman of Computer Science Department at Tennessee Tech University. He is member of the Association of Computing Machinery, Society for Computer Simulation International, Computing Professionals for Social Responsibility and a senior member of the IEEE. 相似文献
13.
14.
Web site scalability depends on several things - workload characteristics, security mechanisms, Web cluster architectures as we discussed previously. Another important item that can affect a site's performance and scalability is the Web server software architecture. We provide a classification of Web server architectures, offer a quantitative analysis of some possible software architectural options, and discuss the importance of software contention on overall response time. 相似文献
15.
Testing component-based software: a cautionary tale 总被引:1,自引:0,他引:1
Components designed for reuse are expected to lower costs and shorten the development life cycle, but this may not prove so simple. The author emphasizes the need to closely examine a problematic aspect of component reuse: the necessity and potential expense of validating components in their new environments 相似文献
16.
17.
Vieri del Bianco Luigi Lavazza Marco Mauri Giuseppe Occorso 《International Journal on Software Tools for Technology Transfer (STTT)》2007,9(2):179-192
UML-RT is achieving increasing popularity as a modeling language for real-time applications. Unfortunately UML-RT is not formally
well defined and it is not well suited for supporting the specification stage: e.g., it does not provide native constructs
to represent time and non-determinism. UML+ is an extension of UML that is formally well defined and suitable for expressing
the specifications of real-time systems (e.g., the properties of a UML+ model can be formally verified). However, UML+ does
not support design and development. This article addresses the translation of UML+ into UML-RT, thus posing the basis for
a development framework where UML+ and UML-RT are used together, in order to remove each other’s limitations. Specifications
are written using UML+, they are automatically verified by means of formal methods, and are then converted – through a semi-automatic
process – in an equivalent UML-RT model that becomes the starting point for the implementation. 相似文献
18.
M. Elizabeth C. Hull Peter N. Nicholl Philip Houston Niall Rooney 《Software - Concepts & Tools》2000,19(4):154-160
The ever increasing emphasis on distributed systems has led to advances in the client/server model and the emergence of component-based software development as an important paradigm in software engineering. Along with the new computer technologies it is necessary to reuse legacy code. Approaches to application development over, for example, the Internet are important if this is to be successful. This paper examines these issues and argues that incorporating the ideas of the component-based approach and reuse can significantly assist the application software developer. It demonstrates an approach through the development of an interactive/visual environment for component-based assembly. 相似文献
19.
基于组件的嵌入式软件开发方法 总被引:4,自引:2,他引:4
根据嵌入式软件的特点,提出一种以模型为中心、基于组件的嵌入式软件开发方法。它以动态数据流图为系统模型对嵌入式软件的功能和性能需求进行了描述,由此提供了强大的描述和分析能力;通过基于特定组件模型的实现结构和实现代码框架的自动生成,以DDF定义的系统可以被有效地分解为一系列独立的组件,合适的DDF调度算法一致地表示了系统组件的执行语义,使得并发开发的组件具有良好的可集成性。该方法充分考虑了嵌入式开发的特点,能有效地降低系统复杂性和支持系统组件的并发开发和复用,从而提高了开发效率并降低了开发成本。 相似文献
20.
Liu V. Gorton I. Fekete A. 《IEEE transactions on pattern analysis and machine intelligence》2005,31(11):928-941