AGORA: a Layered Architecture for Cooperative Work Environments

Size: px
Start display at page:

Download "AGORA: a Layered Architecture for Cooperative Work Environments"

Transcription

1 AGORA: a Layered Architecture for Cooperative Work Environments Miguel A. Martínez-Prieto, Pablo de la Fuente GRINBD, Universidad de Valladolid Valladolid (Spain) migumar2,pfuente@infor.uva.es Carlos E. Cuesta Kybele, Universidad Rey Juan Carlos Móstoles, Madrid (Spain) carlos.cuesta@urjc.es Abstract ware systems are closely related with factors which define organization and knowledge of the group. Taking in account these factors are very variable, development and management processes of these systems are complex and need adaptable infrastructure which guarantees their correct evolution. From this need, we propose AGORA as a layered architecture for building flexible cooperative applications in distributed environments. This approach is based on a shared workspace which defines basic resources for groupware systems. This way, a system is responsible to build their services from a specific cooperative operations supplied by AGORA of which functional model is based on components reutilization. 1. Introduction The Agora was an essential part of an ancient Greek polish which concentrated its culture, commerce and politics on this place. It was used as a civil forum in which was held meetings for discussing different issues related with the polish. Therefore, classic concept of Agora defines it as a meeting place for making decisions in community according to a fixed protocol. This idea can be adapted at this time for making decisions and working in groups inside of an organization. These organizations have more sophisticated needs than the Greek polish because their structure is more complex. Therefore, organizations require a robust infrastructure which allows them to perform a fluid communication independently of geographic location of their members. For this purpose, organizations need to use information technologies for building computer systems which enable specific collaboration for groups. These systems can be defined by means of a common term: groupware. It is defined as computer-based systems This work was partially supported by the project TIN C03-02 from MEC (Spain). that support groups of people engaged in a common task (or goal) and that provide an interface to a shared environment [6]. Taking in account the previous definition, this article presents AGORA, an architecture for building cooperative applications. Our approach tries to solve main weakness of groupware systems which are revised in section 2. This section presents also a brief analysis of current environment. Next, we define our architectural approach from a brief introduction which describes a set of key aspects in groupware systems. Considering that AGORA is a layered architecture, next sections present every constituent layer, detailing its structural and functional contribution to the global architecture. Once we have defined the conceptual basis of our model, we present a real application case based on a well-know cooperative service: the workspace. This example allows us to show internal interaction between components of AGORA when a user s request is received in a groupware system built with our architecture. The article finishes with a presentation of the conclusions which we have extracted from our experience with AGORA; moreover, we define our lines of work planned for the future. 2. Current State of ware s Environment The techniques of workgroup have increased their importance in last years. It supposes that many approaches have been proposed in this time. On one hand, the architectural approaches suggest to model groupware systems as sets of related components. These approaches (PAC [4] or CLOVER [8] are examples of them) are concentrated on interactive issues of the systems, but don t define a specify method to add external components that can be demanded by these systems. On the other hand, different frameworks for groupware has been built for making its design and development easy; tools as ANTS [7] or kit [10] are example of them. Applications built with them have an important lack of interoperability and are unable to add efficiently new com-

2 ponents. These features cause that these applications are poorly extensible. Taking in account the current state of groupware s environment, we deduce that the lack of adaptability is an important weakness in this class of systems. If we consider that groups are highly dynamic entities and their needs are very evolving, we conclude a bit adaptable systems are rigid solutions for an adequate management in time of these requirements. Therefore, groupware systems built for management specific cooperative needs, evolve to outdated tools which are unable to handle requirements associated with new dynamics of the group. Sessions Service Access Control Protocol Register Awareness Service Sessions Awareness Protocol Workflow Engine Shared Environment Cooperative Operations 3 4 Cooperative Tools Cooperative Services Shared Context Access Shared Context Basic Operations for Shared Objects Repository Shared Objects Figure 1. AGORA s global structure Aqueducts From this situation, the use of open systems with a high degree of interoperability [7] is a key factor in processes of cooperative applications design. So, is required a reference architectural model which allows us to build flexible and extensible groupware systems. We consider this model should be concentrated in cooperative dynamic of the group. Taking in account previous consideration, in this article we present AGORA as a layered architecture of software (see Figure 1) designed for building cooperative applications. This architecture is inspired in a service oriented model [9] built upon a specific XML [3] processing model. This model guarantee, from a technological view, that applications built with its resources are highly extensible and adaptable. 3. AGORA as ware System Although a gropuware system provides a distinctive and specific service for the collaboration of the group, all of these systems share a set of common key aspects [1]: communication, group awareness, coordination and group memory. The communication in a groupware system is classified in synchronous and asynchronous according to the moment in which is carried out. Both classes of communication should be performed in such a way that services can benefit of mutual complement existing between them. The group awareness is defined as an understanding of the activities of others, which provides a context for your own activity [5]. If this context isn t available, collaboration is impossible because users don t know behaviour of other members in group. Therefore, this context is used to ensure that individual contributions are relevant to the group s activity. The coordination is a critical issue because the group s activity is realized by means of shared objects. Therefore, the management of these artifacts should be adequately coordinated for avoiding duplications or inconsistencies with the information derived of concurrent accesses bad handled. Finally, the group memory manages the historical information associated with shared objects used in a cooperative application of the group. This information allows understanding the cooperative process from the steps which define all actions realized with shared objects in the application. We consider these aspects as essential features for groupware systems, and AGORA implements all of them by means of the shared environment layer which is used by upper layers for designing and building cooperative applications. In next sections we explain as the layers of the architecture uses these aspects according to their specific structural characterization. 4. Technological Layer: Aqueducts This layer defines the technological basis for building our architecture. For this purpose, we use Aqueducts, an architectural style designed from well-known pipe-filter [2] [11] specifically extended for managing XML data streams. The main reference in current environment of XML processing is XProc [12]: it defines a conceptual model in which Aqueducts is inspired for designing a specific hierarchy of components for XML processing. This hierarchy

