首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 173 毫秒
1.
A software architecture centric engineering approach for Internetware   总被引:13,自引:0,他引:13  
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 pow- erful and flexible runtime infrastructure but also enables the self-adaptation of the structure and individual entities of Internetware.  相似文献   

2.
Understanding a software system at source-code level requires understanding the different concerns that it addresses, which in turn requires a way to identify these concerns in the source code. Whereas some concerns are explicitly represented by program entities (like classes, methods and variables) and thus are easy to identify, crosscutting concerns are not captured by a single program entity but are scattered over many program entities and are tangled with the other concerns. Because of their crosscutting nature, such crosscutting concerns are difficult to identify, and reduce the understandability of the system as a whole. In this paper, we report on a combined experiment in which we try to identify crosscutting concerns in the JHotDraw framework automatically. We first apply three independently developed aspect mining techniques to JHotDraw and evaluate and compare their results. Based on this analysis, we present three interesting combinations of these three techniques, and show how these combinations provide a more complete coverage of the detected concerns as compared to the original techniques individually. Our results are a first step towards improving the understandability of a system that contains crosscutting concerns, and can be used as a basis for refactoring the identified crosscutting concerns into aspects. M. Ceccato is a PhD student in ITC-irst in Trento, Italy. He received his degree in Software Engineering from the University of Padova, Italy, in 2003. The master thesis concerned the Re-engineering of an existing big-sized data warehouse application. The project was developed in the Information Technology department in Alcoa Servizi. His research interests are on source code analysis and manipulation, especially for the the migration of object-oriented code to aspect-oriented programming. He collaborates with King’s College London and Loyola College in Maryland on the automatic support for this migration process. He has been involved in the organization and in the program committee of a number of AOP-related events, such as Late Workshop, in Chicago (2005) and in Bonn, Germany (2006), held within the major Aspect Oriented Programming conference (AOSD) and 3rd European Workshop on Aspects in Software (EWAS’06) in Enschede, The Netherlands. Marius Marin is a Ph.D. researcher in the Software Evolution Reseach Laboratory at Delft University of Technology, the Netherlands. He was granted an engineering degree by the Technical University of Civil Engineering, Bucharest, in 2000, and Licentiate in Economic Computer Science from the Academy of Economic Studies, Bucharest, in 2002. Before starting his Ph.D. studies, he worked as a software engineer in industry. His main research interests are in the area of reverse engineering, software modularization and modeling, and aspect-oriented software development. He is the main author of the publicly available aspect mining tool FINT and he publishes at international conferences in the aforementioned topics. He has been involved in program- and organizing committees of several workshops related to aspect mining. Kim Mens obtained his Ph.D. in Computer Science at the Vrije Universiteit Brussel, on “architectural conformance checking,” for which he used a declarative meta-programming approach. After his Ph.D. he became a full-time professor (chargé de cours) at the Université catholique de Louvain-la-Neuve (UCL). In addition to his current interest in logic meta-programming and intensional views, Kim Mens is one of the originators of the reuse contracts technique for automatically detecting conflicts in evolving software. He has been formally involved in several research networks related to software evolution. He has a strong interest in object-oriented and aspect-oriented software development and has actively participated in the organization of several workshops and conferences on those topics. He combines all these different research interests under the common denominator of co-evolution (between source code and earlier life-cycle software artifacts). Other research topics that fit this common theme and in which he is interested are software architecture, software maintenance, reverse engineering, software transformation, software restructuring and renovation, aspect mining and evolution of aspect programs. L. Moonen is an assistant professor in the Software Evolution Research Lab at Delft University of Technology and a researcher at the Centre for Mathematics and Computer Science (CWI), the Netherlands. His research interests are the design and development of advanced program analysis tools and techniques that support development, maintenance and evolution of large software systems. Concrete topics include the reverse engineering and exploration of views on software systems and their use for understanding and assessing software quality attributes such as evolvability, reliability and security. Dr. Moonen received an MSc (cum laude, Computer Science, 1996) and PhD (Computer Science, 2002) from the University of Amsterdam. He is one of the founders of the Software Improvement Group, a company that specializes in tools and consultancy to help organizations solve their legacy problems. He publishes regularly at, and serves on organizing-, steering- and program committees of, international workshops and conferences on reverse engineering (WCRE), source code analysis (SCAM), software maintenance (ICSM), program understanding (ICPC), reengineering (CSMR), aspect mining (Dagstuhl 06302, TEAM) and software security (CoBaSSA). Paolo Tonella is a senior researcher at ITC-irst, Trento, Italy. He received his laurea degree cum laude in Electronic Engineering from the University of Padova, Italy, in 1992, and his Ph.D. degree in Software Engineering from the same University, in 1999, with the thesis “Code Analysis in Support to Software Maintenance.” Since 1994 he has been a full time researcher of the Software Engineering group at ITC-irst. He participated in several industrial and European Community projects on software analysis and testing. He is the author of “Reverse Engineering of Object Oriented Code,” Springer, 2005. His current research interests include reverse engineering, aspect oriented programming, empirical studies, Web applications and testing. Tom Tourwé obtained the degree of Licentiate in Computer Science in 1997 and Ph.D. in Science in 2002 at the Vrije Universiteit Brussel. He is currently associated to the Centrum voor Wiskunde en Informatica, based in Amsterdam, The Netherlands, where he works as a post- doctoral researcher in the Ideals project. His main research interests lie in the broad area of software engineering, and include aspect-oriented software evolution and re-engineering in particular. He published several peer-reviewed articles on these topics in international journals and conferences, and organised a number of workshops on those themes.  相似文献   

