351,116 research outputs found

    Meta-Model for global software development to support portability and interoperability

    Get PDF
    Global Software Development (GSD) considers the coordinated activity of software development that is not localized and central but geographically distributed. To support coordination among sites, usually it is aimed to adopt the same development and execution platform. Unfortunately, adopting a single platform might not be always possible due to technical or organizational constraints of the different sites in GSD projects. As such, very often GSD projects have to cope with portability and interoperability problems. To address these problems we propose to apply model-driven architecture design (MDA) approach. For this we present a common metamodel of GSD that we have derived from a systematic domain analysis process. The meta-model enhances the understanding of GSD, is used to define platform independent models of GSD architecture, and transform platform independent models to platform specific models

    Automating distributed workflow for electronic commerce: A model for building meta-workflow components

    Get PDF
    Business software development environments for web- based applications are at a very early stage in their potential lifecycle. The purpose of this research agenda is to develop a model for how business processes can be interpreted into primitive computer codes for web applications. We have taken a transaction perspective adapted from the distributed database approach to maintenance of integrity assuming the concepts of ACIDity (Atomicity, Consistency, Isolation, and Durability) and serializability. This perspective is consistent with emerging literature on “workflow agents” [e.g., Huhns and Singh, 1998]. In this paper, we design, develop, and show an example of a meta-level set of building blocks for a direct mapping between electronic commerce and workflow processes. To validate the sufficiency and completeness of the meta-level components proposed, a complete mapping of an electronic commerce application to meta-workflow components is proposed

    Collaborative Requirements Engineering Notation for Planning Globally Distributed Projects

    Get PDF
    Requirements engineering represents a critical phase of the software development lifecycle in which requirements describing the functional and non-functional behaviors of a system are elicited, modeled, analyzed, negotiated, agreed, and specified. In traditional software systems these tasks are typically performed in face-to-face meetings between requirements engineers and the project level stakeholders. However, in today’s global software development environment, it is becoming increasingly commonplace for stakeholders to be dispersed across multiple geographical locations and time zones. Under these circumstances, face-to-face meetings become expensive, and often impossible to facilitate, and as a result the success of the requirements process relies, at least partially, on tools and processes that support distributed communication and collaboration. To investigate the challenges and effective practices for performing requirements activities in distributed environments, we conducted a series of in-depth interviews with project managers and business analysts who have worked with non-co-located stakeholders. Since many project managers fail to plan and deploy the necessary infrastructures to support quality communication, and in practice requirements are often elicited and managed via email exchanges; we introduced a visual modeling notation to help project managers proactively plan the collaboration infrastructures needed to support requirements-related activities in globally distributed projects. An underlying meta-model defines the elements of the modeling language, including locations, stakeholder roles, communication flows, critical documents, and supporting tools and repositories. The interview findings were further analyzed to identify practices that led to success or created significant challenges for the projects; resulting in a set of patterns for globally distributed requirements engineering

    An Integrated Service-Oriented Development Platform for Realization of e-Business Systems

    Get PDF
    Enterprises need to be responsive to meet dynamic businesses and requirements. Service-oriented architecture can improve e-Business applications in integration and flexibility. Therefore, service-oriented architecture has been envisioned as an appropriate computational paradigm for e-business applications. This paper proposes a multi-model driven collaborative development platform for building service-oriented e-Business systems. The platform supports service-oriented software engineering and application developments. It employs three views, i.e., business view, process view, and service view to support business and technical consultants’ operations. Consultants can collaborate from distributed sites of, e.g., clients and IT vendors to provide their clients’ with rapid system development and demonstration. The proposed platform is service-oriented and driven by three models, i.e., service meta-model, process model and business model. All of these three models are supported by a semantic reasoning engine to facilitate intelligent service discovery, process execution and business-business integration. A simple example has been used to demonstrate its functionality

    Design and implementation of a distance education system aimed to the teaching of object-oriented technologies

    Get PDF
    In the new connected and distributed electronic world, the object-orientation (00) paradigm has been recognized as a strategy for software development, based on the idea of producing systems starting from reusable components. Problems of the rea1 world are easier to be dea1t with when 00 developrnent approach is used than when the structured and traditiona1 one is applied. In the software engineering cornmunity, the question of rnanaging changes has been a permanent concern arnong the developers who look forward to flexible and reusable systems. In this paper , we present a description of a flexible framework, aimed to peer-to-peer applications, that can be plugged-in a distance education platform. This framework is the hosting of a remote computerbased learning system (called TOOHELP). TOOHELP aims the learning of object-oriented techniques: it focuses on a faster development of complex software of high quality. Basically, the TOOHELP utilizes a simplified 00 meta model and it follows a process pattem that unifies the most known patterns of process in use today

    Architectural viewpoints for global software development

    Get PDF
    Ankara : The Department of Computer Engineering and the Graduate School of Engineering and Science of Bilkent University, 2011.Thesis (Master's) -- Bilkent University, 2011.Includes bibliographical references leaves 87-92.Current trends in software engineering show that large software projects have to operate with teams that are working in different locations. The reason behind this globalization of software development stems from clear business goals such as reducing cost of development, solving local IT skills shortage, and supporting outsourcing and offshoring. There is ample reason that these factors will be even stronger in the future, and as such we will face a further globalization of software development. To cope with these problems, the concept of Global Software Development (GSD) is introduced. GSD is a relatively new concept in software development that can be considered as the coordinated activity of software development that is not localized and central but geographically distributed. Designing a proper architecture of GSD is important to meet the requirements for the communication, coordination and control of distributed GSD teams. However, an analysis of the literature on GSD shows that research in this area has been generally focused on social issues focusing on some concerns such as intercultural communication problems and coordination. It is generally accepted that software architecture design plays a fundamental role in coping with the inherent difficulties of the development of large-scale and complex software. Unfortunately, in both GSD and software architecture design communities, the architecture design of GSD systems has not been explicitly addressed. This study aims to provide a contribution in this context by explicitly focusing on the architecture design of GSD. A common practice is to model and document different architectural views for describing the architecture according to the stakeholders’ concerns. Having multiple views helps to separate the concerns and as such support the modeling, understanding, communication and analysis of the software architecture for different stakeholders. Architectural views conform to viewpoints that represent the conventions for constructing and using a view. In this study, we propose seven architectural viewpoints which have been specifically defined for modeling GSD architecture. To define architecture viewpoints, we first describe a general GSD meta-model. The metamodel has been derived after a thorough analysis of the related GSD literature. The meta-model consists of six different parts which form the abstract syntax of the architectural viewpoints. After the meta-model derivation, we also suggest textual and visual concrete syntaxes for the meta-model in order to complete viewpoint definition. Supporting the architect in deriving architectural views based on the corresponding architectural viewpoints, we present a question framework. The question framework consists of six sets of questions related to the key concerns of a GSD project. Based on the answers given to the questions in this framework, the GSD application architecture can be derived by applying predefined design actions in the question framework. We have developed the tool called Global Architect which implements the question framework. Global Architect takes as input the answers to the provided questions and subsequently generates the textual architecture description of the required viewpoint. On its turn, the textual description is used to generate the visual presentation of the application architecture for the GSD project.Yıldız, Buğra MehmetM.S

    A semi-formal comparison between the Common Object Request Broker Architecture (COBRA) and the Distributed Component Object Model (DCOM)

    Get PDF
    The way in which application systems and software are built has changed dramatically over the past few years. This is mainly due to advances in hardware technology, programming languages, as well as the requirement to build better software application systems in less time. The importance of mondial (worldwide) communication between systems is also growing exponentially. People are using network-based applications daily, communicating not only locally, but also globally. The Internet, the global network, therefore plays a significant role in the development of new software. Distributed object computing is one of the computing paradigms that promise to solve the need to develop clienVserver application systems, communicating over heterogeneous environments. This study, of limited scope, concentrates on one crucial element without which distributed object computing cannot be implemented. This element is the communication software, also called middleware, which allows objects situated on different hardware platforms to communicate over a network. Two of the most important middleware standards for distributed object computing today are the Common Object Request Broker Architecture (CORBA) from the Object Management Group, and the Distributed Component Object Model (DCOM) from Microsoft Corporation. Each of these standards is implemented in commercially available products, allowing distributed objects to communicate over heterogeneous networks. In studying each of the middleware standards, a formal way of comparing CORBA and DCOM is presented, namely meta-modelling. For each of these two distributed object infrastructures (middleware), meta-models are constructed. Based on this uniform and unbiased approach, a comparison of the two distributed object infrastructures is then performed. The results are given as a set of tables in which the differences and similarities of each distributed object infrastructure are exhibited. By adopting this approach, errors caused by misunderstanding or misinterpretation are minimised. Consequently, an accurate and unbiased comparison between CORBA and DCOM is made possible, which constitutes the main aim of this dissertation.ComputingM. Sc. (Computer Science

    MegSDF Mega-system development framework

    Get PDF
    A framework for developing large, complex software systems, called Mega-Systems, is specified. The framework incorporates engineering, managerial, and technological aspects of development, concentrating on an engineering process. MegSDF proposes developing Mega-Systems as open distributed systems, pre-planned to be integrated with other systems, and designed for change. At the management level, MegSDF divides the development of a Mega-System into multiple coordinated projects, distinguishing between a meta-management for the whole development effort, responsible for long-term, global objectives, and local managements for the smaller projects, responsible for local, temporary objectives. At the engineering level, MegSDF defines a process model which specifies the tasks required for developing Mega-Systems, including their deliverables and interrelationships. The engineering process emphasizes the coordination required to develop the constituent systems. The process is active for the life time of the Mega-System and compatible with different approaches for performing its tasks. The engineering process consists of System, Mega-System, Mega-System Synthesis, and Meta-Management tasks. System tasks develop constituent systems. Mega-Systems tasks provide a means for engineering coordination, including Domain Analysis, Mega-System Architecture Design. and Infrastructure Acquisition tasks. Mega-System Synthesis tasks assemble Mega-Systems from the constituent systems. The Meta-Management task plans and controls the entire process. The domain analysis task provides a general, comprehensive, non-constructive domain model, which is used as a common basis for understanding the domain. MegSDF builds the domain model by integrating multiple significant perceptions of the domain. It recommends using a domain modeling schema to facilitate modeling and integrating the multiple perceptions. The Mega-System architecture design task specifies a conceptual architecture and an application architecture. The conceptual architecture specifies common design and implementation concepts and is defined using multiple views. The application architecture maps the domain model into an implementation and defines the overall structure of the Mega-System, its boundaries, components, and interfaces. The infrastructure acquisition task addresses the technological aspects of development. It is responsible for choosing, developing or purchasing, validating, and supporting an infrastructure. The infrastructure integrates the enabling technologies into a unified platform which is used as a common solution for handling technologies. The infrastructure facilitates portability of systems and incorporation of new technologies. It is implemented as a set of services, divided into separate service groups which correspond to the views identified in the conceptual architecture
    corecore