Modeling Coordination as Resource Flow: An Object-Based Approach
|
|
|
- Oswin Fox
- 10 years ago
- Views:
Transcription
1 Modeling Coordination as Resource Flow: An Object-Based Approach John Noll Computer Engineering Department Santa Clara University 500 El Camino Real Santa Clara, CA Bryce Billinger Avaya Inc. Denver, CO Abstract Workflow management systems provide guidance to individuals performing tasks in an organization. This is typically achieved via a central workflow engine that executes descriptions of organizational processes in order to guide and coordinate activities of individuals in the organization. In this paper, we present a process modeling approach in which processes are modeled as independent process fragments that represent activities performed by a single actor. Each fragment is a specification of the control flow from one activity to the next, that leads to the completion of a task. Coordination among concurrent activities performed by different actors is modeled as resource flow: dependencies among coordinated activities are represented by the resources shared by concurrent activities. This allows processes performed by autonomous process performers distributed across a network to be coordinated without sacrificing individual autonomy. Keywords: Workflow Modeling, Cooperative Work Support, Coordination, Software Process Modeling 1 Introduction Workflow is the automation of a business process, in whole or part, during which documents, information or tasks are passed from one participant to another for action, according to a set of procedural rules. [1] Workflow management systems provide active guidance, by providing prompts, instructions, and supporting documents, to individual actors performing tasks in processes. Initially, this was achieved by delivering documents to actors via or other electronic means, hence the name workflow ; in this case the routing of documents from actor to actor is specified by a simple, sequential process specification. Contemporary workflow systems can execute more complex processes than simple sequential workflows. These processes may involve iteration over a sequence of tasks, branching, and concurrent activities performed by multiple actors. The process descriptions are thus more complex, requiring specification of coordination and synchronization among concurrent activities, as well as both flow of control. The conventional model of a workflow system is based on a client-server architecture. A central workflow engine executes process descriptions to support the activities of actors that interact with the engine through client interfaces such as web-browsers or task-specific tools. As a centralized resource with global visibility of an organization s active processes, the workflow engine can coordinate the activities of each actor in relation to other actors, thus supporting collaboration and cooperation. A a database management system is often employed to manage the data produced and modified by the processes, and the data about the processes themselves. The advantages of this approach include synchronization of modifications to documents by concurrent activities, and the ability to perform queries over the entire set of currently active processes. This model has been employed to great success in workflow systems to support the business processes of companies and organizations. However, this model assumes all of an organization s processes are managed by the workflow engine (or set of engines), all documents are accessible to the engine and clients, and that all actors are connected to the engine through a client interface. Thus, the conventional client-server model presents obstacles when documents or actors involved in a processes are distributed in autonomous locations. In such cases, a central engine cannot control access to documents: this is the responsibility of the repository that contains the document (or other artifact). Similarly, the engine cannot support coordination based on the flow of control among the various activities, since this would require autonomous actors to submit to a
2 global control authority. For example, open source software development can involve the concurrent activities of a large number of people working on a set of shared artifacts. However, each person is an independent, autonomous actor who performs work voluntarily, according to his or her abilities and resources. While they share a common goal, and may have well defined processes, each actor works independently without direction of a central authority. However, these actors could benefit from the kind of guidance and coordination support that workflow management systems provide. In this paper, we present a process modeling approach that enables processes to be modeled as independent process fragments that represent activities performed by a single actor. Each fragment is a specification of the control flow from one activity to the next, that leads to the completion of a task. Coordination among concurrent activities performed by different actors is modeled as resource flow: dependencies among coordinated activities are represented by the resources shared by concurrent activities. 2 Approach Our goal is to model both control flow and coordination with one simple, straightforward process modeling language. Our approach is based on the process programming concept [9]: processes are modeled using a process programming language, called PML, that resembles a conventional programming language in many ways. PML models control flow using familiar programming language constructs such as iteration, selection, and branching. Processes in PML are modeled as sequences of actions. Actions are the atomic activities of a process. Control constructs allow actions to be combined into tasks, which are linear sequences of actions; iterations, that specify a sequence of actions to be repeated; branches, specifying sequences of actions that can be performed concurrently; and selections indicating a choice of one of several possible actions. An example is shown in Figure 2. This is a PML description of a simple software development process depicted in Figure Coordination and Resource Flow The key to our approach is the observation that products are produced and consumed by concurrent activities. This is depicted in Figure 2.1. This figure shows the example process from Figure 2, augmented with important resources that are produced and used by some of the process activities. Note process example { action Analyze { branch { sequence code { action Design { action Implement { action Compile { action Debug { action Commit { sequence test { action WriteTestPlan { action WriteTests { action RunTests { Figure 1: Development Process in PML that these resource flows mimic the temporal dependencies among the tasks that produce and consume them. For example, the Analyze activity has a temporal precedence to the Design and Write test plan activities. These are represented by the solid arrows. The analysis product also flows from the Analyze task to both the Design and Write test plan activities. Similarly, the Commit task has a precedence relationship to the Run tests task, which is also reflected in the flow of the code resource. These resource flows are significant because they can be used to coordinate activities when the explicit temporal relationships are removed from the process model. Suppose, for example, that the actors tasked with performing this process are widely distributed across the world: the Analyst is in Chicago, the Programmer in Hong Kong, and the Tester in India. It would still be possible for the process to be executed by a central workflow engine, with each actor connecting to the engine from a client interface or Web browser. However, they would be subject to disruptions caused by network partitions, server maintenance, and other interruptions in service. Further, if the actors belong to different organizations, there may be issues of autonomy that would prevent their subjecting to a central administration. If we remove the explicit control flow relationships that are reflected in resource relationships, we can partition the model into process fragments that can be performed by a single actor, independently of other actors, yet in coordination with there activities. Figure 2.1 depicts this decomposition. The process has been divided
3 Design Implement Debug Commit Analyze (Analyst) Write Plan Write Tests Run Tests Figure 2: A Simple Software Development Process. Design Implement Debug Commit code Analyze (Analyst) analysis Write Plan Write Tests Run Tests Figure 3: Resource Flow process example { action Analyze { provides { analysis... action Design { requires { analysis provides { design Figure 5: Modeling Resource Flow into three fragments, each associated with one of the three actors in the original model (Analyst, Programmer, Test Engineer). We add constructs to PML to specify pre- and postconditions on the state of resources (documents, data, and other artifacts) that are produced and consumed by activities in a process. The result is a process modeling language that models both resource flow and control flow. A generic object model is used to represent the artifacts and deliverables in a process. Each action may have requires and provides clauses. These specify preand post-conditions surrounding the performance of an action. The requires clause specifies the resources that are required by the action; the provides clause specifies the state these resources will in when the action is completed. The syntax for the object model is of the form object name.attribute. A unique object name specifies an object within the process. The format for the requires and provides clauses are in the form clause object name.attribute op value. Figure 2.1 shows a part the PML specification of Figure 2 augmented with requires and provides predicates. In this figure, the provides predicate of the Analyze action specifies that an analysis object (in this case, a document) will be produced by the Analyze activity. The requires predicate of the Design action specifies that an analysis document is required by this activity before it can be begin; the Design activity produces a design object, as specified by its provides predicate. 2.2 Process Enactment Operating System The Process Enactment Operating System (PEOS) is the engine for executing PML process descriptions. PEOS comprises several components, as shown in Figure 2.2. The virtual machine is the core of the system, responsible for executing compiled PML process descriptions. The virtual machine is a stack based interpreter that runs a PML compiled program and computes which actions are available at any given time. The kernel provides an interface to the outside environment for the virtual machine. It acts as an event dispatcher, for events submitted by actors, and events resulting from changes to objects required by processes under execution. It does this by executing queries to the various
4 Design Implement Debug Commit code Analyze (Analyst) analysis Write Plan Write Tests Run Tests Figure 4: Process Fragments User Interface Tools Resources User Interface process events resource create/update Resource I/F CVS WWW resource events File System Process Core Kernel resource events Active Process Repository Figure 6: PEOS Architecture process state Virtual Machine process models Process Model Repository storage managers and repositories where resources are stored. These queries are simply compiled forms of the provides and requires predicates in a PML specification. Thus, if an action requires an object, and the artifact the object is bound to does not exist, the virtual machine will block execution of the process containing the action until the object (artifact) exists. Each actor in deploys a copy of PEOS to support his own processes. These copies monitor the environment for changes in resource state, in order to coordinate the activities of actors with other actors. The resulting enactment environment is depicted in Figure 2.2. In this figure, the Analyst runs an instance of the Analyze process to create a new analysis document, which he posts to a web site for distribution to other interested parties. This creation event (step 2) is detected by the Programmer s PEOS engine (step 3); this triggers the creation of an instance of the Design and Implement process (step 4) on the Programmer s behalf. After completing the Commit action (step 5), a modification event (step 6) is detected by the Test Engineer s PEOS engine, which creates an instance of the Test process (step 7). 3 Related Work Process modeling approaches can be divided into four main categories, based on the control-flow model used. 3.1 Procedural Control Flow Procedural modeling approaches resemble high-level programming languages; some are even based on programming languages. For example, APPL/A [11] extends the ADA programming language with constructs specific to process and coordination modeling. One of the main differences among procedural modeling languages is the fact that they depend on specific types of repositories. JIL is closely associated with the Pleiades object management system [12]. In MVP-L, a relational database is used to store product (artifact) objects [4]. In APPL/A, the repository used is Triton, a persistent object system built on top of the EXODUS storage manager [11]. The resource model for all of these examples is dependent on the specific object manager. Thus, the resource model is tightly coupled to its underlying implementation. This makes the coordination of users crosses boundaries, such as a organizations or network difficult. A rule-based control flow model comes from rule based programming languages. Rule-based models logical statements to determine which actions can be executed at any given time. The Merlin project is based on PROLOG and uses these rules to model processes [7]. Marvel also uses rules to model processes, with a object-oriented database in the back-end to keep the data [3]. A rule-based modeling language is a very powerful way to model processes; however, because the sequence of activities is not explicitly represented, rulebased models can be difficult to understand. The graph-based process models represent the relationships among activities and resources with graphs. The Petri Net is one of the most used graph-based modeling examples. The projects SPADE/SLANG and
5 1: run Analysis_proc() 3: notify(analysis) Web Server SCCS 4: run Design_proc(analysis) Programmer 5: commit(code) 7: run Test_proc(code) Analyst 2: create(analysis) 6: notify(code) Test Engineer Figure 7: Distributed Workflow Execution PROMO are based on Petri-Nets [2, 6]. The benefit of graph-based models is they are a close match to the conceptual notion of a process as a sequence of activities, and are thus easy to create and understand. The graphbased control flow model is the closest model to the procedural model. While graph-based models may be easy to read and understand, their flaw is they are not as powerful as other process models. Because graphbased models do not have all of the capabilities as other process modeling languages. Agent-based process modeling is a radically different approach to modeling process flow. An agent is a program that is design to make an intelligent decision of what to do next based on its current state. Agents can be distributed and can act independently of other agents. In agent-base workflow, agents are given goals that conform to the objectives of the overall process; they then develop a work plan to achieve those goals. For example, the DartFlow project uses the World Wide Web and transportable agents to model process flow [5]. The Agent-based Process Management System (APMS) and the METEOR project use agents as a framework for workflow management [8, 10]. The work with agents has tended toward addressing control flow and has separated the data and resources from the model. The separation is due to the fact that agent-based models are focused on a process state and not the process model. For agent-based processes, the process model can be an ever changing model. The agent should be able to use the process state and the current environment, such as a process model, to intelligently determine the next state. 4 Conclusion We have described a process modeling approach that combines the advantages of procedural process descriptions with the ability to decouple concurrent activities so they can be distributed among independent, autonomous actors. This approach has several benefits. Using this approach, no direct communication is required between coordinated instances of execution engines; coordination is achieved by indirect communication through the resources shared among the concurrent activities. This means that an actor can even coordinate with another actor that is not following an explicit process, as long as the resources produced or modified by that are accessible. Also, products and other artifacts involved in the process are accessed from their native storage managers, making it possible for PEOS to co-exist with legacy systems, and to enact processes that cross organizational as well as geographic boundaries. Finally, because each actor runs a separate copy of the execution engine, PEOS maintains complete autonomy of participating individuals.
6 References [1] Rob Allen. Workflow: An Introduction. [2] S. Bandinelli, A. Fugetta, C. Ghezzi, and L. Lavazza. SPADE: AN Environment for Software Process Analysis, Design, and Enactment. Research Studies Press Limited, [3] Israel Z. Ben-Shaul, Gail E. Kaiser, and G. Heineman. An architecture for multi-user software development environments. Computing Systems, the Journal of the USENIX Association, 6(2):65 103, [4] C. Brockers, C. Lott, H. D. Rombach, and M. Verlage. MVP-L language report version 2. Technical report, University of Kaiserslautern, February [5] Ting Cai, Peter Gloor, and Saurab Nog. Dart- Flow: A workflow management system on the web using transportable agents. Technical Report PCS-TR96-283, Department of Computer Science, Dartmouth College, [6] John C. Doppke. Software process modeling and execution withing virtual environments. ACM Transactions on Software Engineering and Methodology, 7(1):1 40, January [7] G. Junkermann, B. Peuschel, W. Schafer, and S. Wolf. MERLIN: Supporting Cooperation in Software Development through a Knowledgebased Environment. John Wiley, [8] P. D. O Brien and M. E. Wiegand. Agent based process management: applying intelligent agents to workflow. Knowledge Engineering Review, 13(2), September [9] Leon Osterweil. Software processes are software too. In Proceedings of the 9th International Conference on Software Engineering, Monterey, CA USA, March [10] Amit Sheth. METEOR: Brief overview. Technical report, Large Scale Distributed Information Systems Lab, University of Georgia, and Infocosm, Inc. [11] Stanley M. Sutton, Dennis M. Heimbigner, and Leon J. Osterweil. Language constructs for managing change in process-centered environments. pages , Irvine, CA, December [12] Stanley M. Sutton Jr., Barbara Staudt Lerner, and Leon J. Osterweil. Experience using the JIL process programming language to specify design processes. Technical report, Computer Science Department, University of Massachusetts, Amherst, September A Example Process Specification process example { action Analyze { provides { analysis branch { sequence code { action Design { requires { analysis provides { design action Implement { requires { design provides { code action Compile { requires { code provides { code.status == compiled action Debug { requires { code.status == compiled provides { code.status == complete action Commit { requires { code.status == complete provides { code.status == committed sequence test { action WriteTestPlan { requires { analysis provides { test_plan action WriteTests { requires { test_plan provides { test_suite action RunTests { requires { test_suite && code provides { code.status == tested
Software, Process, Business Process and Software Process
Software, Process, Business Process and Software Process Tao Xie Research work was done while being a summer intern at Software Technology Research Department Avaya Labs Research Outline Process Conceptual
Do Process-Centred Environments Deserve Process-Centred Tools? Wolfgang Emmerich and Anthony Finkelstein Dept. of Computer Science, The City University, Northampton Square, London EC1V 0HB, UK femmerich
Service Oriented Architectures
8 Service Oriented Architectures Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) [email protected] http://www.iks.inf.ethz.ch/ The context for SOA A bit of history
Workflow Automation and Management Services in Web 2.0: An Object-Based Approach to Distributed Workflow Enactment
Workflow Automation and Management Services in Web 2.0: An Object-Based Approach to Distributed Workflow Enactment Peter Y. Wu [email protected] Department of Computer & Information Systems Robert Morris University
Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces
Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The
Using UML Part Two Behavioral Modeling Diagrams
UML Tutorials Using UML Part Two Behavioral Modeling Diagrams by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page 1 Trademarks Object Management Group, OMG, Unified Modeling Language,
Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation
Objectives Distributed Databases and Client/Server Architecture IT354 @ Peter Lo 2005 1 Understand the advantages and disadvantages of distributed databases Know the design issues involved in distributed
The Service Revolution software engineering without programming languages
The Service Revolution software engineering without programming languages Gustavo Alonso Institute for Pervasive Computing Department of Computer Science Swiss Federal Institute of Technology (ETH Zurich)
Enterprise Integration: operational models of business processes and workflow systems *
Enterprise Integration: operational models of business processes and workflow systems. 1 Enterprise Integration: operational models of business processes and workflow systems * G.Bruno 1, C.Reyneri 2 and
Microsoft Dynamics CRM 2015 with NetScaler for Global Server Load Balancing
Microsoft Dynamics CRM 2015 with NetScaler for Global Server Load Balancing Solution Guide This solution guide focuses on defining the deployment process for Microsoft Dynamics CRM with Citrix NetScaler.
Introduction to Service-Oriented Architecture for Business Analysts
Introduction to Service-Oriented Architecture for Business Analysts This course will provide each participant with a high-level comprehensive overview of the Service- Oriented Architecture (SOA), emphasizing
Modeling Workflow Patterns
Modeling Workflow Patterns Bizagi Suite Workflow Patterns 1 Table of Contents Modeling workflow patterns... 4 Implementing the patterns... 4 Basic control flow patterns... 4 WCP 1- Sequence... 4 WCP 2-
John Noll, Ph.D. Research Associate, ATRIUM Laboratory, Marshall School of Business, University of Southern California,
CURRICULUM VITAE John Noll, Ph.D. Computer Engineering Department, Santa Clara University 500 El Camino Real, Santa Clara, CA 95053-0566 (415) 948-5795 [email protected] www.cse.scu.edu/ jnoll Education
BIS 3106: Business Process Management. Lecture Two: Modelling the Control-flow Perspective
BIS 3106: Business Process Management Lecture Two: Modelling the Control-flow Perspective Makerere University School of Computing and Informatics Technology Department of Computer Science SEM I 2015/2016
50 Computer Science MI-SG-FLD050-02
50 Computer Science MI-SG-FLD050-02 TABLE OF CONTENTS PART 1: General Information About the MTTC Program and Test Preparation OVERVIEW OF THE TESTING PROGRAM... 1-1 Contact Information Test Development
Query-Based Approach to Workflow Process Dependency Analysis Technical Report 01 Faculty of Science 2005
Query-Based Approach to Workflow Process Dependency Analysis Technical Report 01 Faculty of Science 2005 Weizhen Dai and H. Dominic Covvey School of Computer Science and the Waterloo Institute for Health
The Workflow Management Coalition Specification Workflow Management Coalition Terminology & Glossary
The Workflow Management Coalition Specification Workflow Management Coalition Terminology & Glossary Workflow The automation of a business process, in whole or part, during which documents, information
Solutions Guide. Deploying Citrix NetScaler with Microsoft Exchange 2013 for GSLB. citrix.com
Deploying Citrix NetScaler with Microsoft Exchange 2013 for GSLB Table of Contents Introduction 3 Overview of Microsoft Exchange 2013 3 Why NetScaler GSLB for Exchange 2013? 3 Topology 3 Single Namespace
Chapter 4 Software Lifecycle and Performance Analysis
Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and
How To Make Work Coordination More Flexible In A Computer System
Coordinating Distributed Software Development Projects with Integrated Process Modelling and Enactment Environments John Grundy, John Hosking and Rick Mugridge Department of Computer Science University
What is a life cycle model?
What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each
DATABASE SYSTEM CONCEPTS AND ARCHITECTURE CHAPTER 2
1 DATABASE SYSTEM CONCEPTS AND ARCHITECTURE CHAPTER 2 2 LECTURE OUTLINE Data Models Three-Schema Architecture and Data Independence Database Languages and Interfaces The Database System Environment DBMS
Distributed Data Management
Introduction Distributed Data Management Involves the distribution of data and work among more than one machine in the network. Distributed computing is more broad than canonical client/server, in that
NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0
NASCIO EA Development Tool-Kit Solution Architecture Version 3.0 October 2004 TABLE OF CONTENTS SOLUTION ARCHITECTURE...1 Introduction...1 Benefits...3 Link to Implementation Planning...4 Definitions...5
Activity Mining for Discovering Software Process Models
Activity Mining for Discovering Software Process Models Ekkart Kindler, Vladimir Rubin, Wilhelm Schäfer Software Engineering Group, University of Paderborn, Germany [kindler, vroubine, wilhelm]@uni-paderborn.de
Business Process Modeling Information Systems in Industry (372-1-4207 )
Business Process Modeling Information Systems in Industry (372-1-4207 ) Arnon Sturm The material of this presentation is adopted from various people including:, Pnina Soffer, Iris Reinhartz-Berger 1 Outline
MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS
MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS Tao Yu Department of Computer Science, University of California at Irvine, USA Email: [email protected] Jun-Jang Jeng IBM T.J. Watson
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) VERSION 2.1 SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS 1 TABLE OF CONTENTS INTRODUCTION... 3 About The Service-Oriented Modeling Framework
Architecture Design & Sequence Diagram. Week 7
Architecture Design & Sequence Diagram Week 7 Announcement Reminder Midterm I: 1:00 1:50 pm Wednesday 23 rd March Ch. 1, 2, 3 and 26.5 Hour 1, 6, 7 and 19 (pp.331 335) Multiple choice Agenda (Lecture)
Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53
Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software
Designing Real-Time and Embedded Systems with the COMET/UML method
By Hassan Gomaa, Department of Information and Software Engineering, George Mason University. Designing Real-Time and Embedded Systems with the COMET/UML method Most object-oriented analysis and design
Lecture. Process Modeling. Process Modeling Languages. Dr. Jürgen Münch. Contents of the Lecture
Lecture Languages Dr. Jürgen Münch Contents of the Lecture 1. Introduction and Scope 2. Terminology 3. Prescriptive Process Models 4. Descriptive 5. Languages 6. Tools 7. Project Planning 8. Project Monitoring
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2008 Vol. 7, No. 8, November-December 2008 What s Your Information Agenda? Mahesh H. Dodani,
Information Systems Analysis and Design CSC340. 2004 John Mylopoulos. Software Architectures -- 1. Information Systems Analysis and Design CSC340
XIX. Software Architectures Software Architectures UML Packages Client- vs Peer-to-Peer Horizontal Layers and Vertical Partitions 3-Tier and 4-Tier Architectures The Model-View-Controller Architecture
Configuration Management Models in Commercial Environments
Technical Report CMU/SEI-91-TR-7 ESD-9-TR-7 Configuration Management Models in Commercial Environments Peter H. Feiler March 1991 Technical Report CMU/SEI-91-TR-7 ESD-91-TR-7 March 1991 Configuration Management
D6 INFORMATION SYSTEMS DEVELOPMENT. SOLUTIONS & MARKING SCHEME. June 2013
D6 INFORMATION SYSTEMS DEVELOPMENT. SOLUTIONS & MARKING SCHEME. June 2013 The purpose of these questions is to establish that the students understand the basic ideas that underpin the course. The answers
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED DISCOVERY AND ANALYSIS MODEL LANGUAGE SPECIFICATIONS
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) VERSION 2.1 SERVICE-ORIENTED DISCOVERY AND ANALYSIS MODEL LANGUAGE SPECIFICATIONS 1 TABLE OF CONTENTS INTRODUCTION... 3 About The Service-Oriented Modeling Framework
Team Collaboration, Version Management, Audit Trails
Team Collaboration, Version Management, Audit Trails Best Practices for Successful Project Delivery with VoiceObjects May 2008 www.voiceobjects.com 2 Team Collaboration, Version Management, Audit Trails
Journal of Information Technology Management SIGNS OF IT SOLUTIONS FAILURE: REASONS AND A PROPOSED SOLUTION ABSTRACT
Journal of Information Technology Management ISSN #1042-1319 A Publication of the Association of Management SIGNS OF IT SOLUTIONS FAILURE: REASONS AND A PROPOSED SOLUTION MAJED ABUSAFIYA NEW MEXICO TECH
IBM WebSphere Operational Decision Management Improve business outcomes with real-time, intelligent decision automation
Solution Brief IBM WebSphere Operational Decision Management Improve business outcomes with real-time, intelligent decision automation Highlights Simplify decision governance and visibility with a unified
FACULTY OF COMPUTER SCIENCE AND INFORMATION TECHNOLOGY AUTUMN 2016 BACHELOR COURSES
FACULTY OF COMPUTER SCIENCE AND INFORMATION TECHNOLOGY Please note! This is a preliminary list of courses for the study year 2016/2017. Changes may occur! AUTUMN 2016 BACHELOR COURSES DIP217 Applied Software
MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES FIELD 050: COMPUTER SCIENCE
MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES Subarea Educational Computing and Technology Literacy Computer Systems, Data, and Algorithms Program Design and Verification Programming Language
1. Introduction... 1 1.1. What is Slice?... 1 1.2. Background... 1 1.3. Why Slice?... 1 1.4. Purpose of this Document... 1 1.5. Intended Audience...
Slice Documentation Slice Documentation 1. Introduction... 1 1.1. What is Slice?... 1 1.2. Background... 1 1.3. Why Slice?... 1 1.4. Purpose of this Document... 1 1.5. Intended Audience... 1 2. Features
Guiding Principles for Modeling and Designing Reusable Services
Guiding Principles for Modeling and Designing Reusable Services Max Dolgicer Managing Director International Systems Group, Inc. [email protected] http://www.isg-inc.com Agenda The changing notion
Agile Test Automation
Linda Hayes, Founder, Worksoft Inc. Shoeb Javed, Vice President of Engineering, Worksoft Inc. Contents Executive Summary/Intro...................................... 3 Continuous Integration Environment............................
How To Develop A Multi Agent System (Mma)
S-Tropos: An Iterative SPEM-Centric Software Project Management Process Yves Wautelet, Manuel Kolp, Youssef Achbany IAG Institut d Administration et de Gestion, ISYS Unité de Systèmes d Information, Université
Glossary of Object Oriented Terms
Appendix E Glossary of Object Oriented Terms abstract class: A class primarily intended to define an instance, but can not be instantiated without additional methods. abstract data type: An abstraction
CASSANDRA: Version: 1.1.0 / 1. November 2001
CASSANDRA: An Automated Software Engineering Coach Markus Schacher KnowGravity Inc. Badenerstrasse 808 8048 Zürich Switzerland Phone: ++41-(0)1/434'20'00 Fax: ++41-(0)1/434'20'09 Email: [email protected]
Towards Collaborative Requirements Engineering Tool for ERP product customization
Towards Collaborative Requirements Engineering Tool for ERP product customization Boban Celebic, Ruth Breu, Michael Felderer, Florian Häser Institute of Computer Science, University of Innsbruck 6020 Innsbruck,
EXHIBIT L. Application Development Processes
EXHIBIT L Application Development Processes Optum Development Methodology Development Overview Figure 1: Development process flow The Development phase consists of activities that include the building,
Workflow Object Driven Model
Workflow Object Driven Model Włodzimierz Dąbrowski 1,2, Rafał Hryniów 2 Abstract: Within the last decade the workflow management makes an incredible career. Technology connected with the workflow management
A MODERN DISTRIBUTION MANAGEMENT SYSTEM FOR REGIONAL ELECTRICITY COMPANIES
A MODERN DISTRIBUTION MANAGEMENT SYSTEM FOR REGIONAL ELECTRICITY COMPANIES A Roberts, T Berry, W D Wilson Schneider Electric Ltd, UK SYNOPSIS This paper describes the features of a modern Distribution
Classnotes 5: 1. Design and Information Flow A data flow diagram (DFD) is a graphical technique that is used to depict information flow, i.e.
Classnotes 5: 1. Design and Information Flow A data flow diagram (DFD) is a graphical technique that is used to depict information flow, i.e., a representation of information as a continuous flow that
Software Engineering
Software Engineering Lecture 06: Design an Overview Peter Thiemann University of Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Software Engineering SWT 1 / 35 The Design Phase Programming in
CISC 275: Introduction to Software Engineering. Lab 5: Introduction to Revision Control with. Charlie Greenbacker University of Delaware Fall 2011
CISC 275: Introduction to Software Engineering Lab 5: Introduction to Revision Control with Charlie Greenbacker University of Delaware Fall 2011 Overview Revision Control Systems in general Subversion
To introduce software process models To describe three generic process models and when they may be used
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
Implementing a Data Warehouse with Microsoft SQL Server 2012
Course 10777 : Implementing a Data Warehouse with Microsoft SQL Server 2012 Page 1 of 8 Implementing a Data Warehouse with Microsoft SQL Server 2012 Course 10777: 4 days; Instructor-Led Introduction Data
Programming in C# with Microsoft Visual Studio 2010
Introducción a la Programación Web con C# en Visual Studio 2010 Curso: Introduction to Web development Programming in C# with Microsoft Visual Studio 2010 Introduction to Web Development with Microsoft
Acme vs PDDL: support for dynamic reconfiguration of software architectures
Acme vs PDDL: support for dynamic reconfiguration of software architectures Jean-Eudes Méhus, Thais Batista & Jérémy Buisson [email protected] [email protected] [email protected]
Information integration platform for CIMS. Chan, FTS; Zhang, J; Lau, HCW; Ning, A
Title Information integration platform for CIMS Author(s) Chan, FTS; Zhang, J; Lau, HCW; Ning, A Citation IEEE International Conference on Management of Innovation and Technology Proceedings, Singapore,
An Automated Workflow System Geared Towards Consumer Goods and Services Companies
Proceedings of the 2014 International Conference on Industrial Engineering and Operations Management Bali, Indonesia, January 7 9, 2014 An Automated Workflow System Geared Towards Consumer Goods and Services
Driving Your Business Forward with Application Life-cycle Management (ALM)
Driving Your Business Forward with Application Life-cycle Management (ALM) Published: August 2007 Executive Summary Business and technology executives, including CTOs, CIOs, and IT managers, are being
Apex Code: The World s First On-Demand Programming Language
WHIT EP AP ER Apex Code: The World s First On-Demand Programming Language Contents Extending the Power of the Apex Platform... 1 Multi-tenancy and Programming Languages... 1 Apex Code Design and Syntax...
Exhibit F. VA-130620-CAI - Staff Aug Job Titles and Descriptions Effective 2015
Applications... 3 1. Programmer Analyst... 3 2. Programmer... 5 3. Software Test Analyst... 6 4. Technical Writer... 9 5. Business Analyst... 10 6. System Analyst... 12 7. Software Solutions Architect...
UML for the C programming language.
Functional-based modeling White paper June 2009 UML for the C programming language. Bruce Powel Douglass, PhD, IBM Page 2 Contents 2 Executive summary 3 FunctionalC UML profile 4 Functional development
An Oracle Best Practice Guide April 2012. Best Practices for Designing Contact Center Experiences with Oracle RightNow CX Cloud Service
An Oracle Best Practice Guide April 2012 Best Practices for Designing Contact Center Experiences with Oracle RightNow CX Cloud Service Introduction... 1 Understanding the Problem... 2 Addressing the Problem
Process Modelling from Insurance Event Log
Process Modelling from Insurance Event Log P.V. Kumaraguru Research scholar, Dr.M.G.R Educational and Research Institute University Chennai- 600 095 India Dr. S.P. Rajagopalan Professor Emeritus, Dr. M.G.R
Service Oriented Architecture (SOA) An Introduction
Oriented Architecture (SOA) An Introduction Application Evolution Time Oriented Applications Monolithic Applications Mainframe Client / Server Distributed Applications DCE/RPC CORBA DCOM EJB s Messages
DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES
DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES Robert M. Bruckner Vienna University of Technology [email protected] Beate List Vienna University of Technology [email protected]
Key Requirements for a Job Scheduling and Workload Automation Solution
Key Requirements for a Job Scheduling and Workload Automation Solution Traditional batch job scheduling isn t enough. Short Guide Overcoming Today s Job Scheduling Challenges While traditional batch job
Service-Oriented Architecture and Software Engineering
-Oriented Architecture and Software Engineering T-86.5165 Seminar on Enterprise Information Systems (2008) 1.4.2008 Characteristics of SOA The software resources in a SOA are represented as services based
Software Life-Cycle Management
Ingo Arnold Department Computer Science University of Basel Theory Software Life-Cycle Management Architecture Styles Overview An Architecture Style expresses a fundamental structural organization schema
Business Modeling with UML
Business Modeling with UML Hans-Erik Eriksson and Magnus Penker, Open Training Hans-Erik In order to keep up and be competitive, all companies Ericsson is and enterprises must assess the quality of their
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases Paul L. Bergstein, Priyanka Gariba, Vaibhavi Pisolkar, and Sheetal Subbanwad Dept. of Computer and Information Science,
Software Configuration Management. Context. Learning Objectives
Software Configuration Management Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Context Requirements Inception Elaboration Construction Transition
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED LOGICAL DESIGN MODEL LANGUAGE SPECIFICATIONS
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) VERSION 2.1 SERVICE-ORIENTED LOGICAL DESIGN MODEL LANGUAGE SPECIFICATIONS 1 TABLE OF CONTENTS INTRODUCTION... 3 About The -Oriented Modeling Framework (SOMF)...
ATM Case Study Part 1
ATM Case Study Part 1 A requirements document specifies the purpose of the ATM system and what it must do. Requirements Document A local bank intends to install a new automated teller machine (ATM) to
Business-Driven Software Engineering Lecture 3 Foundations of Processes
Business-Driven Software Engineering Lecture 3 Foundations of Processes Jochen Küster [email protected] Agenda Introduction and Background Process Modeling Foundations Activities and Process Models Summary
Chapter 13: Program Development and Programming Languages
Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented
Change Management. [email protected] ABSTRACT
Change Management James Tam, Saul Greenberg, and Frank Maurer Department of Computer Science University of Calgary Calgary, Alberta phone: +1 403 220 3532 [email protected] ABSTRACT In this paper,
Stock Trader System. Architecture Description
Stock Trader System Architecture Description Michael Stevens [email protected] http://www.mestevens.com Table of Contents 1. Purpose of Document 2 2. System Synopsis 2 3. Current Situation and Environment
Introduction to Database Systems
Introduction to Database Systems A database is a collection of related data. It is a collection of information that exists over a long period of time, often many years. The common use of the term database
Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students
Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent
