Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
2003
…
11 pages
1 file
This paper discusses the representation and implementation of the Observer design pattern using aspect-oriented techniques. *
2015
Observer is a commonly used design pattern as it carries a lot of reusability and modularity concerns in objectoriented programming and represents a good example of design reuse. Implementing the observer design pattern (and several other design patterns) is known to typically cause several problems such as implementation overhead and traceability. In the literature, several approaches have been proposed to alleviate such problems. However, these approaches only considered the implementation of a specific scenario of the observer pattern, which is concerned with having a single subject with multiple observers. In addition, the code used to implement this pattern was scattered throughout the program, which complicated implementing, tracing and reusing them. In this paper, we: A) provide a systematic classification of all possible scenarios of the observer design pattern and B) introduce a novel approach to implement them using an expressive and easy-to-use construct in Java. The proposed observer construct is built as a language extension using the abc extensible compiler. We illustrate through several observer scenarios how the construct significantly simplifies the implementation and improves reusability.
2005
Nowadays, the object-oriented programming (OOP) is the dominant paradigm of software engineering. The solutions provided by OOP can be applied to facilitate creating well-structured program as well as the code reuse. That is the reason for its wide adoption and its relative dominance. The concept behind the OO approach is that the program under development consists of autonomous entities, so-called objects, whose functionality is realized by the communications of these objects.
Aspect-oriented programming is an extension to object-orientation with the goal of sep- arating the concerns of domain logic from application logic. The essay aims at look- ing at aspect-oriented from a theoretical perspective, trying to place it within the existing framework provided by object-orientation. The first section is an introduction to object- orientation. Here I will present the most common elements of object-orientation, and show the multifaceted terrain that object-orientation is. Concluding this first section I present two different ways of viewing object-orientation, trying to bring some order to the mate- rial presented that far. The second section deals with aspect-oriented programming. First I introduce the topic, and then I relate it to object-orientation actual implementations. Con- cluding I arguing for its relevance as a complimentary technique to be added to the object- orientation toolbox.
ECOOP'97Object- …, 1997
We have found many programming problems for which neither procedural nor object-oriented programming techniques are sufficient to clearly capture some of the important design decisions the program must implement. This forces the implementation of those design decisions to be scattered throughout the code, resulting in "tangled" code that is excessively difficult to develop and maintain. We present an analysis of why certain design decisions have been so difficult to clearly capture in actual code. We call the properties these decisions address aspects, and show that the reason they have been hard to capture is that they cross-cut the system's basic functionality. We present the basis for a new programming technique, called aspectoriented programming, that makes it possible to clearly express programs involving such aspects, including appropriate isolation, composition and reuse of the aspect code. The discussion is rooted in systems we have built using aspect-oriented programming. *
International Journal of Advanced Computer Science and Applications, 2013
Aspect-oriented programming (AOP) has been introduced as a potential programming approach for the specification of nonfunctional component properties, such as fault-tolerance, logging and exception handling. Such properties are referred to as crosscutting concerns and represent critical issues that conventional programming approaches could not modularize effectively leading to a complex code. This paper discusses AOP concept, the necessity that led to it, how it provides better results in code quality and software development efficiency, followed by stating challenges that developers and researchers face when dealing with this approach. It has been concluded that AOP is promising and deserves more attention from developers and researchers. However, more systematic evaluation studies should be conducted to better understand its implications.
Currently, the dominant programming paradigm is object-oriented programming—the idea that one builds a software system by decomposing a problem into objects and then writing the code of those objects. Such objects abstract together behavior and data into a single ...
Aspect oriented software development is an emerging software development technology that seeks new modularizations of software systems, in computing. Today typical enterprise and internet applications have to tackle “concerns” like security, transactional behavior, logging et al. Many important concerns often crosscut several objects and classes of object oriented systems. AOSD is a favorable model to promote improved separation of concerns, leading to the production of software systems that are easily maintainable. Nevertheless implementation wise AOSD has made remarkable progress and number of efficient technologies has been developed, but there is no satisfactory design solution for AOSD. This position paper presents an analysis of the design languages for aspect oriented programming paradigm. Keywords: Aspect Oriented Software development (AOSD), Aspect Oriented Design Language (AODL), Design language, Modeling Language.
1999
Building software from reusable components is considered important in reducing development costs. Object-oriented languages such as C++, Smalltalk and Java, however, are not capable of expressing certain aspects of applications in a reusable way. Software engineers may experience difficulties in composing and reusing applications from components, for example if components implement code for multiple views, dynamic inheritance and synchronization [6]. If these aspects have to be programmed, then object- ...
2020
CALL FOR PAPERS Excluding Diversity: At the Intersections of Anti-Immigrant and Anti-Gender Mobilizations Details and submission (deadline: 30/06/19): https://sites.uclouvain.be/ExcludingDiversity With this conference, our main goal is to establish a dialogue between scholars examining anti-immigrant political formations and those studying anti-gender mobilizations, and/or the public responses to them. We are interested in exploring more deeply the intersections and differences between these two exclusionary political trends in Europe and beyond, and we strive to make explicit the connections that may be underappreciated in these two different lines of research. We welcome in particular (but we are not limited to) works that explore the following topics: - The connections between the anti-immigrant discourse and gender/sexuality classifications. - Political discourse and policies concerned with migration by anti-gender actors in various countries. - Gender/sexuality discourse and policies by anti-immigrant parties in various countries. - Perceptions and ideologies of families uniting otherwise different political actors, social movement groups and networks. - Local, national and/or international communicative and political strategies of anti-immigrant and anti-gender political actors and formations in Europe and beyond. - Public support for anti-immigrant and anti-gender parties, policies and public discourses. - Public resistance/opposition to anti-immigrant and anti-gender parties, policies and public discourses.
Science and Engineering Ethics
Following other contributions about the MAX accidents to this journal, this paper explores the role of betrayal and moral injury in safety engineering related to the U.S. federal regulator’s role in approving the Boeing 737MAX—a plane involved in two crashes that together killed 346 people. It discusses the tension between humility and hubris when engineers are faced with complex systems that create ambiguity, uncertain judgements, and equivocal test results from unstructured situations. It considers the relationship between moral injury, principled outrage and rebuke when the technology ends up involved in disasters. It examines the corporate backdrop against which calls for enhanced employee voice are typically made, and argues that when engineers need to rely on various protections and moral inducements to ‘speak up,’ then the ethical essence of engineering—skepticism, testing, checking, and questioning—has already failed.
IntechOpen eBooks, 2023
Langfristperspektiven Archäologischer Stätten. Wissengeschischte und Forschungsgeleitete Konservierung, 2018
The Review of Modern Logic, 2001
2007
El liderazgo centrado en principios
Revista legislativa de estudios sociales y de opinión pública, 2020
Acta Horticulturae, 2010
Engineering for Human-Computer Interaction, 1999
Diseases of Aquatic Organisms, 1988
British journal of neurosurgery, 2020
41st Aerospace Sciences Meeting and Exhibit, 2003