Papers by John Mylopoulos
Abstract In this position statement, we outline a new theoretical framework of the distribution o... more Abstract In this position statement, we outline a new theoretical framework of the distribution of design requirements processes. Building upon the Theory of Distributed Cognition, we characterize contemporary requirements efforts as distributed cognitive systems in which elements of a design vision are distributed socially, structurally, and temporally. We discuss the various forms of distribution observed in real-world systems development projects and the processes by which representational states are propagated through the system.
Adherence to laws and regulations imposes important constraints on organizations, for legacy and ... more Adherence to laws and regulations imposes important constraints on organizations, for legacy and new systems, both for their design and operation. Nòmos is a framework that supports the development of compliant software systems. In this paper, we report on the application of Nòmos in an industrial project, to provide model-based evidence that a set of requirements for a healthcare information system are compliant with a specific law.
The problem of polysemy involves having terms, such as "truck", that refer to multiple concepts i... more The problem of polysemy involves having terms, such as "truck", that refer to multiple concepts in different contexts; and conversely, having the same concept referred to with different names in different contexts. Contexts may be defined along different dimensions, such as language (Italian, English, French, ...), domain (Philosophy, Computer Science, Physics, ...), time (Ancient Greece, 20th century, ...) etc. Given a conceptual model M (aka ontology), a context C and a query Q we motivate and propose algorithms for interpreting all the terms of the query with respect to M and C. We also define and solve the inverse problem: given a set of concepts S which are part of the answer to query Q and a context C, we propose algorithms for choosing terms for all the concepts in S. To illustrate the framework, we use a case study involving a history ontology whose elements are named differently depending on the time period and language of the query.
Abstract Aspects promote a clear separation of concerns so that tangled and scattered concerns ar... more Abstract Aspects promote a clear separation of concerns so that tangled and scattered concerns are modularized throughout software development. We propose a framework to trace aspects identified during goal-oriented requirements analysis to code and testing. Two types of checks are performed to validate the resulting system in light of stakeholders' cross-cutting concerns. One ensures that systems with and without aspects have the same functionality defined by the hard goals.
Abstract: To fork a project is to copy the existing code base and move in a direction different t... more Abstract: To fork a project is to copy the existing code base and move in a direction different than that of the erstwhile project leadership. Forking provides a rapid way to address new requirements by adapting an existing solution. However, it can also create a plethora of similar tools, and fragment the developer community. Hence, it is not always clear whether forking is the right strategy. In this paper, we describe a mixed-methods exploratory case study that investigated the process of forking a project.
The number and size of information services available on the internet has been growing exponentia... more The number and size of information services available on the internet has been growing exponentially over the past few years. This growth has created an urgent need for information agents that act as brokers in the sense that they can autonomously search, gather, and integrate information on behalf of a user. To remain useful, such brokers will have to evolve throughout their lifetime to keep up with evolving and ever-changing information services.
Distributed computing is becoming a fundamental technology for information exchange and cooperati... more Distributed computing is becoming a fundamental technology for information exchange and cooperation. However, for such a technology to gain wide use, it must cater to users who do not own sophisticated (hardware and software) platforms and permanent network connections. For such users, the recent Peer-to-Peer (P2P) computing model has many advantages over classical client-server and web-based distributed models.
The build architecture of legacy C/C++ software systems, groups program files in directories to r... more The build architecture of legacy C/C++ software systems, groups program files in directories to represent logical components. The interfaces of these components are loosely defined by a set of header files that are typically grouped in one common include directory. As legacy systems evolve, these interfaces decay, which contribute to an increase in the build time and the number of conflict in parallel developments.
Abstract Requirements models are essential not just during system implementation, but also to man... more Abstract Requirements models are essential not just during system implementation, but also to manage system changes post-implementation. Such models should be supported by a requirements model management framework that allows users to create, manage and evolve models of domains, requirements, code and other design-time artifacts along with traceability links between their elements.
Abstract Entities and the concepts they instantiate evolve over time. For example, a corporate en... more Abstract Entities and the concepts they instantiate evolve over time. For example, a corporate entity may have resulted from a series of mergers and splits, or a concept such as that of Whale may have evolved along with our understanding of the physical world. We propose a model for capturing and querying concept evolution. Our proposal extends an RDF-like model with temporal features and evolution operators. In addition, we provide a query language that exploits these extensions and supports historical queries.
Customizing software to perfectly fit individual needs is becoming increasingly important in info... more Customizing software to perfectly fit individual needs is becoming increasingly important in information systems engineering. Users want to be able to customize software behavior through reference to terms familiar to their diverse needs and experience. We present a requirements-driven approach to behavioral customization of software systems. Goal models are constructed to represent alternative behaviors that users can exhibit to achieve their goals.
Abstract The analysis of stakeholder requirements is a critical aspect of software engineering. A... more Abstract The analysis of stakeholder requirements is a critical aspect of software engineering. A common way of specifying stakeholder requirements is in terms of a hierarchy of goals whose AND/OR decomposition captures a family of software solutions that comply with the goals. In this paper, we extend this goal modeling framework to include the specification of optional user requirements and user preferences, aggregated together into weighted formulae to be optimized.
Agent-oriented development is emerging as the software development paradigm of this new century. ... more Agent-oriented development is emerging as the software development paradigm of this new century. Indeed, software developers are using agents as a new metaphor for understanding, modeling, and implementing software that operates in dynamic, open, and often unpredictable environments. The growth of interest in software agents has led to the development of new methodologies based on agent concepts.
Abstract. Managing coordination among peer databases is at the core of research in peer data mana... more Abstract. Managing coordination among peer databases is at the core of research in peer data management systems. The Hyperion project addresses peer database coordination through Event-Condition-Action (ECA) rules. However, peer databases are intended for non-technical end users, such as a receptionist at a doctor's office or an assistant pharmacist. Such users are not expected to know a technically demanding language for expressing ECA rules that are appropriate for coordinating their respective databases.
Conceptual models are used in a variety of areas within Computer Science, including Software Engi... more Conceptual models are used in a variety of areas within Computer Science, including Software Engineering, Databases and AI. A major bottleneck in broadening their applicability is the time it takes to build a conceptual model for a new application. Not surprisingly, a variety of tools and techniques have been proposed for reusing conceptual models (eg, ontologies), or for building them semi-automatically from natural language descriptions.
In this paper we present a spatial data model which facilitates the representation of and reasoni... more In this paper we present a spatial data model which facilitates the representation of and reasoning with various forms of qualitatively and quantitatively incomplete spatial information. The model is founded on a combination of object-oriented and constraint-based data modeling facilities and provides for representations of variable precision and granularity. We identify four basic reasoning tasks required for query processing operations and outline algorithms for each task.
Abstract Traceability links among different software engineering artifacts make explicit how a so... more Abstract Traceability links among different software engineering artifacts make explicit how a software system was implemented to accommodate its requirements. For secure and dependable software system development, one must ensure the linked entities are truly traceable to each other and the links are updated to reflect true traceability among changed entities. However, traditional traceability relationships link recovery techniques are not accurate enough.
Abstract Software development involves the creation and use of many related models yet there are ... more Abstract Software development involves the creation and use of many related models yet there are few tools that address the issue of how to work with and manage such collections of models, or" multimodels." We propose a formal multimodeling framework that allows specialized model relationship types to be defined on existing types of models and provides a new type of model with a formal semantics called a macromodel.
Goal modeling fits model-driven engineering (MDE) in that it captures stakeholder concerns and th... more Goal modeling fits model-driven engineering (MDE) in that it captures stakeholder concerns and the interdependencies using concepts that are much less bound to the underlying implementation technology and are much closer to the problem languages. Aspect-oriented software development (AOSD) provides language constructs to facilitate the representation of multiple perceptions and to alleviate tangling and scattering concerns.
Abstract. The L modelling framework is widely used for organizational modeling. The framework foc... more Abstract. The L modelling framework is widely used for organizational modeling. The framework focuses on strategic relationships between actors in order to capture the social and intentional context of an enterprise. Nowadays, many research projects exist that use the L framework in different applications domain. However, despite wellYknown theoretical advantages of the L modeling approach, there are certain issues that still need to be improved to assure their effectiveness in practice.
Uploads
Papers by John Mylopoulos