3.
Aspect-Oriented Software Development promotes the separation of those concerns that cut across several components and/or are tangled with the base functionality of a component, through all phases of the software lifecycle. The benefit of identifying these crosscutting concerns (aspects) at the architectural level in particular is to improve the architecture design and its subsequent evolution, before moving onto detailed design and implementation. However, software architects are not usually experts on using specific AO architecture notations. Therefore, the aim of this paper is to provide support to define and specify aspect-oriented (AO) architectures using non-AO ones as the source. We will use the Model-Driven Development approach to transform a component-based architecture model into an AO architecture model. The CAM (component and aspect model) model and the DAOP–ADL language are the proposals used for modelling and specifying AO architectures. We will show how we automated part of the process and the tool support.  相似文献   

4.
Separation logic provides a simple but powerful technique for reasoning about low-level imperative programs that use shared data structures. Unfortunately, separation logic supports only “strong updates,” in which mutation to a heap location is safe only if a unique reference is owned. This limits the applicability of separation logic when reasoning about the interaction between many high-level languages (e.g., ML, Java, C#) and low-level ones since the high-level languages do not support strong updates. Instead, they adopt the discipline of “weak updates,” in which there is a global “heap type” to enforce the invariant of type-preserving heap updates. We present SL w , a logic that extends separation logic with reference types and elegantly reasons about the interaction between strong and weak updates. We describe a semantic framework for reference types, which is used to prove the soundness of SL w . Finally, we show how to extend SL w with concurrency.  相似文献   

5.
面向方面的体系结构描述语言AC2-ADL   总被引:1,自引:0,他引:1  
体系结构描述语言(ADL)是基于体系结构的软件开发的基础,传统的ADL由于缺乏对混杂与分散在软件体系结构多个单元中的各种设计决策的描述能力,导致软件体系结构设计方案难以理解、难以演化和难以重用.通过设计面向方面的软件体系结构描述语言AC2-ADL,使用方面组件明确地描述系统的横切关注点;并引入方面连接件以及抽象出软件体系结构语境中的注入点,呈现结构之间复杂的交互,以解决不同关注点的分散和交织等问题,试图为设计和描述面向方面的软件系统的软件体系结构提供一种有效的解决方案.研究结合电子商务领域的网上拍卖系统,讨论了该语言的主要应用过程,具有一定的参考作用.  相似文献   

6.
面向方面体系结构建模是面向方面软件开发(AOSD)的重要组成部分,也是近些年面向方面领域研究的热点问题。传统的软件体系结构设计方法没有单独地考虑横切关注点。因此,在软件体系结构设计阶段,建模人员需要新的机制来描述这些横切关注点。本文首先提出一个以横切为中心的面向方面体系结构概念框架;然后通过在体系结构设计阶段引入该框架中的核心概念,提出一种在体系结构设计阶段建模横切关注点的方法,从而支持其在早期进行横切关注点的分离。  相似文献   

7.
面向方面程序设计是近年来提出的一种程序设计技术,通过将横切关注点封装成Aspect,实现软件系统复杂性的降低,系统可维护性和可扩展性的提高。Aspect挖掘的目标是识别遗产系统中的横切关注点,为遗产系统的面向方面改造提供支持。文章提出了一种改进的基于活动轨迹的Aspect挖掘方法,基于横切关注点具有不同的调用上下文等约束寻找方法调用轨迹中相同的方法调用模式。通过实例说明该方法提高了候选Aspect的查全率。  相似文献   

8.
Jin-Ho Park interprets Schindler’s “reference frames in space” as set forth in his 1916 lecture note on mathematics, proportion, and architecture, in the context of Robinson’s1898–99 articles in the Architectural Record. Schindler’s unpublished, handwritten notes provide a source for his concern for “rhythmic” dimensioning in architecture. He uses a system in which rectangular dimensions are arranged in “rows.” Architectural examples of Schindler’s Shampay, Braxton-Shore and How Houses illustrate the principles.  相似文献   

9.
We introduce nondeterministic graph searching with a controlled amount of nondeterminism and show how this new tool can be used in algorithm design and combinatorial analysis applying to both pathwidth and treewidth. We prove equivalence between this game-theoretic approach and graph decompositions called q -branched tree decompositions, which can be interpreted as a parameterized version of tree decompositions. Path decomposition and (standard) tree decomposition are two extreme cases of q-branched tree decompositions. The equivalence between nondeterministic graph searching and q-branched tree decomposition enables us to design an exact (exponential time) algorithm computing q-branched treewidth for all q≥0, which is thus valid for both treewidth and pathwidth. This algorithm performs as fast as the best known exact algorithm for pathwidth. Conversely, this equivalence also enables us to design a lower bound on the amount of nondeterminism required to search a graph with the minimum number of searchers. Additional support of F.V. Fomin by the Research Council of Norway. Additional supports of P. Fraigniaud from the INRIA Project “Grand Large”, and from the Project PairAPair of the ACI “Masse de Données”. Additional supports of N. Nisse from the Project Fragile of the ACI “Sécurité & Informatique”.  相似文献   

10.
Summary. This paper proposes a framework for detecting global state predicates in systems of processes with approximately-synchronized real-time clocks. Timestamps from these clocks are used to define two orderings on events: “definitely occurred before” and “possibly occurred before”. These orderings lead naturally to definitions of 3 distinct detection modalities, i.e., 3 meanings of “predicate held during a computation”, namely: (“ possibly held”), (“ definitely held”), and (“ definitely held in a specific global state”). This paper defines these modalities and gives efficient algorithms for detecting them. The algorithms are based on algorithms of Garg and Waldecker, Alagar and Venkatesan, Cooper and Marzullo, and Fromentin and Raynal. Complexity analysis shows that under reasonable assumptions, these real-time-clock-based detection algorithms are less expensive than detection algorithms based on Lamport's happened-before ordering. Sample applications are given to illustrate the benefits of this approach. Received: January 1999 / Accepted: November 1999  相似文献   

11.
Process mining includes the automated discovery of processes from event logs. Based on observed events (e.g., activities being executed or messages being exchanged) a process model is constructed. One of the essential problems in process mining is that one cannot assume to have seen all possible behavior. At best, one has seen a representative subset. Therefore, classical synthesis techniques are not suitable as they aim at finding a model that is able to exactly reproduce the log. Existing process mining techniques try to avoid such “overfitting” by generalizing the model to allow for more behavior. This generalization is often driven by the representation language and very crude assumptions about completeness. As a result, parts of the model are “overfitting” (allow only for what has actually been observed) while other parts may be “underfitting” (allow for much more behavior without strong support for it). None of the existing techniques enables the user to control the balance between “overfitting” and “underfitting”. To address this, we propose a two-step approach. First, using a configurable approach, a transition system is constructed. Then, using the “theory of regions”, the model is synthesized. The approach has been implemented in the context of ProM and overcomes many of the limitations of traditional approaches.  相似文献   

12.
面向方面的软件体系结构描述语言AO-ADL   总被引:1,自引:0,他引:1       下载免费PDF全文
分析面向方面编程(AOP)的核心思想及其优越性,将编码阶段的AOP概念进一步提升到软件体系结构层次。在软件体系结构描述语言XYZ/ADL的基础上,通过增加新的元素和相关复合机制,得到一种面向方面的体系结构描述语言AO-ADL,实现了在软件体系结构中横切功能的模块化。  相似文献   

13.
An elementary and unified approach to program correctness   总被引:1,自引:0,他引:1  
We present through the algorithmic language DHL (Dijkstra-Hehner language), a practical approach to a simple first order theory based on calculational logic, unifying Hoare and Dijkstra’s iterative style of programming with Hehner’s recursive predicative programming theory, getting the “best of the two worlds” and without having to recur in any way to higher-order approaches such as predicate transformers, Hoare logic, fixed-point or relational theory.  相似文献   

14.
We present a design approach for manipulative technologies that consider “user diversity” as a main lever for design. Different dimensions of “diversity” are considered, e.g., the users' age, abilities, culture, cultural background, and alphabetization. These dimensions drive the development of a user-centered design process for manipulative technologies for learning and play environments. In particular, we explore the possibility of allowing young children to develop and interact with virtual/physical worlds by manipulating physical objects in different contexts, like the classroom, the hospital, or the playground. In our scenarios, we consider children with different abilities (fully able, physically impaired, or with cognitive delays), in different cultures (Denmark, Tanzania, and Italy), and with a different level of alphabetization. The needs and expectations of such heterogeneous user-groups are taken into account through a user-centered design process to define a concept of tangible media for collaborative and distributed edutainment environments. The concept is implemented as a set of building blocks called I-Blocks with individual processing and communication power. Using the I-Blocks system, children can do “programming by building,” and thereby construct interacting artefacts in an intuitive manner without the need to learn and use traditional programming languages. Here, we describe in detail the technology of I-Blocks and discuss lessons learned from “designing for diversity.”  相似文献   

15.
BOSS QUATTRO: an open system for parametric design   总被引:1,自引:0,他引:1  
During the two past decades, engineers have shown growing interest in automatic structural optimization techniques. These were first used to solve analytical problems and were then rapidly adapted to structural sizing problems coupled to finite element analysis software. Moreover, shape optimization problems featuring complex CAD systems were addressed in the early 90’s. This article describes the capabilities of the optimization product developed by SAMTECH S.A. in Liège, Belgium. One will read here what led the company and a group of research engineers at LTAS (Laboratoire des Techniques Aéronautiques et Spatiales, Université de Liège) to the achievement of a so-called open system for parametric design. The BOSS/Quattro package is a general-purpose design program. It includes several “engines”: optimization, parametric studies, “Monte-Carlo” studies, “design of experiments” and updating. It is interesting to note that the “engines” can be easily mixed through the graphical user interface (GUI), and, this, with several analysis models. Received December 30, 2000  相似文献   

16.
Design and analysis of a video-on-demand server   总被引:6,自引:0,他引:6  
The availability of high-speed networks, fast computers and improved storage technology is stimulating interest in the development of video on-demand services that provide facilities similar to a video cassette player (VCP). In this paper, we present a design of a video-on-demand (VOD) server, capable of supporting a large number of video requests with complete functionality of a remote control (as used in VCPs), for each request. In the proposed design, we have used an interleaved storage method with constrained allocation of video and audio blocks on the disk to provide continuous retrieval. Our storage scheme interleaves a movie with itself (while satisfying the constraints on video and audio block allocation. This approach minimizes the starting delay and the buffer requirement at the user end, while ensuring a jitter-free display for every request. In order to minimize the starting delay and to support more non-concurrent requests, we have proposed the use of multiple disks for the same movie. Since a disk needs to hold only one movie, an array of inexpensive disks can be used, which reduces the overall cost of the proposed system. A scheme supported by our disk storage method to provide all the functions of a remote control such as “fast-forwarding”, “rewinding” (with play “on” or “off”), “pause” and “play” has also been discussed. This scheme handles a user request independent of others and satisfies it without degrading the quality of service to other users. The server design presented in this paper achieves the multiple goals of high disk utilization, global buffer optimization, cost-effectiveness and high-quality service to the users.  相似文献   

17.
The paper identifies a problem in default reasoning in Reiter’s Default Logic and related systems: elements which are similar given the axioms only, become distinguishable in extensions. We explain why, sometimes, this is considered undesirable. Two approaches are presented for guaranteeing similarity preservation: One approach formalizes a way of uniformly applying the defaults to all similar elements by introducing generic extensions, which depend only on similarity types of objects. According to the second approach, for a restricted class of default theories, a default theory is viewed as a “shorthand notation” to what is “really meant” by its formulation. In this approach we propose a rewriting of defaults in a form that guarantees similarity preservation of the modified theory. It turns out that the above two approaches yield the same result. This revised version was published online in June 2006 with corrections to the Cover Date.  相似文献   

18.
Although “User-Centred”, “Participatory”, and other similar design approaches have proved to be very valuable for mainstream design, their principles are more difficult to apply successfully when the user group contains, or is composed of, older and/or disabled users. In the field of design for older and disabled people, the “Universal Design”, “Inclusive Design” and “Design for All” movements have encouraged designers to extend their design briefs to include older and disabled people. The downside of these approaches is that they can tend to encourage designers to follow a traditional design path to produce a prototype design, and only then investigate how to modify their interfaces and systems to cope with older and/or disabled users. This can lead to an inefficient design process and sometimes an inappropriate design, which may be “accessible” to people with disabilities, but in practice unusable. This paper reviews the concept that the authors have called “User-Sensitive Inclusive Design”, which suggests a different approach to designing for marginalised groups of people. Rather than suggesting that designers rely on standards and guidelines, it is suggested that designers need to develop a real empathy with their user groups. A number of ways to achieve this are recommended, including the use of ethnography and techniques derived from professional theatre both for requirements gathering and for improving designers’ empathy for marginalised groups of users, such as older and disabled people.  相似文献   

19.
Shannon’s information quantity I(E) = log(1/P(E)) is defined under an assumption of the existence of a “cognitive subjective entity” capable of judging yes/no or occurred/not-occurred of an event E (which occurs with a probability P(E)). The final acceptor/user of information is a living individual, although first and/or intermediate sender(s) and/or acceptor(s) of information may be either living individual(s) or nonliving element(s) or man-made machine(s). Therefore we can conclude that information is a most essential character of living individuals, and that information and life must have emerged simultaneously as a “minimum cognitive system” (MCS). Since then, living individuals/lives must have evolved as “self-revising learning neural network machines” capable of “active evolution”. How MCS could have emerged was discussed.  相似文献   

20.
Previous work on semantics-based multi-stage programming (MSP) language design focused on homogeneous designs, where the generating and the generated languages are the same. Homogeneous designs simply add a hygienic quasi-quotation and evaluation mechanism to a base language. An apparent disadvantage of this approach is that the programmer is bound to both the expressivity and performance characteristics of the base language. This paper proposes a practical means to avoid this by providing specialized translations from subsets of the base language to different target languages. This approach preserves the homogeneous “look” of multi-stage programs, and, more importantly, the static guarantees about the generated code. In addition, compared to an explicitly heterogeneous approach, it promotes reuse of generator source code and systematic exploration of the performance characteristics of the target languages. To illustrate the proposed approach, we design and implement a translation to a subset of C suitable for numerical computation, and show that it preserves static typing. The translation is implemented, and evaluated with several benchmarks. The implementation is available in the online distribution of MetaOCaml.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号