351,116 research outputs found
Meta-Model for global software development to support portability and interoperability
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
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
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
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
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
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)
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
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
- …