3 takes advantage of encapsulation features associated with the concept of software component for defining a new concept: aqueduct. Next sections present functionality and structure of these components in group layer Protocol The component group protocol describes the way used by group members for their collaboration. This component implements specific responsibilities of the group layer by means of four functional modules: The access control module is responsible to determine who can access what and in what manner. Its operation is defined by means of role based policies. Figure 2. Example of Aqueduct We define an aqueduct as a higher-level filter which comprises a non-linear sequence of ordered filters designed from basic processing steps and structural control constructs which handle its internal flow (Figure 2 shows a generic aqueduct). Every aqueduct is a specific provider of service responsible to manage its performance by means of its internal structure. An aqueduct defines an open model for XML processing because it is able to process XML data stream of any kind. This feature allows us to use Aqueducts in different scopes of application; we are currently working in an evolved implementation based on SOA technology. In conclusion, Aqueducts proposes a data (XML) driven model used by distributed applications which are exploited in Internet. Therefore, Aqueducts define a necessary infrastructure for satisfying communication requirements of cooperative applications built with AGORA s resources. 5. Layer: Shared Environment The specific nature of groupware systems forces to develop similar solutions for near problems. This situation is proved by means of the set of key aspects (showed in Section 3) which are common for groupware systems. We consider this set of aspects as the core of our architecture, because it represents the common features that all groupware systems share. Therefore, this layer (named shared environment) is defined as a generic group layer which provides a set of resources which implements all of these key aspects for groupware systems. In conclusion, this layer plays a role of provider for upper layers which use it for building cooperative services and applications. This decision provides us a generic solution for solving similar problems in groupware systems. Resources provided by this layer are given out in three specific components (see Figure 3) which are built by means of the resources provided in technological layer. The sessions handler module manages individual user sessions of work in group applications. The group awareness is responsible to know all activities realized by group members. The information derived of these activities is distributed in the group. The group manager module manages all information associated with the group and its members. It uses a register for storing and querying this information. These modules describes a specific interaction which is detailed in the next section by means of a cooperative service developed in upper layer using resources of this group layer. Access Control Register Sessions Awareness Protocol Shared Environment Cooperative Operations Shared Context Basic Operations for Shared Objects Repository Shared Objects Figure 3. Layer: Shared Environment 5.2. Shared Context The component shared context is based on definition of Ellis [6]; In it, this concept is defined as a set of objects where the objects and the actions performed on the objects are visible to a set of users. The above definition allows us to extract the main responsibilities of this component: on one hand, it stores shared objects used in cooperative processes. On the other hand, this component provides operations used for managing these shared objects. The Figure 3 shows these responsibilities by means of a shared objects repository and a server module which provides the basic operations which manage them

4 The shared objects repository defines a flexible mechanism for storing objects used in cooperative processes. This element doesn t establish any restriction about of the data logical model used in its description. The server module of basic operations for handling shared objects repository defines a functional component which provides a set of operations for managing objects in repository. These operations allows us generically to insert, update, delete and query objects in the repository; this is possible thanks to the execution of an operation requires the structural model of the object used in them. Therefore, these operations are independent of the specific semantics associated with the different types of shared objects used, although their implementation should be carried out according to the data logical model used in the repository. The result of these operations is expressed in XML; this feature allows us to process these results by means of Aqueducts, that it is specifically designed for this purpose. This component is responsible to manage shared elements, therefore it needs a mechanism of concurrency which guarantees a coordinated management of the shared objects used in cooperative processes; we consider this need as an important question because coordination is a key aspect in groupware systems (see Section 3). Therefore, this component is responsible to implement this aspect considering different mechanisms of concurrency that can be demanded in upper layers of AGORA Cooperative Operations ware systems use this module as an inventory of the functional operations which are cooperatively exploited in the upper layers. In this module, systems build their cooperative operations usind resources available in technological layer. Therefore, every operation is designed by means of an aqueduct (or a combination of aqueducts) which specifically defines its functionality. Taking in account that these operations are used in a cooperative environment, they are complemented by resources provided by the other modules of this layer. Figure 3 shows as this module interacts with the group protocol and the shared context according to the next restrictions: Every request has associated a set of data which defines it. The aqueduct which implements the requested operation interprets this data upon resources of group protocol component. Every cooperative operation uses a fixed object (or set of objects) stored in the shared context. So, generation of contents in the aqueduct which implements the operation is performed by basic operations of shared context. These cooperative operations are defined as modular processing structures according to the conceptual model of Aqueducts which are component oriented. These operations are highly adaptable thanks to this feature; it supposes that a cooperative operation has a high interoperability at levels of data exchange and collaboration between operations. 6. Cooperative Services The two lower layers guarantee necessary resources for defining specific cooperative operations which are used in real interactive environments. At this layer, we present a concept of cooperative service as a method of exploitation of these operations according to a specific semantics of process. These cooperative services should be considered from perspective associated with the space-time taxonomy defined by Ellis [6]. Therefore, this layer must be capable to supply services according to this taxonomy; for this purpose, the Cooperative Services layer uses resources provided by the two lower layers: The technological layer is defined by means of an architectural model which is exploited by distributed systems. Therefore, the spatial prespective can be covered by means of the resources provided in the technological layer of AGORA. Considering refered taxonomy, we define two classes of service in a time perspective: synchronous and asynchronous. Resources provided in group layer allow us to define services of both classes. Therefore systems built with AGORA can be defined all type of services according to the time perspective Building Cooperative Services A cooperative service is a conceptual abstraction with a particular behaviour which is performed by means of a specific type of shared object. This abstraction is realized by a cooperative tool used in a real environment. This definition implies that a cooperative service manages different issues using the set of components showed in Figure 4. The service must define the type of shared objects which uses for performing its functionality; the cooperative service manage this purpose by means of the resources which shared objects repository provides. Taking in account shared context description, when the service defines the schema of representation used by the object, this can be already managed by the basic operations provided by this component. For finishing this step, is only necessary to define the mechanism of concurrency which is used by the operations of the service. All of these responsibilities are managed by means of the shared context access component.

5 The development of the service continues with the definition of its group protocol; this step cover issues related with group handling, sessions handling, group awareness and access control. Taking in account that a cooperative service is a functional abstraction, it doesn t handle the group. We consider that cooperative application that realizes the service in a real environment should be responsible to manage this issue. Sessions handling and group awareness are managed by means of a component: the group protocol handling which contains two specific modules for each responsibility. Sessions Service Protocol Awareness Service Workflow Engine Cooperative Services Shared Context Access Figure 4. Cooperative Services Layer The sessions service control module uses the sessions handler module (in lower layer) as data source. The current module knows (from information supplied) the users that are using the service in a concrete time; these users, identified by their work session, are associated with a global work session of the service. We consider that a session of the service starts when the first user accesses to service s resources and finishes when the last active user ends his activity. The service awareness module is responsible to manage all events produced in active user s sessions associated with a global work session of the service. The information derived of these events is provided by the group awareness module in lower layer which send it when a new event happens in the service. When the current module have this information, should communicate it according to a policy selected by the service; for this purpose is important consider if the service is synchronous or asynchronous for reporting this information. Finally, this module is also responsible to store all events which have happened in the service; this information is later used in a group memory aspect of the groupware system which provides the service. At this point the service is already defined as a provider of a cooperative activity which uses a specific class of shared object. Therefore, the next step is to associate with the services those operations that it performs. For this purpose dynamic of the service is described using a workflow which is interpreted by a workflow engine component. In conclusion, a cooperative service has a set of states and a set of transitions which link states according to the global evolution of the workflow. Each state supplies several cooperative operations according to the specific access control policy defined by means of the access control module in the group layer Features of a Cooperative Service Cooperative service is a key concept in AGORA, because it allows getting a flexible and extensible solution with a high level of adaptation for managing the evolving needs of the group. These features are based on adequate use of the resources provided by the shared environment layer. Taking in account that the shared environment provides a set of resources which implements all key aspects for groupware systems, we own all necessary resources for designing and building cooperative service. Even so, we could need specific cooperative operation which they aren t available in lower layer. This problem is easy to manage, because we only need to define a new operation by means of a new aqueduct which provides the functionality required for it. Once the service is defined, this can be modified if the group requirements evolve. Taking in account previous section, these changes can affect to different features of the service. A type of modification in a service is related with the class of shared objects that it uses. For this purpose we only need to modify their schema of representation in the shared objects repository. According to the functionality of this component, these changes are immediately assimilated by the basic operations which manage them. In this situation, we take in account that existing objects should be update according to their new schema of representation. Other type of modification is related with the dynamic of the service; in this case exists two possible alternatives. On one hand, an existing state can need modification which are directly realized in its configuration. On the other hand, a service can need new states of execution which are added to the initial workflow according to the required conditions. This type of modification has a null impact in previous workflow, because it keeps its features adding those properties derived of this change. Finally, if a cooperative service needs modifications in its group protocol, these are realized in the group layer which provides them. 7. Cooperative Tools It is the top layer in the AGORA s model. It is responsible to build real applications from resources provided by the cooperative service in which is based. If we consider an object oriented metaphor, a cooperative tool defined from a cooperative service is analogous to an instantiated object from a class. A cooperative tool inherits responsibilities related with the group management. For this purpose, it uses a group protocol handling component of the service in which is

