Results 1 - 10
of
74
A Formal Ontology of Properties
, 2000
"... A common problem of ontologies is that their taxonomic ..."
Abstract
-
Cited by 109 (11 self)
- Add to MetaCart
A common problem of ontologies is that their taxonomic
Aspectual Feature Modules
- IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
, 2008
"... Two programming paradigms are gaining attention in the overlapping fields of software product lines (SPLs) and incremental software development (ISD). Feature-oriented programming (FOP) aims at large-scale compositional programming and feature modularity in SPLs using ISD. Aspect-oriented programmin ..."
Abstract
-
Cited by 47 (34 self)
- Add to MetaCart
Two programming paradigms are gaining attention in the overlapping fields of software product lines (SPLs) and incremental software development (ISD). Feature-oriented programming (FOP) aims at large-scale compositional programming and feature modularity in SPLs using ISD. Aspect-oriented programming (AOP) focuses on the modularization of crosscutting concerns in complex software. Although feature modules, the main abstraction mechanisms of FOP, perform well in implementing large-scale software building blocks, they are incapable of modularizing certain kinds of crosscutting concerns. This weakness is exactly the strength of aspects, the main abstraction mechanisms of AOP. We contribute a systematic evaluation and comparison of FOP and AOP. It reveals that aspects and feature modules are complementary techniques. Consequently, we propose the symbiosis of FOP and AOP and aspectual feature modules (AFMs), a programming technique that integrates feature modules and aspects. We provide a set of tools that support implementing AFMs on top of Java and C++. We apply AFMs to a nontrivial case study demonstrating their practical applicability and to justify our design choices.
When to Use Features and Aspects? A Case Study
- In Proc. Int’l Conf. Generative Programming and Component Engineering (GPCE
, 2006
"... Aspect-Oriented Programming (AOP) and Feature-Oriented Programming (FOP) are complementary technologies that can be combined to overcome their individual limitations. Aspectual Mixin Layers (AML) is a representative approach that unifies AOP and FOP. We use AML in a non-trivial case study to create ..."
Abstract
-
Cited by 29 (12 self)
- Add to MetaCart
Aspect-Oriented Programming (AOP) and Feature-Oriented Programming (FOP) are complementary technologies that can be combined to overcome their individual limitations. Aspectual Mixin Layers (AML) is a representative approach that unifies AOP and FOP. We use AML in a non-trivial case study to create a product line of overlay networks. We also present a set of guidelines to assist programmers in how and when to use AOP and FOP techniques for implementing product lines in a stepwise and generative manner.
Role = Interface: A merger of concepts
, 2001
"... Interfaces are a prominent OO programming concept, since they allow the decoupling of specification and implementation. Roles, on the other hand, are a popular OO modeling concept. For example, UML has rolenames, classifier roles, association roles, and association end roles. Although roles and inte ..."
Abstract
-
Cited by 25 (6 self)
- Add to MetaCart
Interfaces are a prominent OO programming concept, since they allow the decoupling of specification and implementation. Roles, on the other hand, are a popular OO modeling concept. For example, UML has rolenames, classifier roles, association roles, and association end roles. Although roles and interfaces appear unrelated at first glance, it is shown that they have much in common in fact, with a few changes in definition, the two concepts can be merged into one.
A Role-Based Metamodeling Approach to Specifying Design Patterns
- In Proceedings of the 27th IEEE Annual International Computer Software and Applications Conference(COMPSAC
, 2003
"... Design patterns describe solutions to recurring design problems in the development of software designs. To encourage the use of design patterns, we are investigating tool support for incorporating patterns into UML models. The development of such tools requires patterns to be specified at the metamo ..."
Abstract
-
Cited by 18 (13 self)
- Add to MetaCart
Design patterns describe solutions to recurring design problems in the development of software designs. To encourage the use of design patterns, we are investigating tool support for incorporating patterns into UML models. The development of such tools requires patterns to be specified at the metamodel level. Patterns may be specified using roles, where a role is played by model elements. However, the notion of role in the object-oriented community is strictly based on objects, and does not allow the use of the word “role ” in any other place where the context is not object-based. In this paper, we propose a notion of role that can be used to specify design patterns at the metamodel level. We survey the characteristics of object-based roles and generalize them. Based on the generalized notion of a role we define a new notion of a model role which is played by a model element. We illustrate the use of model roles with a specification of a variant of the Observer design pattern.
Epistemology and Ontology in Core Ontologies: FOLaw and LRI-Core, two core ontologies for law
- In Proceedings of the EKAW04 Workshop on Core Ontologies in Ontology Engineering
, 2004
"... For more than a decade constructing ontologies for legal domains, we, at the Leibniz Center for Law, felt really the need to develop a core ontology for law that would enable us to re-use the common denominator of the various legal domains. In this paper we present two core ontologies for law. Th ..."
Abstract
-
Cited by 18 (4 self)
- Add to MetaCart
For more than a decade constructing ontologies for legal domains, we, at the Leibniz Center for Law, felt really the need to develop a core ontology for law that would enable us to re-use the common denominator of the various legal domains. In this paper we present two core ontologies for law. The first one was the result of a PhD thesis by [Valente, 1995], called FOLaw. FOLaw specifies functional dependencies between types of knowledge involved in legal reasoning. Despite the fact that FOLaw was the starting point for a number of ontologies and legal reasoning systems in various (European) projects, it is rather an epistemological framework than a (core) ontology. We are not the only ones who easily confound epistemology with ontology. In the paper we present some examples and discuss whether this epistemological promiscuity in (core) ontology development is a serious problem. It is to some extent, as it limits the scope of re-use (if not leading to confusion). Therefore, we started about four years ago the development of a `real' core-ontology for law based upon notions of common sense. The reason for a common-sense foundation is that domain independent concepts of law -- the common denominator -- are still tainted with a strong common-sense flavor. Moreover, domains of law refer to social activities which are generally governed by common-sense notions. This core ontology, called LRI-Core, consists of five major portions (`worlds'): physical, mental and abstract classes; roles and occurrences.
Interaction between Objects in powerJava
- JOURNAL OF OBJECT TECHNOLOGY
, 2003
"... In this paper we start from the consideration that high level interaction between entities like web services has very different properties with respect to the interaction between objects at the lower level of programming languages in the object oriented paradigm. In particular, web services, for sec ..."
Abstract
-
Cited by 17 (10 self)
- Add to MetaCart
In this paper we start from the consideration that high level interaction between entities like web services has very different properties with respect to the interaction between objects at the lower level of programming languages in the object oriented paradigm. In particular, web services, for security, usability and user adaptability reasons, offer different operations to different users by means of access control and keep track of the state of the interaction with each user by means of sessions. The current vision in object orientation, instead, considers attributes and operations of objects as being objective and independent from the interaction with another object, which is sessionless. To introduce these features in the interaction between objects directly in object oriented programming languages, we take inspiration from how access control is regulated by means of roles. Roles allow objects to offer different operations depending on the type of the role, of the type and identity of the player of the role, and to define session-aware interaction. We start from a definition of roles given in ontologies and knowledge representation and we discuss how this definition of roles can be introduced in Java, building our language powerJava.
An agent oriented ontology of social reality
- In Procs. of FOIS’04
, 2004
"... Abstract. In this paper we introduce an ontology based on the notion of agent to represent and reason about social reality. We model social constructions as agents, for example, groups, organizations, normative systems, and roles, and we attribute mental attitudes to them. Roughly, we define obligat ..."
Abstract
-
Cited by 16 (13 self)
- Add to MetaCart
Abstract. In this paper we introduce an ontology based on the notion of agent to represent and reason about social reality. We model social constructions as agents, for example, groups, organizations, normative systems, and roles, and we attribute mental attitudes to them. Roughly, we define obligations or regulative norms as goals of the normative system, constitutive norms as beliefs of the normative system, joint, shared, mutual and social beliefs, desires and goal as beliefs, desires and goals of group, responsibilities of an agent as goals of the role he plays, and the required expertise of an agent as beliefs and actions of the role he plays. In this way, we achieve a uniform framework for a large variety of concepts using a small vocabulary, and, in particular, basing it on notions, like mental attitudes, which are commonly used in agent theories. The proposed ontology is modelled using a description logic. 1
Representing Roles and Purpose
, 2001
"... Ontology designers often distinguish Entities (things that are) from Events (things that happen). It is not obvious how this division admits Roles (things that are, but only in the context of things that happen). For example, Person might be considered an Entity, while Employee is a Role. A Person r ..."
Abstract
-
Cited by 14 (0 self)
- Add to MetaCart
Ontology designers often distinguish Entities (things that are) from Events (things that happen). It is not obvious how this division admits Roles (things that are, but only in the context of things that happen). For example, Person might be considered an Entity, while Employee is a Role. A Person remains a Person independent of the Events in which he participates. Someone is an Employee only by virtue of participating in an Employment Event. The problem of how to represent Roles is not new, but there is little consensus on a solution. In this paper, we present an ontology that finds a place for Roles as well as a representation that allows Roles to be related to Entities and Events to express the teleological notion of purpose. Keywords roles; ontologies; teleology Background One of the challenge problems in DARPA's Rapid Knowledge Formation project requires subject matter experts (SME's) with little training in knowledge engineering to build a knowledge base of information from a college-level textbook on cell biology. The knowledge base will be evaluated on its ability to answer a large set of questions drawn from standard test banks, such as the GRE subject exam (a graduate school admissions test) and questions from the end of book chapters. Our goal is to develop ways to help SME's succeed. One of our chief concerns for this challenge problem is developing good ways to represent the wide variety of types of knowledge expressed in textbooks. Many knowledge engineering projects can focus on just a few types of knowledge -- for example, building a knowledge base about aircraft might focus exclusively on structure and partonomy -- because the questions they are intended to answer are relatively limited. However, textbook knowledge and the questions we expect Permi...
Domain Models are Aspect Free
- MODELS/UML 2005 (SPRINGER
, 2005
"... Proponents of aspect orientation have successfully seeded the impression that aspects—like objects—are so fundamental a notion that they should pervade all phases and artefacts of the software development process. Aspect orientation has therefore proliferated from programming to design to analysis ..."
Abstract
-
Cited by 14 (2 self)
- Add to MetaCart
Proponents of aspect orientation have successfully seeded the impression that aspects—like objects—are so fundamental a notion that they should pervade all phases and artefacts of the software development process. Aspect orientation has therefore proliferated from programming to design to analysis to requirements, sparing neither software processes nor their favourite languages. Since modelling plays an important role in software engineering, much effort is currently being invested in making modelling languages aspect ready. However, based on an observed lack of examples for domain level (or functional) aspects this paper argues the case against the omnipresence of aspects, particularly the existence of aspects in domain models, and offers some informal arguments as well as a semiformal proof in favour of the claims made.

