interactive automatic (rules) automatic (patterns) interactive REP ENVIRONMENT KERNEL

Size: px
Start display at page:

Download "interactive automatic (rules) automatic (patterns) interactive REP ENVIRONMENT KERNEL"

Transcription

1 AN APPROACH TO SOFTWARE CHANGE MANAGEMENT SUPPORT Jun Han Peninsula School of Computing and Information Technology Monash University, McMahons Road, Frankston, Vic 3199, Australia phone: , fax: , jhan@monash.edu.au A paper appeared in Proceedings of 15th IASTED International Conference on Applied Informatics (IASTED-AI'97), Innsbruck, Austria, February 1997, pages IASTED ACTA PRESS.

2 AN APPROACH TO SOFTWARE CHANGE MANAGEMENT SUPPORT JUN HAN Peninsula School of Computing and Information Technology Monash University, McMahons Road, Frankston, Vic 3199, Australia phone: , fax: , jhan@monash.edu.au ABSTRACT The process of software change is complex, and needs to be managed and assisted by automated tools. In this paper, we present an approachtosupporting software change management in software engineering environments. The major issues addressed include system representation, impact analysis and change propagation. In this approach, the change management activities are carried out on the original representation of software artifacts in the environment, rather than on a separate system model extracted. This enables assisted change propagation. We use both dependences and properties of software artifacts for impact analysis. Both impact analysis and change propagation areacombination of guided user intervention and automatic processing based on codied change patterns and propagation rules. Keywords: Software change management, tool support, impact analysis, change propagation. 1. INTRODUCTION The development and maintenance of a software system involves a large number of software artifacts, capturing the system's requirements, designs, implementations, testing suites, maintenance records, and so on. For various reasons such as error correction and changed system requirements, changes to these artifacts are often required during the system's initial development and consequentmaintenance. Since the software artifacts are logically related to each other, an initially proposed change may lead to a large number of modications to various artifacts. As such, the processofsoftware change needs to be managed and, if possible, assisted by automated tools. Over the years, we have seeneorts addressing issues related to software change management. They include process models for change management such as Prism [1], frameworks for comparing impact analysis methods [2], specic techniques for change impact analysis and change propagation such as program slicing [3] and program dependence graphs [4, 5, 6], and specic support systems for change management [7, 8, 9, 10]. In this paper, we address the tool support issues for software change management in the context of a software engineering environment [11, 12, 13]. In our approach, the kernel of the software engineering environment serves as a generic tool for change management. The policies and methods for change management in a particular application context can be codied to augment the environment kernel, so that the resulting environment provides the specic change management (as well as other) support as required. As such, this approach recognises the varied needs of different application contexts, which may be due to the nature of the particular system developed, the development methods and languages used, and so on. In the following discussions, we rst introduce a framework for software change management support in our approach, and then present strategies for the major change management issues addressed, including system representation, impact analysis, and change propagation. 2. A FRAMEWORK FOR CHANGE MANAGEMENT SUPPORT As mentioned above, dierent application contexts may require dierent development methods and languages, and may have dierent project management processes. In these varied contexts, the requirements for change management policies and methods as well as tool support change accordingly. For example, a specic tool supporting change impact analysis for programs written in COBOL may not be used in the context of C programs. To meet these varied needs in a more eective manner, we introduce a general framework for change management. This framework is based on a software engineering environment [11, 12, 13] so that the environment features such 1

3 CP IA REP artifacts interactive interactive dependences automatic (rules) automatic (patterns) properties ENVIRONMENT KERNEL FIGURE 1. A CONCEPTUAL ARCHITECTURE OF A CHANGE MANAGEMENT SYSTEM as those for software representation and presentation can be used for change management, provides general mechanisms for software change management such as impact analysis and change propagation models, and allows codication of context-specic change management requirements such as those specic to the development methods and system architectures, to provide the specic change management support as required. Within this framework, our approach provides support for the following three major aspects of software change management: system representation, impact analysis, and change propagation. A high-level conceptual architecture for change management support in our approach is shown in Figure 1. The system representation (REP) requirement is largely met by the environment kernel's existing capability for representing software artifacts, with only minimal extensions. Based on the underlying system representation, impact analysis (IA) employs artifact dependences, artifact properties and change patterns to identify consequent modications. Change propagation (CP) is essentially based on the impact analysis facilities and results with further enhancement in terms of making changes, including change propagation rules. The details of these major major components for change management are explained below. 3. SYSTEM REPRESENTATION Fundamental to any software change management system is the representation of software artifacts and their dependences. All issues of change management will be based on this underlying system representation. In the context of a proposed change, the software artifacts are objects of modication, and their dependences are among the means to realise the impact and propagation of modications. In addition, we also make use of the consistency properties of software artifacts and dependences for change management. While not usually addressed in the literature as such, the use of consistency properties provides additional exibility and expressiveness in specifying and managing change activities. In particular, they can be used to determine the impact of introducing or deleting a software artifact in the context of a proposed change (in the sense of maintaining their consistency). As in most software tools, we use syntax trees to represent software artifacts and use an augmented EBNF notation to dene their syntactic structures [12]. For example, a design document developed in the Booch method [14] may include a class diagram, state transition diagrams, and some other diagrams. A class diagram may include classes and other entities. DesignDoc = ClassDiagSpec f STD g... ClassDiagSpec = f Class g... An implementation document in C++ may include C++ classes, type declarations, and so on. ImpDoc = f ImpClass g f TypeDec g... The relationships (or dependences) between software artifacts or their components can be captured and represented in the environment as structural relations [12]. A structural relation connects one artifact (or component) to another artifact (or component). The relations are dened in terms of the connected artifacts (or components). For example, a Booch design class may have its own state transition diagram, there are relationships between the declaration and use of C++ types, and there are also relationships between the corresponding design and implementation classes. hasstd = <Class, STD> typetouse = <TypeDec, ImpClass...> hasimp = <Class, ImpClass> Additional structural properties or constraints may apply to software artifacts and their relationships as to their consistency [15]. For example, we may state that for a development to be complete, there must be an implementation class for each design class. propdilink = total(hasimp Class) Note that the above system representation for change management are in fact readily available as developed and maintained in the software engineering environment. Therefore, there is no extracted system model required. Impact analysis and change propagation can be performed on the actual software artifacts. The only additional issue to be considered is to nominate the artifact granularitylevel and restrict the relationships and properties for impact analysis and change propagation (since the actual representation in the environmentmayhave a ner granularity and may have relationships and properties for other purposes).

4 4. IMPACT ANALYSIS An essential part of software change management is to predict the system-wide impact of a change request before actually carrying out all the required modications to the system { impact analysis, sothat appropriate decisions related to the change request can be made, such as planning, scheduling and resourcing. From an initial set of modications derived from the change request, change impact analysis identies all the estimated consequent modications across the entire system, based on the dependence relationships and the consistency properties. Because of the varied situations captured by the dependences and consistency properties, the set of estimated consequent modications may contain those that are actually not required [2]. To make the estimated change set closer to the actual change set, our approach facilitates (1) automatic determination through codied change patterns (for well-dened cases) and (2) interactive determination by the user (for the rest). The object of a modication is a software artifact (or component), or a dependence. The types of possible modications for an object are update, introduction and deletion. Therefore, a modication is characterised by a pair: (obj m type), where obj is the object of modication and m type is the type of modication. For an initiating modication (obj I m type I ), the potential objects of immediate impact are the objects that are involved with obj I in dependences, properties, derived dependences, or derived properties. The cases based on derived dependences or properties capture the situations where a potential consequent impact can not be directly captured by a dened dependence or property. In general, these situations can be captured by a change pattern. Change patterns can be used (1) to characterise derived dependences and properties, and (2) to resolve whether a potential consequent modication is an actual one. Achange pattern takes the following format: fmod I 1 mod I 2 :::g!fmod C 1 mod C 2 :::g : exp B which states that the initiating modications mod Ij (j =1 2 :::) will together result in modications mod Ck (k =1 2 :::) if and only if the Boolean expression exp B is true. In general, the Boolean expression states the relationship among or properties about, the objects involved. For a potential consequent modication (identi- ed based on either dependences, properties, or derived dependences and properties), in general, the environment will rst try to nd a matching change pattern. If found, the pattern is applied and the potential consequent modication is resolved. Otherwise, the scenario is presented to the user for resolution. Upon completion of impact analysis, we are left with a set of identied actual modications (required) together with the impact relationships between them. If an update is required for a design class in the above example, the support environment will identify its state transition diagram as a potentially impacted object according to the hasstd dependence between them. When presented to the user, it can be conrmed or eliminated. When a new design class needs to be introduced, the environment will identify the need to introduce a corresponding implementation class as a potential impact for user resolution, which is based on the dened property propdilink. To identify the impact that an update on a design class's state transition diagram will cause an update on its implementation class, we may introduce the following change pattern: f(a : STD update)g!f(b : ImpClass update)g : (c b) 2 hasimp ^ (c a) 2 hasstd With this change pattern, the environment will automatically conrm the impact. 5. CHANGE PROPAGATION We refer to the process of actually carrying out the initial and consequent modications as change propagation. In terms of management, making the initial modications is straightforward. The challenges come from making the consequent modications to re-establish system consistency. The basic tool support would involve advising the user the artifacts to be modied and the types and order of the modications. This can be based on the impact analysis result. The simplest way to carry out the modications is to follow the impact relationships between the identied modications. For example, we may rst update a state transition diagram and then update the related implementation classes in the scenario captured by the change pattern given above. In certain well-dened cases, the change process can be further assisted by codifying rules for change propagation in the environment and letting the environment carry out some of the consequent modications automatically upon the completion of their initiating modications. These rules are similar to change patterns, but with an additional action component for making the consequent modications. For example, we may realise the eect of introducing an implementation class caused by introducing its corresponding design class in two steps: (1) introduce automatically askeleton for the implementation class as well as the hasimp dependence between the classes, and (2) let the user ll in the class details in an update. The rst

5 step can be codied in the following rule: f(a : Class introduction)g! fmod :(b : ImpClass introduction) (r : hasimp introduction)g : < a r b > by begin b = introimpclass() introrel(a b hasimp) intromod(b "update" mod) end where introimpclass is a function for introducing a skeleton implementation class, introrel is a primitive function for introducing a relationship, and intromod is a function for introducing a new modication, (b update), which is related to the initiating modication mod. In general, therefore, change propagation is realised through a combination of rule-based automatic change propagation and tool-guided user intervention. 6. CONCLUSIONS In this paper we have introduced an approach to providing software change management support in software engineering environments. In clear contrast to existing approaches, our approach directly uses the environment representation of software artifacts and their dependences, so that no extracted system representation is required and automated change propagation becomes possible. In addition to dependences, we have also used properties about software artifacts and dependences for impact analysis, to achieve greater exibility and expressiveness. Both the impact analysis and change propagation employ a combination of automatic process (based on change patterns and propagation rules) and guided user intervention. We are currently planning to implement the approach in our software engineering environment, so that it can be easily tailored for various application contexts. REFERENCES [1] N.H. Madhavji. The Prism model of changes. In Proc. of 13th Intl. Conf. on Software Engineering, Austin, USA, 1991, 166{177. [2] R.S. Arnald and S.A. Bohner. Impact analysis { towards a framework for comparison. In Proc. of 1993 Intl. Conf. on Software Maintenance, Montreal, Canada, 1993, 292{301. [3] M. Weiser. Program slicing. IEEE Trans. on Software Engineering, SE-10(4), 1984, 352{357. [4] A. Podgurski and L.A. Clarke. A formal model of program dependences and its implication for software testing, debugging, and maintenance. IEEE Trans. on Software Engineering, SE-16(9), 1990, 965{979. [5] J.P. Loyall and S.A. Mathisen. Using dependence analysis to support the software maintenance process. In Proc. of 1993 Intl. Conf. on Software Maintenance, Montreal, Canada, 1993, 282{291. [6] R. Al-Zoubi and Prakash. A. Program view generation and change analysis using attributed dependence graphs. Software Maintenance: Research and Practice, 7, 1995, 239{261. [7] G. Kaiser, P. Feiler, and S. Popovic. Intelligent assistance for software development and maintenance. IEEE Software, 5(3), 1988, 40{49. [8] G. Avellis. CASE support for software evolution: A dependency approach to control the change process. In Proc. of Fifth Intl. Workshop on Computer-Aided Software Engineering, Montreal, Canada, 1992, 62{73. [9] K. Gondow, T. Imaizumi, Y. Shinoda, and T. Katayama. Change management and consistency maintenance in software development environments using object oriented attribute grammars. In Proc. of First JSSST Intl. Sym. on Object Technologies for Advanced Software, Kanazawa, Japan, 1993, 75{94. [10] S. Barros, Th. Bodhuin, et al. Supporting impact analysis: A semi-automated technique and associated tool. In Proc. of 1995 Intl. Conf. on Software Maintenance, Nice, France, 1995, 42{51. [11] J. Welsh and J. Han. Software documents: Concepts and tools. Software Concepts and Tools, 15(1), 1994, 12{25. [12] J. Han. Software documents, their relationships and properties. In Proc. of 1st Asia-Pacic Software Engineering Conf., Tokyo, Japan, 1994, 102{111. [13] J. Han. A document-based approach to software engineering environments. In Proc. of 5th Intl. CASE Sym., Changsha, China, 1995, 128{133. [14] G Booch. Object-Oriented Design with Applications. (Benjamin/Cummings, second edition, 1994). [15] J. Han. Specifying the structural properties of software documents. Journal of Computing and Information, 1, 1995, 1333{1351.

Supporting Impact Analysis and Change Propagation in Software Engineering Environments

Supporting Impact Analysis and Change Propagation in Software Engineering Environments Supporting Impact Analysis and Change Propagation in Software Engineering Environments Jun Han Peninsula School of Computing and Information Technology Monash TJniversity, McMahons Road, Frankston, Vie

More information

Common Criteria For Information Technology Security Evaluation

Common Criteria For Information Technology Security Evaluation Security Characterisation and Integrity Assurance for Software Components and Component-Based Systems Jun Han and Yuliang Zheng Peninsula School of Computing and Information Technology Monash University,

More information

Information security management. Consistency. Requirement Harmoniztion. Refinenemt. criteria

Information security management. Consistency. Requirement Harmoniztion. Refinenemt. criteria A Framework for the Management of Information Security Jussipekka Leiwo, Chandana Gamage and Yuliang Zheng Peninsula School of Computing and Information Technology Monash University McMahons Road, Frankston,

More information

call_entry incident_mgr call_info_channel incident_info_request_rpc incident_update _channel resource_mgr map_request_rpc1 dispatch_ request_ channel

call_entry incident_mgr call_info_channel incident_info_request_rpc incident_update _channel resource_mgr map_request_rpc1 dispatch_ request_ channel Using Dependence Analysis to Support Software Architecture Understanding Jianjun Zhao Department of Computer Science and Engineering Fukuoka Institute of Technology 3-10-1 Wajiro-Higashi, Higashi-ku, Fukuoka

More information

In Proceedings of the Sixteenth National Conference on Articial Intelligence (AAAI-99), Designing Scripts to Guide Users in Modifying Knowledge-based

In Proceedings of the Sixteenth National Conference on Articial Intelligence (AAAI-99), Designing Scripts to Guide Users in Modifying Knowledge-based In Proceedings of the Sixteenth National Conference on Articial Intelligence (AAAI-99), July 1999, Orlando, Florida Designing Scripts to Guide Users in Modifying Knowledge-based Systems Marcelo Tallis

More information

System Architectures for Integrating Web-Based User Interfaces into (Legacy) Database Applications

System Architectures for Integrating Web-Based User Interfaces into (Legacy) Database Applications System Architectures for Integrating Web-Based User Interfaces into (Legacy) Database Applications Jun Han, Peninsula School of Computing and Information Technology, Monash University, McMahons Road, Frankston,

More information

Prediction of Software Development Modication Eort Enhanced by a Genetic Algorithm

Prediction of Software Development Modication Eort Enhanced by a Genetic Algorithm Prediction of Software Development Modication Eort Enhanced by a Genetic Algorithm Gerg Balogh, Ádám Zoltán Végh, and Árpád Beszédes Department of Software Engineering University of Szeged, Szeged, Hungary

More information

A Knowledge-based Product Derivation Process and some Ideas how to Integrate Product Development

A Knowledge-based Product Derivation Process and some Ideas how to Integrate Product Development A Knowledge-based Product Derivation Process and some Ideas how to Integrate Product Development (Position paper) Lothar Hotz and Andreas Günter HITeC c/o Fachbereich Informatik Universität Hamburg Hamburg,

More information

Architecture bits. (Chromosome) (Evolved chromosome) Downloading. Downloading PLD. GA operation Architecture bits

Architecture bits. (Chromosome) (Evolved chromosome) Downloading. Downloading PLD. GA operation Architecture bits A Pattern Recognition System Using Evolvable Hardware Masaya Iwata 1 Isamu Kajitani 2 Hitoshi Yamada 2 Hitoshi Iba 1 Tetsuya Higuchi 1 1 1-1-4,Umezono,Tsukuba,Ibaraki,305,Japan Electrotechnical Laboratory

More information

Representing XML Schema in UML A Comparison of Approaches

Representing XML Schema in UML A Comparison of Approaches Representing XML Schema in UML A Comparison of Approaches Martin Bernauer, Gerti Kappel, Gerhard Kramler Business Informatics Group, Vienna University of Technology, Austria {lastname}@big.tuwien.ac.at

More information

Assessing Impacts of Changes to Business Rules through Data Exploration

Assessing Impacts of Changes to Business Rules through Data Exploration Assessing Impacts of Changes to Business Rules through Data Exploration Suzanne M. Embury, David Willmor and Lei Dang School of Computer Science, University of Manchester, Oxford Road, Manchester, M13

More information

Chapter 6: Programming Languages

Chapter 6: Programming Languages Chapter 6: Programming Languages Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Chapter 6: Programming Languages 6.1 Historical Perspective

More information

Clustering and scheduling maintenance tasks over time

Clustering and scheduling maintenance tasks over time Clustering and scheduling maintenance tasks over time Per Kreuger 2008-04-29 SICS Technical Report T2008:09 Abstract We report results on a maintenance scheduling problem. The problem consists of allocating

More information

TAOS: Testing with Analysis and Oracle Support. Debra J. Richardson. University of California. 714-856-7353 djr@ics.uci.edu.

TAOS: Testing with Analysis and Oracle Support. Debra J. Richardson. University of California. 714-856-7353 djr@ics.uci.edu. TAOS: Testing with Analysis and Oracle Support Debra J. Richardson Information and Computer Science University of California Irvine, California 92717-3425 714-856-7353 djr@ics.uci.edu Abstract Few would

More information

Dynamic conguration management in a graph-oriented Distributed Programming Environment

Dynamic conguration management in a graph-oriented Distributed Programming Environment Science of Computer Programming 48 (2003) 43 65 www.elsevier.com/locate/scico Dynamic conguration management in a graph-oriented Distributed Programming Environment Jiannong Cao a;, Alvin Chan a, Yudong

More information

Change Impact Analysis for the Software Development Phase: State-of-the-art

Change Impact Analysis for the Software Development Phase: State-of-the-art Change Impact Analysis for the Software Development Phase: State-of-the-art Nazri Kama Advanced Informatics School, Universiti Teknologi Malaysia, Malaysia nazrikama@ic.utm.my Abstract Impact analysis

More information

Run-time Variability Issues in Software Product Lines

Run-time Variability Issues in Software Product Lines Run-time Variability Issues in Software Product Lines Alexandre Bragança 1 and Ricardo J. Machado 2 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal, alexandre.braganca@i2s.pt 2 Dep.

More information

Some Methodological Clues for Defining a Unified Enterprise Modelling Language

Some Methodological Clues for Defining a Unified Enterprise Modelling Language Some Methodological Clues for Defining a Unified Enterprise Modelling Language Michaël Petit University of Namur, Belgium, mpe@info.fundp.ac.be Abstract The need for a Unified Enterprise Modelling Language

More information

Chap 1. Introduction to Software Architecture

Chap 1. Introduction to Software Architecture Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)

More information

A METHOD FOR REWRITING LEGACY SYSTEMS USING BUSINESS PROCESS MANAGEMENT TECHNOLOGY

A METHOD FOR REWRITING LEGACY SYSTEMS USING BUSINESS PROCESS MANAGEMENT TECHNOLOGY A METHOD FOR REWRITING LEGACY SYSTEMS USING BUSINESS PROCESS MANAGEMENT TECHNOLOGY Gleison Samuel do Nascimento, Cirano Iochpe Institute of Informatics, Federal University of Rio Grande do Sul, Porto Alegre,

More information

From Object Oriented Conceptual Modeling to Automated Programming in Java

From Object Oriented Conceptual Modeling to Automated Programming in Java From Object Oriented Conceptual Modeling to Automated Programming in Java Oscar Pastor, Vicente Pelechano, Emilio Insfrán, Jaime Gómez Department of Information Systems and Computation Valencia University

More information

Ontology-based Archetype Interoperability and Management

Ontology-based Archetype Interoperability and Management Ontology-based Archetype Interoperability and Management Catalina Martínez-Costa, Marcos Menárguez-Tortosa, J. T. Fernández-Breis Departamento de Informática y Sistemas, Facultad de Informática Universidad

More information

Different Approaches using Change Impact Analysis of UML Based Design for Software Development

Different Approaches using Change Impact Analysis of UML Based Design for Software Development Different Approaches using Change Impact Analysis of UML Based Design for Software Development Ali Tariq Bhatti 1, Muhammad Murad Haider 2, Zill-e-Subhan 2 1 North Carolina A&T State University, Greensboro

More information

PS engine. Execution

PS engine. Execution A Model-Based Approach to the Verication of Program Supervision Systems Mar Marcos 1 y, Sabine Moisan z and Angel P. del Pobil y y Universitat Jaume I, Dept. of Computer Science Campus de Penyeta Roja,

More information

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

More information

A Type Management System for an ODP Trader

A Type Management System for an ODP Trader A Type Management System for an ODP Trader J. Indulskaa, M. Bearmanband K. Raymondc acrc for Distributed Systems Technology, Department of Computer Science, University of Queensland, Brisbane 4072, Australia

More information

Requirements. Version Control History. Implementation Technology. Software Process. Developers

Requirements. Version Control History. Implementation Technology. Software Process. Developers If Your Version Control System Could Talk... Thomas Ball Jung-Min Kim Adam A. Porter Harvey P. Siy Bell Laboratories Dept. of Computer Sciences Bell Laboratories Lucent Technologies University of Maryland

More information

Programming Languages. 2013 The McGraw-Hill Companies, Inc. All rights reserved.

Programming Languages. 2013 The McGraw-Hill Companies, Inc. All rights reserved. Define programming of and describe the six steps of programming. Discuss design tools including top-down design, pseudocode, flowcharts, and logic structures. Describe program testing and the tools for

More information

Modeling Temporal Data in Electronic Health Record Systems

Modeling Temporal Data in Electronic Health Record Systems International Journal of Information Science and Intelligent System, 3(3): 51-60, 2014 Modeling Temporal Data in Electronic Health Record Systems Chafiqa Radjai 1, Idir Rassoul², Vytautas Čyras 3 1,2 Mouloud

More information

EVALUATION BY PARTS OF TRUSTED. Ravi S. Sandhu. George Mason University, Fairfax, VA 22030-4444

EVALUATION BY PARTS OF TRUSTED. Ravi S. Sandhu. George Mason University, Fairfax, VA 22030-4444 Proc. 4th RADC Workshop on Multilevel Database Security, Rhode Island, April 1991, pages 122-126. EVALUATION BY PARTS OF TRUSTED DATABASE MANAGEMENT SYSTEMS Ravi S. Sandhu Center for Secure Information

More information

Supporting iterations in exploratory database reengineering processes

Supporting iterations in exploratory database reengineering processes Science of Computer Programming 45 (2002) 99 136 www.elsevier.com/locate/scico Supporting iterations in exploratory database reengineering processes Jens H. Jahnke a;, Wilhelm Schafer b,jorg P. Wadsack

More information

Recovering Business Rules from Legacy Source Code for System Modernization

Recovering Business Rules from Legacy Source Code for System Modernization Recovering Business Rules from Legacy Source Code for System Modernization Erik Putrycz, Ph.D. Anatol W. Kark Software Engineering Group National Research Council, Canada Introduction Legacy software 000009*

More information

A Visualization Method to Support Impacts Analysis in Program Understanding

A Visualization Method to Support Impacts Analysis in Program Understanding A Visualization Method to Support Impacts Analysis in Program Understanding Rita Noremi Bt Mohamad Centre for Advanced Software Engineering (CASE) Universiti Teknologi Malaysia Kuala Lumpur, Malaysia rit_emi78@yahoo.com

More information

Generating Aspect Code from UML Models

Generating Aspect Code from UML Models Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany Iris.Groher@fh-hagenberg.at Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,

More information

Change Pattern-Driven Traceability of Business Processes

Change Pattern-Driven Traceability of Business Processes Proceedings of the International MultiConference of Engineers and Computer Scientists 2014 Vol I,, March 12-14, 2014, Hong Kong Change Pattern-Driven Traceability of Business Processes Watcharin Uronkarn

More information

Semantic interoperability of dual-model EHR clinical standards

Semantic interoperability of dual-model EHR clinical standards Semantic interoperability of dual-model EHR clinical standards Catalina Martínez-Costa Departamento de Informática y Sistemas, Facultad de Informática Universidad de Murcia, CP 30100, Murcia cmartinezcosta@um.es

More information

Change Management: Modeling Software Product Lines Evolution

Change Management: Modeling Software Product Lines Evolution Change Management: Modeling Software Product Lines Evolution Samuel A. Ajila, Ph.D. MIEEE Department of Systems & Computer Engineering, Carleton University, 25 Colonel By Drive, Ottawa, Ontario, KS 5B6,

More information

Impact Analysis for Supporting the Co-Evolution of Business Processes and Supporting Software Systems

Impact Analysis for Supporting the Co-Evolution of Business Processes and Supporting Software Systems Impact Analysis for Supporting the Co-Evolution of Business Processes and Supporting Software Systems Thierry Bodhuin, Raffaele Esposito, Cristina Pacelli and Maria Tortorella RCOST - Research Centre On

More information

Universal. Event. Product. Computer. 1 warehouse.

Universal. Event. Product. Computer. 1 warehouse. Dynamic multi-dimensional models for text warehouses Maria Zamr Bleyberg, Karthik Ganesh Computing and Information Sciences Department Kansas State University, Manhattan, KS, 66506 Abstract In this paper,

More information

Oscillations of the Sending Window in Compound TCP

Oscillations of the Sending Window in Compound TCP Oscillations of the Sending Window in Compound TCP Alberto Blanc 1, Denis Collange 1, and Konstantin Avrachenkov 2 1 Orange Labs, 905 rue Albert Einstein, 06921 Sophia Antipolis, France 2 I.N.R.I.A. 2004

More information

A Multi-Layer Distributed Development. Abstract. complex devices which may be dicult to model from an abstract point of view.

A Multi-Layer Distributed Development. Abstract. complex devices which may be dicult to model from an abstract point of view. A Multi-Layer Distributed Development Environment for Mobile Robotics Gregory Dudek Research Centre for Intelligent Machines McGill University Montreal, Quebec, Canada Michael Jenkin Department of Computer

More information

Language. Johann Eder. Universitat Klagenfurt. Institut fur Informatik. Universiatsstr. 65. A-9020 Klagenfurt / AUSTRIA

Language. Johann Eder. Universitat Klagenfurt. Institut fur Informatik. Universiatsstr. 65. A-9020 Klagenfurt / AUSTRIA PLOP: A Polymorphic Logic Database Programming Language Johann Eder Universitat Klagenfurt Institut fur Informatik Universiatsstr. 65 A-9020 Klagenfurt / AUSTRIA February 12, 1993 Extended Abstract The

More information

Software Reexion Models: Bridging the Gap between Source and High-Level Models 3. Box 352350 Charlottesville VA, USA 22903.

Software Reexion Models: Bridging the Gap between Source and High-Level Models 3. Box 352350 Charlottesville VA, USA 22903. Software Reexion Models: Bridging the Gap between Source and High-Level Models 3 Gail C. Murphy and David Notkin Kevin Sullivan Dept. of Computer Science & Engineering Dept. of Computer Science University

More information

Merging of Data Flow Diagram with Unified Modeling Language

Merging of Data Flow Diagram with Unified Modeling Language International Journal of Scientific and Research Publications, Volume 2, Issue 8, August 2012 1 Merging of Data Flow with Unified Modeling Language Kirti Tiwari, Alpika Tripathi, Shipra Sharma, Vandana

More information

The Universe of Discourse Design with Visible Context

The Universe of Discourse Design with Visible Context The Universe of Discourse Design with Visible Context Rational GUI Andrew U. Frank TU Wien, Department of Geoinformation Gusshausstrasse 27-29/E127.1 A-1040 Vienna, Austria frank@geoinfo.tuwien.ac.at for

More information

SYSTEMS AND SOFTWARE REQUIREMENTS SPECIFICATION (SSRS) TEMPLATE. Version A.4, January 2014 FOREWORD DOCUMENT CONVENTIONS

SYSTEMS AND SOFTWARE REQUIREMENTS SPECIFICATION (SSRS) TEMPLATE. Version A.4, January 2014 FOREWORD DOCUMENT CONVENTIONS SYSTEMS AND SOFTWARE REQUIREMENTS SPECIFICATION (SSRS) TEMPLATE Version A.4, January 2014 FOREWORD This document was written to provide software development projects with a template for generating a System

More information

Calculation Example Rolling Bearings According to to DIN ISO 281

Calculation Example Rolling Bearings According to to DIN ISO 281 Calculation Example Rolling Bearings According to to DIN ISO 281 Release July 2013 c 2013 GWJ Technology GmbH Rebenring 31 38106 Braunschweig Tel.: +49 (0) 531 129 399-0 Contents 0.1 Calculation Examples:

More information

Environments. Peri Tarr. Lori A. Clarke. Software Development Laboratory. University of Massachusetts

Environments. Peri Tarr. Lori A. Clarke. Software Development Laboratory. University of Massachusetts Pleiades: An Object Management System for Software Engineering Environments Peri Tarr Lori A. Clarke Software Development Laboratory Department of Computer Science University of Massachusetts Amherst,

More information

Exercises Engenharia de Software (cod. 5386 & 6633 )

Exercises Engenharia de Software (cod. 5386 & 6633 ) Exercises Engenharia de Software (cod. 5386 & 6633 ) Departamento de Informática Universidade da Beira Interior Ano lectivo 2010/2011 These exercises are taken from Software Engineering, 9th edition, Pearson

More information

MERGING ONTOLOGIES AND OBJECT-ORIENTED TECHNOLOGIES FOR SOFTWARE DEVELOPMENT

MERGING ONTOLOGIES AND OBJECT-ORIENTED TECHNOLOGIES FOR SOFTWARE DEVELOPMENT 23-24 September, 2006, BULGARIA 1 MERGING ONTOLOGIES AND OBJECT-ORIENTED TECHNOLOGIES FOR SOFTWARE DEVELOPMENT Dencho N. Batanov Frederick Institute of Technology Computer Science Department Nicosia, Cyprus

More information

TeCReVis: A Tool for Test Coverage and Test Redundancy Visualization

TeCReVis: A Tool for Test Coverage and Test Redundancy Visualization TeCReVis: A Tool for Test Coverage and Test Redundancy Visualization Negar Koochakzadeh Vahid Garousi Software Quality Engineering Research Group University of Calgary, Canada Acknowledging funding and

More information

Proc. of the 3rd Intl. Conf. on Document Analysis and Recognition, Montreal, Canada, August 1995. 1

Proc. of the 3rd Intl. Conf. on Document Analysis and Recognition, Montreal, Canada, August 1995. 1 Proc. of the 3rd Intl. Conf. on Document Analysis and Recognition, Montreal, Canada, August 1995. 1 A Map Acquisition, Storage, Indexing, and Retrieval System Hanan Samet Aya Soer Computer Science Department

More information

The Consequences of Process Modeling For Compliance

The Consequences of Process Modeling For Compliance Standards Compliant Software Development Wolfgang Emmerich, Anthony Finkelstein Interoperable Systems Research Centre City University London EC1V 0HB, UK femmerich j acwfg@cs.city.ac.uk Carlo Montangero

More information

On the general structure of ontologies of instructional models

On the general structure of ontologies of instructional models On the general structure of ontologies of instructional models Miguel-Angel Sicilia Information Engineering Research Unit Computer Science Dept., University of Alcalá Ctra. Barcelona km. 33.6 28871 Alcalá

More information

The Nature and Importance of a Programming Paradigm

The Nature and Importance of a Programming Paradigm Multiple Software Development Paradigms and Multi-Paradigm Software Development Valentino Vranić vranic@elf.stuba.sk Abstract: While OOP (including OOA/D) is reaching the level of maturity of structured

More information

Generating Test Cases from UML Specications by Aynur Abdurazik and Je Outt ISE-TR-99-09 May, 1999 Information and Software Engineering George Mason University Fairfax, Virginia 22030 Unlimited Distribution.

More information

4. Multiagent Sys stems Design. Part 2: The PROMETHEUS methodology.

4. Multiagent Sys stems Design. Part 2: The PROMETHEUS methodology. 4. Multiagent Systems Design Part 2: Multiagent Syste ems (SMA-UPC) https://kemlg.upc.edu The PROMETHEUS methodology. Javier Vázquez-Salceda SMA-UPC Methodological Extensions to Object-Oriented Approaches

More information

Collaborating Software Engineering Processes in Tempo. Noureddine Belkhatir. e-mail: belkhatir@imag.fr. a module or program alone. When a small group

Collaborating Software Engineering Processes in Tempo. Noureddine Belkhatir. e-mail: belkhatir@imag.fr. a module or program alone. When a small group Collaborating Software Engineering Processes in Tempo Walcelio L. Melo University of Maryland UMIACS, College Park, MD, 20742 USA e-mail: melo@umiacs.umd.edu Noureddine Belkhatir LGI BP 53 38041 Grenoble

More information

Minimizing the Eect of Clock Skew. Via Circuit Retiming 1. Technical Report 93-5-04. May, 1992

Minimizing the Eect of Clock Skew. Via Circuit Retiming 1. Technical Report 93-5-04. May, 1992 Minimizing the Eect of Clock kew Via Circuit Retiming 1 Brian Lockyear and Carl Ebeling Department of Computer cience and Engineering University of Washington eattle, Washington 98195 Technical Report

More information

Model-driven Adapter Development for Web Services Interactions

Model-driven Adapter Development for Web Services Interactions Model-driven Adapter Development for Web Services Interactions Hamid Reza Motahari Nezhad 1;2 1 The School of Computer Science and Engineering, The University Of New South Wales Sydney, NSW 2052, Australia

More information

A Framework towards the Verication of Emergent Properties in Spatial Multi-Agent Systems

A Framework towards the Verication of Emergent Properties in Spatial Multi-Agent Systems PROCEEDINGS OF THE WORKSHOP ON APPLICATIONS OF SOFTWARE AGENTS ISBN 978-86-7031-188-6, pp. 37-44, 2011 A Framework towards the Verication of Emergent Properties in Spatial Multi-Agent Systems Isidora Petreska

More information

visualization. Data Generation Application

visualization. Data Generation Application ToolBlocks: An Infrastructure for the Construction of Memory Hierarchy Tools. Timothy Sherwood and Brad Calder University of California, San Diego fsherwood,calderg@cs.ucsd.edu Abstract. In an era dominated

More information

INTERNET-BASED COLLABORATIVE PROGRAMMING TECHNIQUES AND ENVIRONMENTS

INTERNET-BASED COLLABORATIVE PROGRAMMING TECHNIQUES AND ENVIRONMENTS INTERNET-BASED COLLABORATIVE PROGRAMMING TECHNIQUES AND ENVIRONMENTS By Haifeng Shen A DISSERTATION SUBMITTED IN FULFILLMENT OF THE REQUIREMENTS OF THE DEGREE OF DOCTOR OF PHILOSOPHY AT THE SCHOOL OF COMPUTING

More information

programming languages, programming language standards and compiler validation

programming languages, programming language standards and compiler validation Software Quality Issues when choosing a Programming Language C.J.Burgess Department of Computer Science, University of Bristol, Bristol, BS8 1TR, England Abstract For high quality software, an important

More information

Fault Localization in a Software Project using Back- Tracking Principles of Matrix Dependency

Fault Localization in a Software Project using Back- Tracking Principles of Matrix Dependency Fault Localization in a Software Project using Back- Tracking Principles of Matrix Dependency ABSTRACT Fault identification and testing has always been the most specific concern in the field of software

More information

Journal of Information Technology Management SIGNS OF IT SOLUTIONS FAILURE: REASONS AND A PROPOSED SOLUTION ABSTRACT

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

More information

An Algebra for Feature-Oriented Software Development

An Algebra for Feature-Oriented Software Development An Algebra for Feature-Oriented Software Development Sven Apel 1, Christian Lengauer 1, Don Batory 2, Bernhard Möller 3, and Christian Kästner 4 1 Department of Informatics and Mathematics, University

More information

Rune Hjelsvold. Department of Computer Systems and Telematics. Norwegian Institute of Technology

Rune Hjelsvold. Department of Computer Systems and Telematics. Norwegian Institute of Technology Sharing and Reuse of Video Information Rune Hjelsvold Department of Computer Systems and Telematics Norwegian Institute of Technology N-7034 TRONDHEIM NORWAY Abstract Video information is starting to penetrate

More information

Resource Access Control for an Internet User Agent

Resource Access Control for an Internet User Agent The following paper was originally published in the Proceedings of the Third USENIX Conference on Object-Oriented Technologies and Systems Portland, Oregon, June 1997 Resource Access Control for an Internet

More information

This is an author-deposited version published in : http://oatao.univ-toulouse.fr/ Eprints ID : 15447

This is an author-deposited version published in : http://oatao.univ-toulouse.fr/ Eprints ID : 15447 Open Archive TOULOUSE Archive Ouverte (OATAO) OATAO is an open access repository that collects the work of Toulouse researchers and makes it freely available over the web where possible. This is an author-deposited

More information

Pico Lisp A Radical Approach to Application Development

Pico Lisp A Radical Approach to Application Development Pico Lisp A Radical Approach to Application Development Software Lab. Alexander Burger Bahnhofstr. 24a, D-86462 Langweid abu@software-lab.de (www.software-lab.de) +49-(0)821-9907090 June 22, 2006 Abstract

More information

A process-driven methodological approach for the design of telecommunications management systems

A process-driven methodological approach for the design of telecommunications management systems A process-driven methodological approach for the design of telecommunications management systems Thierry FRAIZE, Julio VILLENA, Jean-Daniel GUEDJ TELECOM ARGENTINA Av Dorrego 2520 (1425) Buenos Aires Argentina

More information

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Tool Support for Software Variability Management and Product Derivation in Software Product Lines Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,

More information

X-DB Modernize. What s Inside. Database Modernization, including DDS-to-DDL Conversion and Detailed Impact Analysis.

X-DB Modernize. What s Inside. Database Modernization, including DDS-to-DDL Conversion and Detailed Impact Analysis. X-DB Modernize Database Modernization, including DDS-to-DDL Conversion and Detailed Impact Analysis What s Inside A description of X-DB Modernize, the heart of the Database Modernization module in X-Analysis.

More information

A Componentware Methodology based on Process Patterns Klaus Bergner, Andreas Rausch Marc Sihling, Alexander Vilbig Institut fur Informatik Technische Universitat Munchen D-80290 Munchen http://www4.informatik.tu-muenchen.de

More information

Keywords Aspect-Oriented Modeling, Rule-based graph transformations, Aspect, pointcuts, crosscutting concerns.

Keywords Aspect-Oriented Modeling, Rule-based graph transformations, Aspect, pointcuts, crosscutting concerns. Volume 4, Issue 5, May 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Functional and Non-Functional

More information

A methodology for secure software design

A methodology for secure software design A methodology for secure software design Eduardo B. Fernandez Dept. of Computer Science and Eng. Florida Atlantic University Boca Raton, FL 33431 ed@cse.fau.edu 1. Introduction A good percentage of the

More information

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture Delmir de Azevedo Junior 1 and Renato de Campos 2 1 Petrobras University, Republican

More information

Formalization of Functional Requirements and Their Traceability in UML Diagrams A Z Notation Based Approach

Formalization of Functional Requirements and Their Traceability in UML Diagrams A Z Notation Based Approach Formalization of Functional Requirements and Their Traceability in UML Diagrams A Z Notation Based Approach Sabnam Sengupta 1,Swapan Bhattacharya 2 Department of Computer Science & Engineering, Jadavpur

More information

Trust Management and Network Layer Security Protocols Matt Blaze 1 and John Ioannidis 1 and Angelos D. Keromytis 2 1 AT&T Laboratories { Research fmab,jig@research.att.com 2 Distributed Systems Labs CIS

More information

A Tool for Generating Partition Schedules of Multiprocessor Systems

A Tool for Generating Partition Schedules of Multiprocessor Systems A Tool for Generating Partition Schedules of Multiprocessor Systems Hans-Joachim Goltz and Norbert Pieth Fraunhofer FIRST, Berlin, Germany {hans-joachim.goltz,nobert.pieth}@first.fraunhofer.de Abstract.

More information

REBELS: REmote Execution BasEd Load-balancing System A. Puliato, O. Tomarchio, G. Haring, G. Kotsis Ist. di Informatica e Telecomunicazioni Dept. of Applied Computer Science Universita' di Catania UniversityofVienna

More information

Axiomatic design of software systems

Axiomatic design of software systems Axiomatic design of software systems N.P. Suh (1), S.H. Do Abstract Software is playing an increasingly important role in manufacturing. Many manufacturing firms have problems with software development.

More information

Software development process

Software development process OpenStax-CNX module: m14619 1 Software development process Trung Hung VO This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License 2.0 Abstract A software development

More information

OOT Interface Viewer. Star

OOT Interface Viewer. Star Tool Support for Software Engineering Education Spiros Mancoridis, Richard C. Holt, Michael W. Godfrey Department of Computer Science University oftoronto 10 King's College Road Toronto, Ontario M5S 1A4

More information

KEEP THIS COPY FOR REPRODUCTION PURPOSES. I ~~~~~Final Report

KEEP THIS COPY FOR REPRODUCTION PURPOSES. I ~~~~~Final Report MASTER COPY KEEP THIS COPY FOR REPRODUCTION PURPOSES 1 Form Approved REPORT DOCUMENTATION PAGE I OMS No. 0704-0188 Public reoorting burden for this collection of information is estimated to average I hour

More information

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development * for Domain-Specific Software Development * Hiroshi Wada Advisor: Junichi Suzuki Department of Computer Science University of Massachusetts, Boston hiroshi_wada@otij.org and jxs@cs.umb.edu Abstract. This

More information

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as

More information

{ RZ, Zeuthen DESY Woller Knut { IT, Hamburg DESY November 2000 7. Seminar, DESY Zeuthen Technisches DESY Based Automated Linux Installation at DESY YaST2 Taking Central Linux Support to the Next Level

More information

From Business World to Software World: Deriving Class Diagrams from Business Process Models

From Business World to Software World: Deriving Class Diagrams from Business Process Models From Business World to Software World: Deriving Class Diagrams from Business Process Models WARARAT RUNGWORAWUT 1 AND TWITTIE SENIVONGSE 2 Department of Computer Engineering, Chulalongkorn University 254

More information

Cedalion A Language Oriented Programming Language (Extended Abstract)

Cedalion A Language Oriented Programming Language (Extended Abstract) Cedalion A Language Oriented Programming Language (Extended Abstract) David H. Lorenz Boaz Rosenan The Open University of Israel Abstract Implementations of language oriented programming (LOP) are typically

More information

To introduce software process models To describe three generic process models and when they may be used

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

More information

3 Software Architecture

3 Software Architecture Software Architecture and Software Configuration Management Bernhard Westfechtel, Aachen Reidar Conradi, Trondheim Abstract This paper examines the relations between software architecture and software

More information

A Platform for Supporting Data Analytics on Twitter: Challenges and Objectives 1

A Platform for Supporting Data Analytics on Twitter: Challenges and Objectives 1 A Platform for Supporting Data Analytics on Twitter: Challenges and Objectives 1 Yannis Stavrakas Vassilis Plachouras IMIS / RC ATHENA Athens, Greece {yannis, vplachouras}@imis.athena-innovation.gr Abstract.

More information

Feature Engineering of Software Systems by Carlton Reid Turner B.A., University of North Carolina, 1986 M.S., University of Colorado, 1995 A thesis submitted to the Faculty of the Graduate School of the

More information

University of Maryland. College Park, MD, 20742 USA. Published in The Computer Journal, 37(7):621-628. Abstract

University of Maryland. College Park, MD, 20742 USA. Published in The Computer Journal, 37(7):621-628. Abstract Supporting Software Development Processes in Adele 2 Noureddine Belkhatir LGI BP 53 38041 Grenoble France e-mail: belkhatir@imag.fr Walcelio L. Melo University of Maryland UMIACS, College Park, MD, 20742

More information

Dept. of Computer Engineering. U. Of Massachusetts at Dartmouth. pfortier@umassd.edu. in a combat scenario. Real-time databases also add

Dept. of Computer Engineering. U. Of Massachusetts at Dartmouth. pfortier@umassd.edu. in a combat scenario. Real-time databases also add The Design of Real-Time Extensions To The Open Object-Oriented Database System V. F. Wolfe, L. C. DiPippo, J.J. Prichard, and J. Peckham Computer Science Department University of Rhode Island LastName@cs.uri.edu

More information

category field F 2 feature field feature field ART b ART a F b 1 F 1 a - x a x b b w

category field F 2 feature field feature field ART b ART a F b 1 F 1 a - x a x b b w FOCI: A Personalized Web Intelligence System Ah-Hwee Tan, Hwee-Leng Ong, Hong Pan, Jamie Ng, Qiu-Xiang Li Kent Ridge Digital Labs 21 Heng Mui Keng Terrace, Singapore 119613, email: fahhwee, hweeleng, panhong,

More information

Scheduling Constraints and Disjunctive Constraints

Scheduling Constraints and Disjunctive Constraints DISJUNCTIVE CONSTRAINTS FOR MANUFACTURING SCHEDULING: PRINCIPLES AND EXTENSIONS PHILIPPE BAPTISTE and CLAUDE LE PAPE ILOG S.A., 2 Avenue Gallieni, BP 85 F-94253 Gentilly Cedex FRANCE E-mail: baptiste@ilog.fr

More information

Component visualization methods for large legacy software in C/C++

Component visualization methods for large legacy software in C/C++ Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University mcserep@caesar.elte.hu

More information