6 based. These responsibilities are the maintenance of the group and the definition of roles policies used by the tool. Taking in account that all tools are related with a group, all member of this group can use them. A member of the group has rights of use according to his role and taking in account the state of execution in which the service is in each moment. 8. AGORA in action In this article we have presented each layer of AGORA s model. From this information, in current section we design a cooperative service which instructs the operation of previous concepts in a real environment. For this purpose, we have selected a workspace service inspired in a well-known tool: BSCW 1. We propose a service which takes basic features of BSCW; from them, users publish documents in cooperative work zones which make easy asynchronous interaction between members of the group. This interaction is restricted according to the user s credentials (identity and role) Shared Objects This service defines its behaviour by means of specific types of shared objects which allow users to cooperate. Taking in account specific needs of the workspace, we define two classes of shared objects with a specific schema which represents next concepts: Work zone: describes a structure which the service needs for storing information associated with an specific theme of cooperation. Moreover, this structure requires a flexible method for storing in it all contents published as a result of interaction process in this zone. Published content: describes the structure of information exchanged in the service. In this structure, the service stores data and metadata. Stored data defines the content published and metadata saves information related with the identification of the user and the moment in which the content is published. Moreover, this content allows to link external documents which are part of this object too. These types of shared objects guarantee adequate function of the service by means of the basic operations supplied by the shared environment. Taking in account that this is an asynchronous service, its concurrency can be managed by means of a simple mechanism based on a simple lock policy [6]. This policy, which is available in the shared context, is used by the service according to the specific access control policy defined by the tool Protocol The group protocol is presented in Section 5.1 as the way used by group members for their collaboration. On one hand, the workspace service requires to define the awareness group module according to its asynchronous characterization. On the other hand, this service defines two roles for its access control; this roles (use and administration) are later specified by the tool which implements the service Workflow This service requires a simple dynamic which is built by means of a workflow with an unique state. Inside of this state, we can use all operations defined in the service. These operations can be classified in two groups according to the shared object which use. On one hand, we consider a set of operations which manage work zone objects; these operations can be only used by users who play an administration role. Next enumeration defines these operations: New Zone operation inserts a new work zone object with the data supplied. For this purpose, it uses the basic operation new object. View Zone operation shows data stored in work zone object and published content objects contained in it. This operation uses the basic operation view object. Update Zone operation updates data stored in work zone object with new data supplied. For this purpose, it uses the basic operation update object. Delete Zone operation deletes he work zone object and all published content objects contained in it. This operation uses the basic operation delete object. On the other hand, we consider a set of operations which manage published content objects. These operations are: New Content operation inserts a new published content object with the data supplied. For this purpose, it uses the basic operation new object. View Content operation shows data stored in published content object by means of the basic operation update object. Update Content operation updates data stored in published content object with new data supplied. This operation uses the basic update object. Delete Content operation deletes he published content object by means of the basic operation delete object.

7 All members of the group can define a new content and can visualize all contents published in a work zone. Delete and update operations of published contents have any limitations in their use; so, these operations can be only executed by the user which published the content or by the administrator user. Figure 5. Example of Cooperative Tool 8.4. Defining a Cooperative Tool We consider that the workspace service can be used in educative environments; for example, we have used it for building a cooperative tool which supports projects of software development in groups of teaching practice. In these projects, students build, in a cooperative way, necessary artifacts in a process of software development. Therefore, this tool concretes roles of workspace service associating the user role with the concept of student and the administrator role with the concept of teacher. In conclusion, the group is composed by two sets of users that can use the tool according to the access control policy which the service defines for each role. The Figure 5 shows an example of these tool for the new content operation Using a Cooperative Tool A student is using the presented tool in a certain time. This situation implies that the student is already authenticated as a valid user in the application and he has a work session with a student role associated. In this tool, exists a work zone in which the members of the group cooperate for writing a software requirements specification document. In a certain time, the introduced student requests to publish a new content in this work zone; this request have associated information of the user s session and specific data for publishing the new content. The processing starts when this request is received in the tool. First, this request is validated respect to the group protocol which defines the tool. For this purpose, it checks the validity of the user s session and afterwards, it evaluates the state pf the workflow for checking that the requested operation can be performed. If the request passes these requirements, the system registers the event associated with the request, and communicates it by means of the service awareness. This information is received by all active users in tool. Once these validations are passes, next step performs the specific cooperative operation which satisfies the user s request. For this purpose, the tool uses the basic operation new object with the published content schema and specific values which defines the new object. Taking in account this operation creates an object; it doesn t need special control of concurrency, because the object doesn t previously exist. When the new object operation finishes, it send its result to the aqueduct which implements the cooperative operation. This aqueduct takes this result and continues its execution from it for getting the specific result of the operation. This result is later sent to the user as response of his request; in it, the application reports a correct publication of the content which is already available for all users that can use it according to the access control policy associated. This example shows a generic behaviour of AGORA when a user s request is received. By means of this process, we instruct the way in which AGORA s components interacts, taking in account that each cooperative tool uses the shared environment according to this needs. 9. Conclusions and Future Work This article defines AGORA as specific software architecture for building adaptable groupware systems; by means of them, we can design and exploit flexible and extensible cooperative applications. Therefore, these applications are competitive in real environments and have a high level of quality to manage the evolving dynamic of groups which use them. AGORA is a layered architecture technologically based on a processing model of XML data streams. By means of it, the architecture defines a shared environment which provides a complete set of resources which abstract main features of groupware. This environment allows us to build flexible cooperative services which are realized by means of cooperative tools that allow users to interact in workgroup environments. Our future work has two main orientations: on one hand, we pretend to complete concepts in which are based the architecture. This decision implies that we work in features provided by the shared environment for making applications development easier. Moreover, we specifically work

