排序方式: 共有19条查询结果,搜索用时 0 毫秒
1.
Differencing and merging of architectural views 总被引:1,自引:0,他引:1
Marwan Abi-Antoun Jonathan Aldrich Nagi Nahas Bradley Schmerl David Garlan 《Automated Software Engineering》2008,15(1):35-74
Differencing and merging architectural views is an important activity in software engineering. However, existing approaches
are still based on restrictive assumptions, such as requiring view elements to have unique identifiers or exactly matching
types, which is often not the case in many application domains.
We propose an approach based on structural information. We generalize a published polynomial-time tree-to-tree correction
algorithm that detects inserts, renames and deletes, into a novel algorithm that additionally detects restricted moves. Our
algorithm also supports forcing and preventing matches between view elements.
We incorporate the algorithm into tools to compare and merge Component-and-Connector (C&C) architectural views. We provide
an empirical evaluation of the algorithm. We illustrate the tools using extended examples, and use them to detect and reconcile
interesting differences between real architectural views.
This article is an expanded version of the following paper: Abi-Antoun, M., Aldrich, J., Nahas, N., Schmerl, B., and Garlan, D:
2006, ‘Differencing and Merging of Architectural Views’. In: Proceedings of the 21st IEEE International Conference on Automated Software Engineering, pp. 47–58. 相似文献
2.
3.
Architectural styles, design patterns, and objects 总被引:3,自引:0,他引:3
Architectural styles, object-oriented design and design patterns all hold promise as approaches that simplify software design and reuse by capturing and exploiting system design knowledge. This article explores the capabilities and roles of the various approaches, their strengths and their limitations 相似文献
4.
Agents of change: educating software engineering leaders 总被引:1,自引:0,他引:1
Most professional degree programs for software engineering focus on solving today's problems with today's technologies. Carnegie Mellon's Master of Software Engineering program takes a different approach, preparing engineers to work with new science and technology throughout their careers and helping them become agents of change in the industry. The approach aims to cultivate future leaders in software engineering. It combines a long-term, mentored software development project with an unusual core curriculum that stresses broad-based models and problem-solving skills 相似文献
5.
Using tool abstraction to compose systems 总被引:1,自引:0,他引:1
The tool abstraction paradigm, which supports the evolution of large-scale software systems by easing design changes in the system functions, is discussed. Systems that support tool abstraction are structured as a pool of abstract data structures shared by a collection of cooperating `toolies', where each toolie provides a piece of the overall system function. When one toolie updates the shared data, other toolies must be notified: otherwise, cooperating-but-independent toolies may not execute, and the overall system function may be compromised. The KWIC (key word in context) index production system is used to illustrate the idea of tool abstraction. The relationship of tool abstraction to other concepts is examined 相似文献
6.
Implicit invocation [SuN92, GaN91] has become an important architectural style for large-scale system design and evolution.
This paper addresses the lack of specification and verification formalisms for such systems. A formal computational model
for implicit invocation is presented. We develop a verification framework for implicit invocation that is based on Jones'
rely/guarantee reasoning for concurrent systems [Jon83, St?91]. The application of the framework is illustrated with several
examples. The merits and limitations of the rely/guarantee paradigm in the context of implicit invocation systems are also
discussed.
Received August 1997 / Accepted in revised form June 1998 相似文献
7.
Cmara Javier Troya Javier Vallecillo Antonio Bencomo Nelly Calinescu Radu Cheng Betty H. C. Garlan David Schmerl Bradley 《Software and Systems Modeling》2022,21(4):1277-1294
Software and Systems Modeling - The problem of mitigating uncertainty in self-adaptation has driven much of the research proposed in the area of software engineering for self-adaptive systems in... 相似文献
8.
Sousa J.P. Poladian V. Garlan D. Schmerl B. Shaw M. 《IEEE transactions on systems, man and cybernetics. Part C, Applications and reviews》2006,36(3):328-340
An important domain for autonomic systems is the area of ubiquitous computing: users are increasingly surrounded by technology that is heterogeneous, pervasive, and variable. In this paper we describe our work in developing self-adapting computing infrastructure that automates the configuration and reconfiguration of such environments. Focusing on the engineering issues of self-adaptation in the presence of heterogeneous platforms, legacy applications, mobile users, and resource variable environments, we describe a new approach based on the following key ideas: 1) explicit representation of user tasks allows us to determine what service qualities are required of a given configuration; 2) decoupling task and preference specification from the lower level mechanisms that carry out those preferences provides a clean engineering separation of concerns between what is needed and how it is carried out; and 3) efficient algorithms allow us to calculate in real time near-optimal resource allocations and reallocations for a given task. 相似文献
9.
10.
Rainbow: architecture-based self-adaptation with reusable infrastructure 总被引:10,自引:0,他引:10
While attractive in principle, architecture-based self-adaptation raises a number of research and engineering challenges. First, the ability to handle a wide variety of systems must be addressed. Second, the need to reduce costs in adding external control to a system must be addressed. Our rainbow framework attempts to address both problems. By adopting an architecture-based approach, it provides reusable infrastructure together with mechanisms for specializing that infrastructure to the needs of specific systems. The specialization mechanisms let the developer of self-adaptation capabilities choose what aspects of the system to model and monitor, what conditions should trigger adaptation, and how to adapt the system. 相似文献