共查询到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.
M. Ceccato M. Marin K. Mens L. Moonen P. Tonella T. Tourwé 《Software Quality Journal》2006,14(3):209-231
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.
《Information and Software Technology》2008,50(12):1248-1265
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.
Scott D. Stoller 《Distributed Computing》2000,13(2):85-98
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.
W. M. P. van der Aalst V. Rubin H. M. W. Verbeek B. F. van Dongen E. Kindler C. W. Günther 《Software and Systems Modeling》2010,9(1):87-111
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.
13.
An elementary and unified approach to program correctness 总被引:1,自引:0,他引:1
Jaime A. Bohórquez V 《Formal Aspects of Computing》2010,22(5):611-627
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.
Rachel Ben-Eliyahu-Zohary Nissim Francez Michael Kaminski 《Annals of Mathematics and Artificial Intelligence》1999,25(1-2):137-160
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.
A. F. Newell P. Gregor M. Morgan G. Pullin C. Macaulay 《Universal Access in the Information Society》2011,10(3):235-243
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.
Koji Ohnishi 《Artificial Life and Robotics》2012,16(4):448-454
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.
Jason Eckhardt Roumen Kaiabachev Emir Pasalic Kedar Swadi Walid Taha 《New Generation Computing》2007,25(3):305-336
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. 相似文献