8 in the implementation of the shared context; taking in account our experience in digital libraries, we are analyzing the possibility of design a specific digital library for managing the responsibilities of this component. Thanks to this decision, the modules of the shared context get important benefits from digital libraries features. On the other hand, we consider that AGORA is already a functional model and we want to check its performance in real environments. We are designing new types of services (synchronous and asynchronous) that allow us to build cooperative tools which will be used in virtual environments of learning. We are currently working in specific services which manage educational objects designed from e-books contents. By means of these services, we want to help with reading s processes of Spanish classic literature in educational environments, complementing them with collaborative activities. [11] M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, New Jersey, [12] N. Walsh and A. Milowski. XProc: An XML Pipeline Language. W3C Working Draft, April References [1] R. Araújo, M. Dias, and M. Borges. A framework for the classification of computer supported colaborative design approaches. In Proceedings of III International Workshop on Gorupware (CRIWG 97), pages , San Lorenzo del Escorial (Madrid), Spain, October [2] L. Bass, P. Clements, and R. Kazman. Software architecture in practice. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, [3] T. Bray, J. Paoli, C. Sperberg-McQueen, E. Maler, and F. Yergeau. Extensible Markup Language (XML) 1.0 (Fourth Edition). W3C Recommendation. Available at August [4] J. Coutaz. PAC-ing the Architecture of Your User Interface. In M. D. Harrison and J. C. Torres, editors, Design, Specification and Verification of Interactive Systems 97, pages 13 27, Wien, Springer-Verlag. [5] P. Dourish and V. Bellotti. Awareness and coordination in shared workspaces. In CSCW 92: Proceedings of the 1992 ACM conference on Computer-supported cooperative work, pages , New York, NY, USA, ACM Press. [6] C. A. Ellis, S. J. Gibbs, and G. Rein. ware: some issues and experiences. Commun. ACM, 34(1):39 58, [7] P. García and A. F. Gómez-Skarmeta. ANTS Framework for Cooperative Work Environments. Computer, 36(3):56 62, [8] Y. Laurillau and L. Nigay. Clover architecture for groupware. In CSCW 02: Proceedings of the 2002 ACM conference on Computer supported cooperative work, pages , New York, NY, USA, ACM Press. [9] M. A. Martínez-Prieto, C. E. Cuesta, and P. de la Fuente. Una arquitectura para el desarrollo de aplicaciones cooperativas en entornos heterogéneos. In Proceedings of IV Taller en Sistemas Hipermedia Colaborativos y Adaptativos, pages 41 50, Sitges (Barcelona), Spain, October [10] M. Roseman and S. Greenberg. Building real-time groupware with Kit, a groupware toolkit. ACM Transactions on Computer-Human Interaction, 3(1):66 106, 1996.

SOA-based Generic Architecture for CSCW Systems *

SOA-based Generic Architecture for CSCW Systems * SOA-based Generic Architecture for CSCW Systems * Mario Anzures-García 1, Patricia Paderewski-Rodríguez 2, and Miguel J. Hornos 2 1 Facultad de Ciencias de la Computación, Benemérita Universidad Autónoma

More information

Applying Experiences with Declarative Codifications of Software Architectures on COD

Applying Experiences with Declarative Codifications of Software Architectures on COD Applying Experiences with Declarative Codifications of Software Architectures on COD Position Paper Roel Wuyts Stéphane Ducasse Gabriela Arévalo roel.wuyts@iam.unibe.ch ducasse@iam.unibe.ch arevalo@iam.unibe.ch

More information

Component-based Groupware: Issues and Experiences

Component-based Groupware: Issues and Experiences Component-based Groupware: Issues and Experiences John Grundy Department of Computer Science University of Waikato Private Bag 3105, Hamilton NEW ZEALAND jgrundy@cs.waikato.ac.nz ABSTRACT There is a growing

More information

Heuristic Evaluation of Groupware. How to do Heuristic Evaluation of Groupware. Benefits

Heuristic Evaluation of Groupware. How to do Heuristic Evaluation of Groupware. Benefits Kimberly Tee ketee@ucalgary.ca CPSC 681 Topic Heuristic Evaluation of Groupware Heuristic evaluation [9] is a discount evaluation method for finding usability problems in a singleuser interface design.

More information

Sommerville Chapter 6 The High-Level Structure of a Software Intensive System. Architectural Design. Slides courtesy Prof.

Sommerville Chapter 6 The High-Level Structure of a Software Intensive System. Architectural Design. Slides courtesy Prof. Sommerville Chapter 6 The High-Level Structure of a Software Intensive System Architectural Design Slides courtesy Prof.Mats Heimdahl 1 Fall 2 2013 Architectural Parallels Architects are the technical

More information

NeOn Methodology for Building Ontology Networks: a Scenario-based Methodology

NeOn Methodology for Building Ontology Networks: a Scenario-based Methodology NeOn Methodology for Building Ontology Networks: a Scenario-based Methodology Asunción Gómez-Pérez and Mari Carmen Suárez-Figueroa Ontology Engineering Group. Departamento de Inteligencia Artificial. Facultad

More information

Architecture for Synchronous Groupware Application Development

Architecture for Synchronous Groupware Application Development Accepted in HCI 95 July 1995 Tokoy Japan Architecture for Synchronous Groupware Application Development Roland Balter, Slim Ben Atallah, Rushed Kanawati Unité Mixte Bull Imag/Systèmes 2, rue de Vignate,

More information

Flexible Collaboration over XML Documents

Flexible Collaboration over XML Documents Flexible Collaboration over XML Documents Claudia-Lavinia Ignat and Moira C. Norrie Institute for Information Systems, ETH Zurich CH-8092 Zurich, Switzerland {ignat,norrie}@inf.ethz.ch Abstract. XML documents

More information

Development of an Ontology-Based Portal for Digital Archive Services

Development of an Ontology-Based Portal for Digital Archive Services Development of an Ontology-Based Portal for Digital Archive Services Ching-Long Yeh Department of Computer Science and Engineering Tatung University 40 Chungshan N. Rd. 3rd Sec. Taipei, 104, Taiwan chingyeh@cse.ttu.edu.tw

More information

Style-specific techniques to design product-line architectures

Style-specific techniques to design product-line architectures Style-specific techniques to design product-line architectures Philippe Lalanda Thomson-CSF Corporate Research Laboratory Phone: 33 1 69 33 92 90 Email: lalanda@thomson-lcr.fr Domaine de Corbeville 91404

More information

XCase - A Tool for Conceptual XML Data Modeling

XCase - A Tool for Conceptual XML Data Modeling XCase - A Tool for Conceptual XML Data Modeling Jakub Klímek 1, Lukáš Kopenec 1, Pavel Loupal 2, and Jakub Malý 1 1 Department of Software Engineering Faculty of Mathematics and Physics, Charles University

More information

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered Topics covered Chapter 6 Architectural Design Architectural design decisions Architectural views Architectural patterns Application architectures Lecture 1 1 2 Software architecture The design process

More information

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION http://www.tutorialspoint.com/software_architecture_design/introduction.htm Copyright tutorialspoint.com The architecture of a system describes its major components,

More information

Using semantic causality graphs to validate MAS models

Using semantic causality graphs to validate MAS models Using semantic causality graphs to validate MAS models Guillermo Vigueras 1, Jorge J. Gómez 2, Juan A. Botía 1 and Juan Pavón 2 1 Facultad de Informática Universidad de Murcia Spain 2 Facultad de Informática

More information

Supporting i*-based Context Models Construction through the DHARMA Ontology

Supporting i*-based Context Models Construction through the DHARMA Ontology Supporting i*-based Context Models Construction through the DHARMA Ontology Wilson Pérez 1, Karina Abad 1, Juan Pablo Carvallo 2, Xavier Franch 3 1 Universidad de Cuenca (UC), Cuenca, Ecuador 2 Universidad

More information

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 1 Faculty of Sciences, Lebanese University 2 LINA Laboratory, University of Nantes ABSTRACT:

More information

Why Consider Implementation-Level Decisions in Software Architectures?

Why Consider Implementation-Level Decisions in Software Architectures? 1. Abstract Why Consider Implementation-Level Decisions in Software Architectures? Nikunj Mehta Nenad Medvidović Marija Rakić {mehta, neno, marija}@sunset.usc.edu Department of Computer Science University

More information

Cataloguing GI Functions provided by Non Web Services Software Resources Within IGN

Cataloguing GI Functions provided by Non Web Services Software Resources Within IGN Cataloguing GI Functions provided by Non Web Services Software Resources Within IGN Yann Abd-el-Kader, Bénédicte Bucher Laboratoire COGIT Institut Géographique National 2 av Pasteur 94 165 Saint Mandé

More information

Pattern-Based Architectural Design Process Model

Pattern-Based Architectural Design Process Model Pattern-Based Architectural Design Process Model N. Lévy, F. Losavio Abstract: The identification of quality requirements is crucial to develop modern software systems, especially when their underlying

More information

A Model Driven Approach to Design Web Services in a Web Engineering Method 1

A Model Driven Approach to Design Web Services in a Web Engineering Method 1 A Model Driven Approach to Design Web Services in a Web Engineering Method 1 Marta Ruiz, Pedro Valderas, Victoria Torres, Vicente Pelechano 1 Departamento de Sistemas Informáticos y Computación Universidad

More information

A Taxonomy of the Quality Attributes for Distributed Applications

A Taxonomy of the Quality Attributes for Distributed Applications A Taxonomy of the Quality Attributes for Distributed Applications Jorge Enrique Pérez-Martínez and Almudena ierra-alonso University Rey Juan Carlos E.. of Experimental ciences and Technology C/ Tulipán

More information

Formulating XML-IR Queries

Formulating XML-IR Queries Alan Woodley Faculty of Information Technology, Queensland University of Technology PO Box 2434. Brisbane Q 4001, Australia ap.woodley@student.qut.edu.au Abstract: XML information retrieval systems differ

More information

AN AGENT-ORIENTED EXECUTIVE MODEL FOR SERVICE CHOREOGRAPHY

AN AGENT-ORIENTED EXECUTIVE MODEL FOR SERVICE CHOREOGRAPHY AN AGENT-ORIENTED EXECUTIVE MODEL FOR SERVICE CHOREOGRAPHY MOHAMMAD ZAHIRI, MOHAMMAD R. KHAYYAMBASHI Department of Computer Eng. and Information Technology, University of Sheikh Bahaei, Isfahan, Iran Computer

More information

Analysing the navigational aspect

Analysing the navigational aspect A. M. Reina Dpto. Lenguajes y Sistemas Informáticos Universidad de Sevilla. e-mail: reinaqu@lsi.us.es Analysing the navigational aspect J. Torres Dpto. Lenguajes y Sistemas Informáticos Universidad de

More information

Extracting Output Schemas from XSLT Stylesheets and Their Possible Applications

Extracting Output Schemas from XSLT Stylesheets and Their Possible Applications Extracting Output Schemas from XSLT Stylesheets and Their Possible Applications Ruben Mes ruben.mes@ist.utl.pt José Borbinha jlb@ist.utl.pt Hugo Manguinhas hugo.manguinhas@ist.utl.pt Abstract XML is nowadays

More information

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach Ninat Wanapan and Somnuk Keretho Department of Computer Engineering, Kasetsart

More information

Content Management for the Defense Intelligence Enterprise

Content Management for the Defense Intelligence Enterprise Gilbane Beacon Guidance on Content Strategies, Practices and Technologies Content Management for the Defense Intelligence Enterprise How XML and the Digital Production Process Transform Information Sharing

More information

Concurrent Object-Oriented Development with Behavioral Design Patterns

Concurrent Object-Oriented Development with Behavioral Design Patterns Concurrent Object-Oriented Development with Behavioral Design Patterns Benjamin Morandi 1, Scott West 1, Sebastian Nanz 1, and Hassan Gomaa 2 1 ETH Zurich, Switzerland 2 George Mason University, USA firstname.lastname@inf.ethz.ch

More information

An Approach to Quality Achievement at the Architectural Level: AQUA

An Approach to Quality Achievement at the Architectural Level: AQUA An Approach to Quality Achievement at the Level: AQUA Heeseok Choi 1, Keunhyuk Yeom 2, Youhee Choi 3, and Mikyeong Moon 2 1 NTIS Organization, Korea Institute of Science and Technology Information Eoeun-dong

More information

IBM Research Report. Model-Driven Business Transformation and Semantic Web

IBM Research Report. Model-Driven Business Transformation and Semantic Web RC23731 (W0509-110) September 30, 2005 Computer Science IBM Research Report Model-Driven Business Transformation and Semantic Web Juhnyoung Lee IBM Research Division Thomas J. Watson Research Center P.O.

More information

Grid Computing Systems: A Survey and Taxonomy

Grid Computing Systems: A Survey and Taxonomy Grid Computing Systems: A Survey and Taxonomy Material for this lecture from: A Survey and Taxonomy of Resource Management Systems for Grid Computing Systems, K. Krauter, R. Buyya, M. Maheswaran, CS Technical

More information

SABLE: Agent Support for the Consolidation of Enterprise-Wide Data- Oriented Simulations

SABLE: Agent Support for the Consolidation of Enterprise-Wide Data- Oriented Simulations : Agent Support for the Consolidation of Enterprise-Wide Data- Oriented Simulations Brian Blake The MITRE Corporation Center for Advanced Aviation System Development 1820 Dolley Madison Blvd. McLean, VA

More information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented

More information

CS560 Lecture: Software Architecture Includes slides by I. Sommerville

CS560 Lecture: Software Architecture Includes slides by I. Sommerville CS560 Lecture: Software Architecture 2009 Includes slides by I. Sommerville Architectural Design Design process for identifying the sub-systems making up a system and the framework for sub-system control

More information

A Top-Down Visual Approach to GUI development

A Top-Down Visual Approach to GUI development A Top-Down Visual Approach to GUI development ROSANNA CASSINO, GENNY TORTORA, MAURIZIO TUCCI, GIULIANA VITIELLO Dipartimento di Matematica e Informatica Università di Salerno Via Ponte don Melillo 84084

More information

THE NEW NATIONAL ATLAS OF SPAIN ON INTERNET

THE NEW NATIONAL ATLAS OF SPAIN ON INTERNET CO-343 THE NEW NATIONAL ATLAS OF SPAIN ON INTERNET PEREZ N., SANCHEZ-ORTIZ P., ALONSO J.J., ROMERA C. NATIONAL GEOGRAPHIC INSTITUTE, MADRID, SPAIN 1. BACKGROUND AND OBJECTIVES In 2009, the National Atlas

More information

Incorporating applications to a Service Oriented Architecture

Incorporating applications to a Service Oriented Architecture Proceedings of the 5th WSEAS Int. Conf. on System Science and Simulation in Engineering, Tenerife, Canary Islands, Spain, December 16-18, 2006 401 Incorporating applications to a Service Oriented Architecture

More information

An Introduction to Software Architecture

An Introduction to Software Architecture An Introduction to Software Architecture Software Engineering Design Lecture 11 Motivation for studying SW architecture As the size of SW systems increases, the algorithms and data structures of the computation

More information

Creational. Structural

Creational. Structural Fitness for Future of Design Patterns & Architectural Styles Design patterns are difficult to teach, so we conducted a class collaboration where we all researched and reported on a variety of design patterns

More information

Petri-net-based Workflow Management Software

Petri-net-based Workflow Management Software Petri-net-based Workflow Management Software W.M.P. van der Aalst Department of Mathematics and Computing Science, Eindhoven University of Technology, P.O. Box 513, NL-5600 MB, Eindhoven, The Netherlands,

More information

CAT (CURATOR ARCHIVING TOOL): IMPROVING ACCESS TO WEB ARCHIVES

CAT (CURATOR ARCHIVING TOOL): IMPROVING ACCESS TO WEB ARCHIVES CAT (CURATOR ARCHIVING TOOL): IMPROVING ACCESS TO WEB ARCHIVES Ciro Llueca, Daniel Cócera Biblioteca de Catalunya (BC) Barcelona, Spain padicat@bnc.cat Natalia Torres, Gerard Suades, Ricard de la Vega

More information

VHDL Teamwork, Organization Units and Workspace Management

VHDL Teamwork, Organization Units and Workspace Management VHDL Teamwork, Organization Units and Workspace Management Serafín Olcoz, Lorenzo Ayuda, Iván Izaguirre, Olga Peñalba SIDSA Ronda de Poniente 8, 2 A. 28760 Tres Cantos (Madrid) Spain vhdl-ice@sidsa.es

More information

Architectural Design

Architectural Design Architectural Design Objectives To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural

More information

A Collaborative Extension of a Visualization System

A Collaborative Extension of a Visualization System A Collaborative Extension of a Visualization System Steve Casera Hans-Heinrich Nägeli Peter Kropf Computer Science Department - University of Neuchâtel - Switzerland steve.casera@unine.ch hans-heinrich.naegeli@unine.ch

More information

An Introduction to Software Architecture

An Introduction to Software Architecture An Introduction to Software Architecture Software Requirements and Design CITS 4401 Lecture 11 Motivation for studying SW architecture As the size of SW systems increase, the algorithms and data structures

More information

Transformation of analysis model to design model

Transformation of analysis model to design model 2010 International Conference on E-business, Management and Economics IPEDR vol.3 (2011) (2011) IACSIT Press, Hong Kong Transformation of analysis model to design model Lalji Prasad Truba College of Engineering

More information

Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model

Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model Diego Sevilla 1, José M. García 1, Antonio Gómez 2 1 Department of Computer Engineering 2 Department of Information and

More information

Components Based Design and Development. Unit 3: Software Design Quick Overview

Components Based Design and Development. Unit 3: Software Design Quick Overview Components Based Design and Development Computer Engineering Studies Universidad Carlos III de Madrid Unit 3: Software Design Quick Overview Juan Llorens Högskolan på Åland Finland / Universidad Carlos

More information

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation. [MS-WSSTS]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages,

More information

WORKSHOP ON EASY JAVA SIMULATIONS AND THE COMPADRE DIGITAL LIBRARY

WORKSHOP ON EASY JAVA SIMULATIONS AND THE COMPADRE DIGITAL LIBRARY MPTL14 2009 Udine 23-27 September 2009 WORKSHOP ON EASY JAVA SIMULATIONS AND THE COMPADRE DIGITAL LIBRARY Francisco Esquembre, Universidad de Murcia Wolfgang Christian, Davidson College Bruce Mason, University

More information

Design Patterns for Description-Driven Systems

Design Patterns for Description-Driven Systems Design Patterns for Description-Driven Systems N. Baker 3, A. Bazan 1, G. Chevenier 2, Z. Kovacs 3, T Le Flour 1, J-M Le Goff 4, R. McClatchey 3 & S Murray 1 1 LAPP, IN2P3, Annecy-le-Vieux, France 2 HEP

More information

Objectives. Architectural Design. Software architecture. Topics covered. Architectural design. Advantages of explicit architecture

Objectives. Architectural Design. Software architecture. Topics covered. Architectural design. Advantages of explicit architecture Objectives Architectural Design To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural

More information

Establishing the overall structure of a software system

Establishing the overall structure of a software system Architectural Design Establishing the overall structure of a software system Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13 Slide 1 Objectives To introduce architectural design and

More information

Implementing Software Connectors through First-Class Methods

Implementing Software Connectors through First-Class Methods Implementing Software Connectors through First-Class Methods Cheoljoo Jeong and Sangduck Lee Computer & Software Technology Laboratory Electronics and Telecommunications Research Institute Taejon, 305-350,

More information

A Grid-Enabled Component Container for CORBA Lightweight Components

A Grid-Enabled Component Container for CORBA Lightweight Components A Grid-Enabled Component Container for CORBA Lightweight Components Diego Sevilla 1, José M. García 1, Antonio F. Gómez 2 1 Department of Computer Engineering 2 Department of Information and Communications

More information

Architectural Blueprint

Architectural Blueprint IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint

More information

The General Variables Concept: A Simple Step from Single- to Multi-user Environment

The General Variables Concept: A Simple Step from Single- to Multi-user Environment The General Variables Concept: A Simple Step from Single- to Multi-user Environment Michal Masa, Jiri Zara Department of Computer Science and Engineering, Czech Technical University in Prague {xmasam,

More information

Chapter 6 Architectural Design

Chapter 6 Architectural Design Chapter 6 Architectural Design Chapter 6 Architectural Design Slide 1 Topics covered The WHAT and WHY of architectural design Architectural design decisions Architectural views/perspectives Architectural

More information

Architectural Design. Topics covered. Architectural Design. Software architecture. Recall the design process

Architectural Design. Topics covered. Architectural Design. Software architecture. Recall the design process Architectural Design Objectives To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural

More information

A Lightweight Language for Software Product Lines Architecture Description

A Lightweight Language for Software Product Lines Architecture Description A Lightweight Language for Software Product Lines Architecture Description Eduardo Silva, Ana Luisa Medeiros, Everton Cavalcante, Thais Batista DIMAp Department of Informatics and Applied Mathematics UFRN

More information

Data Models: The Center of the Business Information Systems Universe

Data Models: The Center of the Business Information Systems Universe Data s: The Center of the Business Information Systems Universe Whitemarsh Information Systems Corporation 2008 Althea Lane Bowie, Maryland 20716 Tele: 301-249-1142 Email: Whitemarsh@wiscorp.com Web: www.wiscorp.com

More information

Teaching Encapsulation and Modularity in Object-Oriented Languages with Access Graphs

Teaching Encapsulation and Modularity in Object-Oriented Languages with Access Graphs Teaching Encapsulation and Modularity in Object-Oriented Languages with Access Graphs Gilles Ardourel, Marianne Huchard To cite this version: Gilles Ardourel, Marianne Huchard. Teaching Encapsulation and

More information

Development of Contents Management System Based on Light-Weight Ontology

Development of Contents Management System Based on Light-Weight Ontology Development of Contents Management System Based on Light-Weight Ontology Kouji Kozaki, Yoshinobu Kitamura, and Riichiro Mizoguchi Abstract In the Structuring Nanotechnology Knowledge project, a material-independent

More information

DPLFW: a Framework for the Product-Line-Based Generation of Variable Content Documents

DPLFW: a Framework for the Product-Line-Based Generation of Variable Content Documents DPLFW: a Framework for the Product-Line-Based Generation of Variable Content s Abel Gómez 1, Pau Martí 2, M. Carmen Penadés 2, and José H. Canós 2 1 AtlanMod team (Inria, Mines Nantes, LINA) 4 rue Alfred

More information

Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila

Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Software Design and Architecture Software Design Software design is a process of problem-solving

More information

Software Language Engineering of Architectural Viewpoints

Software Language Engineering of Architectural Viewpoints Software Language Engineering of Architectural Viewpoints Elif Demirli and Bedir Tekinerdogan Department of Computer Engineering, Bilkent University, Ankara 06800, Turkey {demirli,bedir}@cs.bilkent.edu.tr

More information

UNIT-I Introduction of Object Oriented Modeling

UNIT-I Introduction of Object Oriented Modeling UNIT-I Introduction of Object Oriented Modeling - Prasad Mahale Object Oriented Modeling and Reference Books: Design 1. Grady Booch, James Rumbaugh, Ivar Jacobson Unified Modeling Language User Guide,

More information

The Semantic Web Services Tetrahedron: Achieving Integration with Semantic Web Services 1

The Semantic Web Services Tetrahedron: Achieving Integration with Semantic Web Services 1 The Semantic Web Services Tetrahedron: Achieving Integration with Semantic Web Services 1 Juan Miguel Gómez 1, Mariano Rico 2, Francisco García-Sánchez 3, César J. Acuña 4 1 DERI Ireland, National University

More information

A FRAMEWORK FOR EFFICIENT DATA SEARCH THROUGH XML TREE PATTERNS

A FRAMEWORK FOR EFFICIENT DATA SEARCH THROUGH XML TREE PATTERNS A FRAMEWORK FOR EFFICIENT DATA SEARCH THROUGH XML TREE PATTERNS SRIVANI SARIKONDA 1 PG Scholar Department of CSE P.SANDEEP REDDY 2 Associate professor Department of CSE DR.M.V.SIVA PRASAD 3 Principal Abstract:

More information

Level: M.Ed. Credit Hour: 3 (2+1) Semester: Second Teaching Hour: 80(32+48)

Level: M.Ed. Credit Hour: 3 (2+1) Semester: Second Teaching Hour: 80(32+48) Course Title: Software Engineering Course No. : ICT Ed 528 Nature of course: Theoretical + Practical Level: M.Ed. Credit Hour: 3 (2+1) Semester: Second Teaching Hour: 80(32+48) 1. Course Description The

More information

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Dhirubhai Ambani Institute for Information and Communication Technology, Gandhinagar, Gujarat, India Email:

More information

An Urban Planning Web Viewer based on AJAX *

An Urban Planning Web Viewer based on AJAX * An Urban Planning Web Viewer based on AJAX * Miguel R. Luaces, David Trillo Pérez, J. Ignacio Lamas Fonte, Ana Cerdeira-Pena Database Laboratory, University of A Coruña, Campus de Elviña s/n. A Coruña,

More information

Metadata in the Driver's Seat: The Nokia Metia Framework

Metadata in the Driver's Seat: The Nokia Metia Framework Metadata in the Driver's Seat: The Nokia Metia Framework Abstract Patrick Stickler The Metia Framework defines a set of standard, open and portable models, interfaces, and

More information

Collaboration Support in Open Hypermedia Environments

Collaboration Support in Open Hypermedia Environments Collaboration Support in Open Hypermedia Environments Jörg M. Haake & Weigang Wang GMD - German National Research Center for Information Technology Integrated Publication and Information Systems Institute

More information

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 287 293. Developing Web-Based Applications Using Model Driven Architecture and Domain

More information

Provenance-aware Faceted Search in Drupal

Provenance-aware Faceted Search in Drupal Provenance-aware Faceted Search in Drupal Zhenning Shangguan, Jinguang Zheng, and Deborah L. McGuinness Tetherless World Constellation, Computer Science Department, Rensselaer Polytechnic Institute, 110

More information

CIMES: a Collaborative Image Editing System for Pattern Design

CIMES: a Collaborative Image Editing System for Pattern Design CIMES: a Collaborative Image Editing System for Pattern Design Xianghua Xu, Jiajun Bu, Chun Chen and Yong Li College of Computer Science, Zhejiang University, Hangzhou 310027, China {xuxh_cs, bjj, chenc,

More information

ISO/IEC INTERNATIONAL STANDARD. Information technology Document Schema Definition Languages (DSDL) Part 11: Schema association

ISO/IEC INTERNATIONAL STANDARD. Information technology Document Schema Definition Languages (DSDL) Part 11: Schema association INTERNATIONAL STANDARD ISO/IEC 19757-11 First edition 2011-11-01 Information technology Document Schema Definition Languages (DSDL) Part 11: Schema association Technologies de l'information Langages de

More information

Unified management of heterogeneous sensors for complex event processing

Unified management of heterogeneous sensors for complex event processing Risk Analysis VI 445 Unified management of heterogeneous sensors for complex event processing M. Valdés, I. Nieto, V. Guardiola, D. Gil & A. Gómez-Skarmeta University of Murcia, Spain Abstract The turn

More information

Architectural Design

Architectural Design Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures PART 1 ARCHITECTURAL DESIGN DECISIONS Recap on SDLC Phases

More information

1 Software Architecture

1 Software Architecture Some buzzwords and acronyms for today Software architecture Design pattern Separation of concerns Single responsibility principle Keep it simple, stupid (KISS) Don t repeat yourself (DRY) Don t talk to

More information

First Steps Towards Conceptual Schema Testing

First Steps Towards Conceptual Schema Testing First Steps Towards Conceptual Schema Testing Albert Tort and Antoni Olivé Universitat Politècnica de Catalunya {atort,olive}@lsi.upc.edu Abstract. Like any software artifact, conceptual schemas of information

More information

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold. T0/04-023 revision 2 Date: September 06, 2005 To: T0 Committee (SCSI) From: George Penokie (IBM/Tivoli) Subject: SAM-4: Converting to UML part Overview The current SCSI architecture follows no particular

More information

Capturing Design Expertise in Customized Software Architecture Design Environments

Capturing Design Expertise in Customized Software Architecture Design Environments Capturing Design Expertise in Customized Software Architecture Design Environments Robert T. Monroe School of Computer Science, Carnegie Mellon University, Pittsburgh, PA 15213 Abstract: Software architecture

More information

Software Configuration, Distribution, and Deployment of Web-Services

Software Configuration, Distribution, and Deployment of Web-Services Software Configuration, Distribution, and Deployment of Web-Services Rainer Anzböck Schahram Dustdar Harald Gall D.A.T.A. Corporation Invalidenstrasse 5-7/10 A-1030 Wien, Austria ++43/1/5955319-2 ar@data.at

More information

Designing Evolvable Location Models for Ubiquitous Applications

Designing Evolvable Location Models for Ubiquitous Applications Designing Evolvable Location Models for Ubiquitous Applications Silvia Gordillo, Javier Bazzocco, Gustavo Rossi and Robert Laurini 2 Lifia. Facultad de Informatica. Universidad Nacional de La Plata, Argentina

More information

Fundamentals of. Database Systems. Shamkant B. Navathe. College of Computing Georgia Institute of Technology PEARSON.

Fundamentals of. Database Systems. Shamkant B. Navathe. College of Computing Georgia Institute of Technology PEARSON. Fundamentals of Database Systems 5th Edition Ramez Elmasri Department of Computer Science and Engineering The University of Texas at Arlington Shamkant B. Navathe College of Computing Georgia Institute

More information

HyperFrame - A Framework for Hypermedia Authoring

HyperFrame - A Framework for Hypermedia Authoring HyperFrame - A Framework for Hypermedia Authoring S. Crespo, M. F. Fontoura, C. J. P. Lucena, D. Schwabe Pontificia Universidade Católica do Rio de Janeiro - Departamento de Informática Universidade do

More information

Applying the Semantic Web Layers to Access Control

Applying the Semantic Web Layers to Access Control J. Lopez, A. Mana, J. maria troya, and M. Yague, Applying the Semantic Web Layers to Access Control, IEEE International Workshop on Web Semantics (WebS03), pp. 622-626, 2003. NICS Lab. Publications: https://www.nics.uma.es/publications

More information

Turning Emergency Plans into Executable

Turning Emergency Plans into Executable Turning Emergency Plans into Executable Artifacts José H. Canós-Cerdá, Juan Sánchez-Díaz, Vicent Orts, Mª Carmen Penadés ISSI-DSIC Universitat Politècnica de València, Spain {jhcanos jsanchez mpenades}@dsic.upv.es

More information

Design and Evolution of an Agent-Based CASE System for OOAD

Design and Evolution of an Agent-Based CASE System for OOAD Proceedings of ATS 2003 206 Design and Evolution of an -Based CASE System for OOAD Dong Liu, Kalaivani Subramaniam, Behrouz H. Far, and Armin Eberlein Department of Electrical and Computer Engineering

More information

A Meta-Model for Composition Techniques in Object-Oriented Software Development

A Meta-Model for Composition Techniques in Object-Oriented Software Development A Meta-Model for Composition Techniques in Object-Oriented Software Development Bedir Tekinerdogan Department of Computer Science University of Twente P.O. Box 217, 7500 AE Enschede, The Netherlands E-Mail:

More information

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design Chapter 6 Architectural Design Lecture 1 1 Topics covered ² Architectural design decisions ² Architectural views ² Architectural patterns ² Application architectures 2 Software architecture ² The design

More information

Access Control in Rich Domain Model Web Applications

Access Control in Rich Domain Model Web Applications Access Control in Rich Domain Model Web Applications Extended Abstract João de Albuquerque Penha Pereira joao.pereira@ist.utl.pt Instituto Superior Técnico November 25, 2010 Abstract Rich Domain Model

More information

Heavyweight extensions to the UML metamodel to describe the C3 architectural style Abstract Keywords 2. Strategies to extend UML 1.

Heavyweight extensions to the UML metamodel to describe the C3 architectural style Abstract Keywords 2. Strategies to extend UML 1. Heavyweight extensions to the UML metamodel to describe the C3 architectural style Jorge Enrique Pérez-Martínez Universidad Rey Juan Carlos, Spain j.perez@escet.urjc.es Abstract UML is widely accepted

More information

Dr. Tom Hicks. Computer Science Department Trinity University

Dr. Tom Hicks. Computer Science Department Trinity University Dr. Tom Hicks Computer Science Department Trinity University 1 1 About Design With Reuse 2 Software Reuse Why Do We Care About Reuse? Historically: In Most Engineering Disciplines, Systems are Designed

More information

POMELo: A PML Online Editor

POMELo: A PML Online Editor POMELo: A PML Online Editor Alvaro Graves Tetherless World Constellation Department of Cognitive Sciences Rensselaer Polytechnic Institute Troy, NY 12180 gravea3@rpi.edu Abstract. This paper introduces

More information

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : , Course Code : MCS-032 Course Title : Object Oriented Analysis and Design Assignment Number : MCA (3)/032/Assign/2014-15 Assignment Marks : 100 Weightage : 25% Last Dates for Submission : 15th October,

More information

Modeling Systems Using Design Patterns

Modeling Systems Using Design Patterns Modeling Systems Using Design Patterns Jaroslav JAKUBÍK Slovak University of Technology Faculty of Informatics and Information Technologies Ilkovičova 3, 842 16 Bratislava, Slovakia jakubik@fiit.stuba.sk

More information

Proceedings of the SPDECE Ninth nultidisciplinary symposium on the design and evaluation of digital content for education

Proceedings of the SPDECE Ninth nultidisciplinary symposium on the design and evaluation of digital content for education Proceedings of the SPDECE-2012. Ninth nultidisciplinary symposium on the design and evaluation of digital content for education 13 15 June 2011 Universidad de Alicante Alicante, Spain Edited by Manuel

More information