Configuration management for lyee software
Esta es una herramienta por la cual, Esta es una herramienta por la cual4 Esta es una herramienta por la cual7Esta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualEsta es una herramienta por la cualv
This document discusses various implementation issues in software development, including reuse, configuration management, and host-target development. It notes that modern software is often constructed through reuse and that configuration management is needed to track different software versions. Development usually occurs on a host system while execution is on a target system, which can have different architectures and platforms. The document provides details on different levels of reuse, configuration management activities, tools that aid development, and challenges that can arise with reuse and managing development across host-target systems.
The document provides an overview of software design concepts including architectural design, design choices, structure designs, repository designs, client-server designs, layered designs, control models, design entities, software design processes, design methods, formal design approaches, and unified modeling language (UML) diagrams. It discusses topics such as decomposition, interfaces, performance, security, and maintainability as they relate to software design.
JPL : IMPLEMENTATION OF A PROLOG SYSTEM SUPPORTING INCREMENTAL TABULATIONcsandit
The incremental evaluation of tabled Prolog programs allows to maintain the correctness and completeness of the tabled answers under the dynamic state. This paper presents JPL
implementation details. JPL is an approach to support incremental tabulation for logic programs under non-monotonic logic. The main idea is to cache the proof generated by the deductive inference engine rather than the end results. In order to be able to efficiently maintain
the proof to be updated, the proof structure is converted into a justification-based truthmaintenance (JTMS) network.
Program analysis is useful for debugging, testing and maintenance of software systems due to information
about the structure and relationship of the program’s modules . In general, program analysis is performed
either based on control flow graph or dependence graph. However, in the case of aspect-oriented
programming (AOP), control flow graph (CFG) or dependence graph (DG) are not enough to model the
properties of Aspect-oriented (AO) programs. With respect to AO programs, although AOP is good for
modular representation and crosscutting concern, suitable model for program analysis is required to
gather information on its structure for the purpose of minimizing maintenance effort. In this paper Aspect
Oriented Dependence Flow Graph (AODFG) as an intermediate representation model is proposed to
represent the structure of aspect-oriented programs. AODFG is formed by merging the CFG and DG, thus
more information about dependencies between the join points, advice, aspects and their associated
construct with the flow of control from one statement to another are gathered. We discussthe performance
of AODFG by analysing some examples of AspectJ program taken from AspectJ Development Tools
(AJDT).
Chapter 8 agent-oriented software engineering ch8-prometheus research methodo...farshad33
This document provides an overview of the Prometheus methodology for designing agent-based applications. It discusses the key phases of the Prometheus design process, including system specification, architectural design, and detailed design. It also describes extensions to Prometheus like testing approaches, representing teams and organizations, and modeling agent interactions. The document concludes by discussing the Prometheus Design Tool for aiding agent development and potential future directions for the methodology.
Integrating profiling into mde compilersijseajournal
Scientific computation requires more and more performance in its algorithms. New massively parallel
architectures suit well to these algorithms. They are known for offering high performance and power
efficiency. Unfortunately, as parallel programming for these architectures requires a complex distribution
of tasks and data, developers find difficult to implement their applications effectively. Although approaches
based on source-to-source intends to provide a low learning curve for parallel programming and take
advantage of architecture features to create optimized applications, programming remains difficult for
neophytes. This work aims at improving performance by returning to the high-level models, specific
execution data from a profiling tool enhanced by smart advices computed by an analysis engine. In order to
keep the link between execution and model, the process is based on a traceability mechanism. Once the
model is automatically annotated, it can be re-factored aiming better performances on the re-generated
code. Hence, this work allows keeping coherence between model and code without forgetting to harness the
power of parallel architectures. To illustrate and clarify key points of this approach, we provide an
experimental example in GPUs context. The example uses a transformation chain from UML-MARTE
models to OpenCL code.
DESIGN AND DEVELOPMENT OF BUSINESS RULES MANAGEMENT SYSTEM (BRMS) USING ATLAN...ijcsit
The document describes the design and development of a Business Rules Management System (BRMS) using the ATL and Eclipse Sirius frameworks. It proposes a new "Target Ecore meta model" to improve the structure and management of business rules. The system allows business rules to be modeled and transformed from their current format into an object-oriented format using ATL model transformations. This provides improved modularity, scalability and extensibility of the rules compared to the original structure. A case study demonstrates transforming an example business rule from a software package based on the proposed approach.
This document discusses various implementation issues in software development, including reuse, configuration management, and host-target development. It notes that modern software is often constructed through reuse and that configuration management is needed to track different software versions. Development usually occurs on a host system while execution is on a target system, which can have different architectures and platforms. The document provides details on different levels of reuse, configuration management activities, tools that aid development, and challenges that can arise with reuse and managing development across host-target systems.
The document provides an overview of software design concepts including architectural design, design choices, structure designs, repository designs, client-server designs, layered designs, control models, design entities, software design processes, design methods, formal design approaches, and unified modeling language (UML) diagrams. It discusses topics such as decomposition, interfaces, performance, security, and maintainability as they relate to software design.
JPL : IMPLEMENTATION OF A PROLOG SYSTEM SUPPORTING INCREMENTAL TABULATIONcsandit
The incremental evaluation of tabled Prolog programs allows to maintain the correctness and completeness of the tabled answers under the dynamic state. This paper presents JPL
implementation details. JPL is an approach to support incremental tabulation for logic programs under non-monotonic logic. The main idea is to cache the proof generated by the deductive inference engine rather than the end results. In order to be able to efficiently maintain
the proof to be updated, the proof structure is converted into a justification-based truthmaintenance (JTMS) network.
Program analysis is useful for debugging, testing and maintenance of software systems due to information
about the structure and relationship of the program’s modules . In general, program analysis is performed
either based on control flow graph or dependence graph. However, in the case of aspect-oriented
programming (AOP), control flow graph (CFG) or dependence graph (DG) are not enough to model the
properties of Aspect-oriented (AO) programs. With respect to AO programs, although AOP is good for
modular representation and crosscutting concern, suitable model for program analysis is required to
gather information on its structure for the purpose of minimizing maintenance effort. In this paper Aspect
Oriented Dependence Flow Graph (AODFG) as an intermediate representation model is proposed to
represent the structure of aspect-oriented programs. AODFG is formed by merging the CFG and DG, thus
more information about dependencies between the join points, advice, aspects and their associated
construct with the flow of control from one statement to another are gathered. We discussthe performance
of AODFG by analysing some examples of AspectJ program taken from AspectJ Development Tools
(AJDT).
Chapter 8 agent-oriented software engineering ch8-prometheus research methodo...farshad33
This document provides an overview of the Prometheus methodology for designing agent-based applications. It discusses the key phases of the Prometheus design process, including system specification, architectural design, and detailed design. It also describes extensions to Prometheus like testing approaches, representing teams and organizations, and modeling agent interactions. The document concludes by discussing the Prometheus Design Tool for aiding agent development and potential future directions for the methodology.
Integrating profiling into mde compilersijseajournal
Scientific computation requires more and more performance in its algorithms. New massively parallel
architectures suit well to these algorithms. They are known for offering high performance and power
efficiency. Unfortunately, as parallel programming for these architectures requires a complex distribution
of tasks and data, developers find difficult to implement their applications effectively. Although approaches
based on source-to-source intends to provide a low learning curve for parallel programming and take
advantage of architecture features to create optimized applications, programming remains difficult for
neophytes. This work aims at improving performance by returning to the high-level models, specific
execution data from a profiling tool enhanced by smart advices computed by an analysis engine. In order to
keep the link between execution and model, the process is based on a traceability mechanism. Once the
model is automatically annotated, it can be re-factored aiming better performances on the re-generated
code. Hence, this work allows keeping coherence between model and code without forgetting to harness the
power of parallel architectures. To illustrate and clarify key points of this approach, we provide an
experimental example in GPUs context. The example uses a transformation chain from UML-MARTE
models to OpenCL code.
DESIGN AND DEVELOPMENT OF BUSINESS RULES MANAGEMENT SYSTEM (BRMS) USING ATLAN...ijcsit
The document describes the design and development of a Business Rules Management System (BRMS) using the ATL and Eclipse Sirius frameworks. It proposes a new "Target Ecore meta model" to improve the structure and management of business rules. The system allows business rules to be modeled and transformed from their current format into an object-oriented format using ATL model transformations. This provides improved modularity, scalability and extensibility of the rules compared to the original structure. A case study demonstrates transforming an example business rule from a software package based on the proposed approach.
The document describes various software used for an anonymous film production project. Microsoft Word was used extensively for pre-production documents and planning. Blogger was also essential for sharing work and maintaining communication between group members. Final Cut Pro was used for video editing, though it took time to learn. Other software like PowerPoint, Scribd, and Photoshop supported more specific tasks. Social media sites like Twitter and Facebook helped promote and advertise the project.
This document discusses film production and distribution. It explains that a production company is responsible for organizing and distributing a film, handling the director and cast. The distributor markets and promotes the film by making copies and showing it to cinema owners to influence its success. Possible distributors for the student's production mentioned are Film4 and Lionsgate as they handle smaller, UK-based films. Their websites provide information on the films they have distributed.
The group used an Apple Macbook as their main laptop for completing work on the project. They also used the Mac for editing with Final Cut Pro software due to its larger screen. A Sony Z1 camera was used for filming, as the group was already familiar with it from previous use. An external microphone was connected to the camera to improve audio quality, though initial problems were discovered. Various storage methods like USB drives and tapes were used to transfer and backup project files between devices.
Immigration laws in the US have changed over time, becoming more restrictive. Currently, the annual immigration limit is set at 675,000, though some family exceptions exist. President Obama is working to reform laws by strengthening border security and cracking down on employers of undocumented immigrants. There are about 1.8 million undocumented students in US schools, who are entitled to free K-12 education, but face barriers to affordable higher education. Immigration impacts classrooms both positively, through increased diversity, and negatively, with language and economic challenges for some students.
The document discusses the codes and conventions of horror films. It begins by defining horror films as aiming to evoke negative emotions in viewers by preying on their fears. It then lists some common conventions like isolated settings, non-diegetic music to build tension, masked killers, and violence. It also discusses Vladimir Propp's theory of common character archetypes. Finally, it examines the conventions of several horror subgenres like slashers, action, gothic, psychological, and paranormal horrors.
The document describes two script readings done by a film production group. The first reading took place in the school canteen and introduced the actors to the final draft, with the director and camerawoman listening for errors. Friends also listened to provide outside advice. The second reading was a final run-through in the drama studio before filming the garden scene, where the actors acted out stage directions along with dialogue as they had learned the script well, and the imagined positioning worked successfully.
This document summarizes details about India's Mars Orbiter Mission (MOM). It describes the objectives of the mission which included placing an orbiter around Mars with the capability to survive Earth maneuvers and orbit Mars for 300 days. It lists the scientific payloads and their objectives to study the surface, atmosphere and composition of Mars. It also provides information about the launch of MOM using the PSLV rocket and ground station support during the mission.
Ringkasan dokumen tersebut adalah sebagai berikut:
Dokumen tersebut mempromosikan peluang bisnis online yang menawarkan penghasilan besar dan cepat melalui sistem pemasaran viral bernama "Q" marketing dengan modal dan investasi kecil. Sistem pemasaran ini menggunakan produk-produk perawatan kulit berkualitas dengan bahan-bahan alami seperti kolagen, koji asam, dan lainnya. Sistem pemasaran ini menjanjikan penghasilan dari
The shooting plan outlines the details for a film shoot taking place on September 24th, 2015. The director, actress, and camerawoman will meet at 1:20pm and walk to the filming location. They will bring camera equipment including a Canon 700d, tripod, GoPro, batteries, microphone, and SD cards. Upon arriving at the location, the camerawoman will set up for the first scene which is a point of view shot of the actress running down a road. They will review the shot list and script before filming each scene.
This document contains production company names and a shoot identifier. Reece Pictures and Dead Air Productions are listed as production companies working on a shoot. The shoot is identified as SHOOT 3 under the name Angel Bird.
Teks tersebut merangkum berbagai konsep terkait sistem informasi manajemen, meliputi:
1. Klasifikasi sistem informasi menurut aktivitas manajemen dan dukungan, termasuk sistem informasi operasional, manajerial, strategis, SPT, MIS, DSS, EIS, ES, OAS.
2. Analisis sistem sebagai proses mengidentifikasi masalah dan kebutuhan sistem baru.
3. Peran analis sistem sebagai konsultan, ahli pendukung, dan agen per
Berikut ini adalah marketing Plan Marketing plan AHB Indonesia (Asia Herbal Biotech), dibuat khusus untuk web support yang dibuat oleh www.niadesain.com
Berikut adalah marketing plan program Marketing plan unlimited success bitcoin (usbtc). khusus untuk bisnis usbtc,
Diupload khusus untuk web support usbtc yang dibuat oleh www.niadesain.com
1. Belanja online di Malaysia semakin populer, dengan 43% penduduk bersedia belanja secara online dalam 12 bulan ke depan.
2. Nilai transaksi e-commerce di Tiongkok telah melampaui USD10 triliun, dan Alibaba menjadi perusahaan e-commerce terbesar di dunia dengan IPO senilai USD28 milyar.
3. Bisnis online telah mengubah transaksi ekonomi nyata, memberikan kesempatan bagi siapa saja untuk menciptak
Marketing plan transforindo community khusus untuk member transforindo community untuk mengembangkan jaringannya melalui web support.
web support dibuat oleh www.niadesain.com
PT Oase Nusantara Makmur will be launching on January 5, 2016 located in the Synergy Building Alam Sutra on the 11th floor with an area of 170m2. The company will be launching an organic beauty drink called OASE 5 IN1 containing apple stem cells, collagen, glutathione, Habbatus sauda, and New Zealand Manuka honey. The product contains collagen to improve skin elasticity, Habbatus sauda for its antioxidant properties, and New Zealand Manuka honey which is high in antioxidants.
Software engineering Questions and AnswersBala Ganesh
1. Risk management is the process of identifying, addressing, and eliminating potential problems that could threaten the success of a project before they cause damage. This includes issues that could impact cost, schedule, technical success, product quality, or team morale.
2. HIPO (Hierarchical Input Process Output) diagrams were developed at IBM as a design representation and documentation aid. They contain a visual table of contents, overview diagrams, and detailed diagrams.
3. Software maintenance is any work done to modify software after it is operational, such as fixing errors, adding capabilities, removing obsolete code, or optimizing performance. It aims to preserve the software's value over time as requirements, users, and technology change. M
It is a well-known fact that precise definitions play significant role in the development of correct and robust
software. It has been recognized and emphasized that appropriately defined formal conceptual framework
of the context/problem domain proves quite useful in ensuring precise definitions, including those for
software metrics, which are consistent, unambiguous and language independent. In this paper, a formal
conceptual framework for defining metrics for component-based system is proposed, where the framework
formalises the behavioural aspects of the problem domain. The framework in respect of structural aspects
has been discussed in another paper.
This document provides an overview of software architectures and architectural structures. It discusses different types of architectural structures, including module structures, component-and-connector structures, and allocation structures. Module structures focus on modules and their relationships, component-and-connector structures examine runtime components and connectors, and allocation structures show how software elements map to environments. The document then examines specific architectural structures like modules, layers, classes, processes, repositories, and deployment. It emphasizes that an architect should focus on a few key structures like logical, process, development, and physical views to validate that the architecture meets requirements.
The document discusses various topics related to software engineering including:
1) How early days of software development have affected modern practices.
2) Definitions of software engineering from different sources.
3) The stages of software design including problem analysis, solution identification, and abstraction description.
4) Object-oriented design principles like information hiding, independent objects, and service-based communication.
Project planning establishes the duration, resources, and sequence of tasks needed to successfully complete a project. It includes defining objectives, schedules, resources, personnel, risks, and evaluation methods. The key elements of project planning are an overview, objectives, general approach, contractual aspects, schedules, resources, personnel, risk management plans, and evaluation methods. System integration involves integrating existing systems to ensure subsystems function as a whole system. It aims to improve performance, effectiveness, and reduce costs. The objectives of system integration are performance, effectiveness, and cost.
The document describes various software used for an anonymous film production project. Microsoft Word was used extensively for pre-production documents and planning. Blogger was also essential for sharing work and maintaining communication between group members. Final Cut Pro was used for video editing, though it took time to learn. Other software like PowerPoint, Scribd, and Photoshop supported more specific tasks. Social media sites like Twitter and Facebook helped promote and advertise the project.
This document discusses film production and distribution. It explains that a production company is responsible for organizing and distributing a film, handling the director and cast. The distributor markets and promotes the film by making copies and showing it to cinema owners to influence its success. Possible distributors for the student's production mentioned are Film4 and Lionsgate as they handle smaller, UK-based films. Their websites provide information on the films they have distributed.
The group used an Apple Macbook as their main laptop for completing work on the project. They also used the Mac for editing with Final Cut Pro software due to its larger screen. A Sony Z1 camera was used for filming, as the group was already familiar with it from previous use. An external microphone was connected to the camera to improve audio quality, though initial problems were discovered. Various storage methods like USB drives and tapes were used to transfer and backup project files between devices.
Immigration laws in the US have changed over time, becoming more restrictive. Currently, the annual immigration limit is set at 675,000, though some family exceptions exist. President Obama is working to reform laws by strengthening border security and cracking down on employers of undocumented immigrants. There are about 1.8 million undocumented students in US schools, who are entitled to free K-12 education, but face barriers to affordable higher education. Immigration impacts classrooms both positively, through increased diversity, and negatively, with language and economic challenges for some students.
The document discusses the codes and conventions of horror films. It begins by defining horror films as aiming to evoke negative emotions in viewers by preying on their fears. It then lists some common conventions like isolated settings, non-diegetic music to build tension, masked killers, and violence. It also discusses Vladimir Propp's theory of common character archetypes. Finally, it examines the conventions of several horror subgenres like slashers, action, gothic, psychological, and paranormal horrors.
The document describes two script readings done by a film production group. The first reading took place in the school canteen and introduced the actors to the final draft, with the director and camerawoman listening for errors. Friends also listened to provide outside advice. The second reading was a final run-through in the drama studio before filming the garden scene, where the actors acted out stage directions along with dialogue as they had learned the script well, and the imagined positioning worked successfully.
This document summarizes details about India's Mars Orbiter Mission (MOM). It describes the objectives of the mission which included placing an orbiter around Mars with the capability to survive Earth maneuvers and orbit Mars for 300 days. It lists the scientific payloads and their objectives to study the surface, atmosphere and composition of Mars. It also provides information about the launch of MOM using the PSLV rocket and ground station support during the mission.
Ringkasan dokumen tersebut adalah sebagai berikut:
Dokumen tersebut mempromosikan peluang bisnis online yang menawarkan penghasilan besar dan cepat melalui sistem pemasaran viral bernama "Q" marketing dengan modal dan investasi kecil. Sistem pemasaran ini menggunakan produk-produk perawatan kulit berkualitas dengan bahan-bahan alami seperti kolagen, koji asam, dan lainnya. Sistem pemasaran ini menjanjikan penghasilan dari
The shooting plan outlines the details for a film shoot taking place on September 24th, 2015. The director, actress, and camerawoman will meet at 1:20pm and walk to the filming location. They will bring camera equipment including a Canon 700d, tripod, GoPro, batteries, microphone, and SD cards. Upon arriving at the location, the camerawoman will set up for the first scene which is a point of view shot of the actress running down a road. They will review the shot list and script before filming each scene.
This document contains production company names and a shoot identifier. Reece Pictures and Dead Air Productions are listed as production companies working on a shoot. The shoot is identified as SHOOT 3 under the name Angel Bird.
Teks tersebut merangkum berbagai konsep terkait sistem informasi manajemen, meliputi:
1. Klasifikasi sistem informasi menurut aktivitas manajemen dan dukungan, termasuk sistem informasi operasional, manajerial, strategis, SPT, MIS, DSS, EIS, ES, OAS.
2. Analisis sistem sebagai proses mengidentifikasi masalah dan kebutuhan sistem baru.
3. Peran analis sistem sebagai konsultan, ahli pendukung, dan agen per
Berikut ini adalah marketing Plan Marketing plan AHB Indonesia (Asia Herbal Biotech), dibuat khusus untuk web support yang dibuat oleh www.niadesain.com
Berikut adalah marketing plan program Marketing plan unlimited success bitcoin (usbtc). khusus untuk bisnis usbtc,
Diupload khusus untuk web support usbtc yang dibuat oleh www.niadesain.com
1. Belanja online di Malaysia semakin populer, dengan 43% penduduk bersedia belanja secara online dalam 12 bulan ke depan.
2. Nilai transaksi e-commerce di Tiongkok telah melampaui USD10 triliun, dan Alibaba menjadi perusahaan e-commerce terbesar di dunia dengan IPO senilai USD28 milyar.
3. Bisnis online telah mengubah transaksi ekonomi nyata, memberikan kesempatan bagi siapa saja untuk menciptak
Marketing plan transforindo community khusus untuk member transforindo community untuk mengembangkan jaringannya melalui web support.
web support dibuat oleh www.niadesain.com
PT Oase Nusantara Makmur will be launching on January 5, 2016 located in the Synergy Building Alam Sutra on the 11th floor with an area of 170m2. The company will be launching an organic beauty drink called OASE 5 IN1 containing apple stem cells, collagen, glutathione, Habbatus sauda, and New Zealand Manuka honey. The product contains collagen to improve skin elasticity, Habbatus sauda for its antioxidant properties, and New Zealand Manuka honey which is high in antioxidants.
Software engineering Questions and AnswersBala Ganesh
1. Risk management is the process of identifying, addressing, and eliminating potential problems that could threaten the success of a project before they cause damage. This includes issues that could impact cost, schedule, technical success, product quality, or team morale.
2. HIPO (Hierarchical Input Process Output) diagrams were developed at IBM as a design representation and documentation aid. They contain a visual table of contents, overview diagrams, and detailed diagrams.
3. Software maintenance is any work done to modify software after it is operational, such as fixing errors, adding capabilities, removing obsolete code, or optimizing performance. It aims to preserve the software's value over time as requirements, users, and technology change. M
It is a well-known fact that precise definitions play significant role in the development of correct and robust
software. It has been recognized and emphasized that appropriately defined formal conceptual framework
of the context/problem domain proves quite useful in ensuring precise definitions, including those for
software metrics, which are consistent, unambiguous and language independent. In this paper, a formal
conceptual framework for defining metrics for component-based system is proposed, where the framework
formalises the behavioural aspects of the problem domain. The framework in respect of structural aspects
has been discussed in another paper.
This document provides an overview of software architectures and architectural structures. It discusses different types of architectural structures, including module structures, component-and-connector structures, and allocation structures. Module structures focus on modules and their relationships, component-and-connector structures examine runtime components and connectors, and allocation structures show how software elements map to environments. The document then examines specific architectural structures like modules, layers, classes, processes, repositories, and deployment. It emphasizes that an architect should focus on a few key structures like logical, process, development, and physical views to validate that the architecture meets requirements.
The document discusses various topics related to software engineering including:
1) How early days of software development have affected modern practices.
2) Definitions of software engineering from different sources.
3) The stages of software design including problem analysis, solution identification, and abstraction description.
4) Object-oriented design principles like information hiding, independent objects, and service-based communication.
Project planning establishes the duration, resources, and sequence of tasks needed to successfully complete a project. It includes defining objectives, schedules, resources, personnel, risks, and evaluation methods. The key elements of project planning are an overview, objectives, general approach, contractual aspects, schedules, resources, personnel, risk management plans, and evaluation methods. System integration involves integrating existing systems to ensure subsystems function as a whole system. It aims to improve performance, effectiveness, and reduce costs. The objectives of system integration are performance, effectiveness, and cost.
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IJCSEA Journal
This document summarizes a research paper that proposes a method for dynamically measuring coupling in distributed object-oriented software systems. The method involves three steps: instrumentation of the Java Virtual Machine to trace method calls, post-processing of the trace files to merge information, and calculation of coupling metrics based on the dynamic traces. The implementation results show that the proposed approach can effectively measure coupling metrics dynamically by accounting for polymorphism and dynamic binding, overcoming limitations of traditional static coupling analysis.
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IJCSEA Journal
Software metrics are increasingly playing a central role in the planning and control of software development projects. Coupling measures have important applications in software development and maintenance. Existing literature on software metrics is mainly focused on centralized systems, while work in the area of distributed systems, particularly in service-oriented systems, is scarce. Distributed systems with service oriented components are even more heterogeneous networking and execution environment. Traditional coupling measures take into account only “static” couplings. They do not account for “dynamic” couplings due to polymorphism and may significantly underestimate the complexity of software and misjudge the need for code inspection, testing and debugging. This is expected to result in poor predictive accuracy of the quality models in distributed Object Oriented systems that utilize static coupling measurements. In order to overcome these issues, we propose a hybrid model in Distributed Object Oriented Software for measure the coupling dynamically. In the proposed method, there are three steps
such as Instrumentation process, Post processing and Coupling measurement. Initially the instrumentation process is done. In this process the instrumented JVM that has been modified to trace method calls. During this process, three trace files are created namely .prf, .clp, .svp. In the second step, the information in these file are merged. At the end of this step, the merged detailed trace of each JVM contains pointers to the merged trace files of the other JVM such that the path of every remote call from the client to the server can be uniquely identified. Finally, the coupling metrics are measured dynamically. The implementation results show that the proposed system will effectively measure the coupling metrics dynamically.
Introduction to Modern Software ArchitectureJérôme Kehrli
This document provides an overview of modern software architecture models and concepts. It begins with an introduction to software architecture and definitions. It then discusses the Kruchten 5+1 view model for describing architecture using multiple views. Additional topics covered include the OCTO matrix approach, example architecture diagrams for a sample application called RIA Organizer, and modern architectures like big data, microservices and serverless computing.
This document discusses object-oriented programming (OOP). It begins by explaining the software crisis and issues like productivity, quality and managing schedules that OOP aims to address. It then covers procedural programming and its limitations. The key concepts of OOP like objects, classes, encapsulation, inheritance and polymorphism are explained. Popular OOP languages support these concepts to different degrees. Finally, the benefits of OOP like code reuse, modularity and managing complexity are highlighted.
This document discusses project planning and system integration. It defines project planning as creating documentation to ensure successful project completion, including establishing duration, resource needs, and task sequences. Key elements of project planning include defining objectives, approaches, schedules, resources, personnel, risks, and evaluation methods. System integration is defined as bringing together component subsystems into a functioning whole. The objectives of system integration are improved performance, effectiveness, and reduced costs. Breakdown structures break projects down into successively finer tasks to aid in planning, scheduling, monitoring, and control.
The document discusses the Unified Modeling Language (UML) and its role in object-oriented analysis and design. It describes UML as a graphical language used to visualize, specify, construct, and document software systems. UML provides tools and features to support complex systems using object-oriented concepts and methodology. UML diagrams are used to model system designs, with the key UML diagrams being class, sequence, use case, state machine, and activity diagrams. The document also briefly mentions some criticisms of UML regarding when diagrams should be used and how frequently they need to be updated.
This document discusses component, deployment, persistent and UI models in object oriented design. It provides details on component diagrams, describing how they represent high-level reusable parts of a system and their inter-relationships. Deployment diagrams depict the physical resources in a system including nodes, components, and connections. Persistent modeling involves mapping object-oriented class diagrams to relational database schemas. User interface design should match user skills/experience and consider human factors like memory, preferences and preventing errors.
Chapter 1 - Introduction to System Integration and Architecture.pdfKhairul Anwar Sedek
The document discusses system integration and architecture. It begins with basic definitions of key terms like system integration, enterprise application integration, and system architecture. It then covers common integration approaches like vertical integration, horizontal integration, and enterprise service buses. The document also discusses system architecture models and lifecycles. It explains the roles and responsibilities of systems architects and necessary skills and education to work in the field.
This document proposes a 3 layered filtering approach to help developers and managers efficiently implement changes to agile software projects based on new requirements. The first layer classifies requirement changes. The second layer identifies which architecture layers will be affected. The third layer selects the appropriate agile methodology based on the first two layers. Each layer iterates as new requirements emerge, with layers tightly related to each other. This provides a way to abstract and prioritize different issues related to new requirements, allowing changes to be made with less time and money spent.
This document provides course notes on software architecture. It begins with an overview of the course and its modules. Module 1 covers UML architecture diagrams, including Kruchten's 4+1 View Model (logical, process, development, physical views and scenarios). It describes component diagrams, package diagrams, deployment diagrams, and activity diagrams. Module 2 will cover architectural styles like layered systems and pipes and filters. Module 3 discusses quality attributes, architecture analysis, trade-off analysis, and product lines.
This document provides course notes on software architecture. It begins with an overview of the course and its modules. Module 1 covers UML architecture diagrams, including Kruchten's 4+1 View Model (logical, process, development, physical views and scenarios). It describes component diagrams, package diagrams, deployment diagrams, and activity diagrams. Module 2 will cover architectural styles like layered systems and pipes and filters. Module 3 discusses quality attributes, architecture analysis, trade-off analysis, and product lines.
This document provides course notes on software architecture. It begins with an overview of the course and its modules. Module 1 covers UML architecture diagrams, including Kruchten's 4+1 View Model (logical, process, development, physical views and scenarios). It describes component diagrams, package diagrams, deployment diagrams, and activity diagrams. Module 2 will cover architectural styles like layered systems and pipes and filters. Module 3 discusses quality attributes, architecture analysis, trade-off analysis, and product lines.
Introduction to software project management for windowsmentorrbuddy
This document discusses project management approaches for software projects. It defines what a software project is and outlines some key aspects of software project management including planning, scope management, estimation, and scheduling. It also describes some common methodologies used in creating software projects such as software requirements specifications (SRS), data flow diagrams (DFD), and entity-relationship diagrams (ERD). Finally, it provides a demo example of a JARVIS text-to-speech converter application to demonstrate a DFD level 0 and level 1 diagram.
Introduction to software project management (1)mentorrbuddy
This document discusses project management approaches for software projects. It defines what a software project is and outlines some key aspects of software project management including planning, scope management, estimation, and scheduling. It also describes some common methodologies used in creating software projects such as software requirements specifications (SRS), data flow diagrams (DFD), and entity-relationship diagrams (ERD). Finally, it provides a demo example of a JARVIS text-to-speech converter application to demonstrate a DFD level 0 and level 1 diagram.
Similar to Configuration management for lyee software (20)
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC
Ellisha Heppner, Grant Management Lead, presented an update on APNIC Foundation to the PNG DNS Forum held from 6 to 10 May, 2024 in Port Moresby, Papua New Guinea.
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBrad Spiegel Macon GA
Brad Spiegel Macon GA’s journey exemplifies the profound impact that one individual can have on their community. Through his unwavering dedication to digital inclusion, he’s not only bridging the gap in Macon but also setting an example for others to follow.
Ready to Unlock the Power of Blockchain!Toptal Tech
Imagine a world where data flows freely, yet remains secure. A world where trust is built into the fabric of every transaction. This is the promise of blockchain, a revolutionary technology poised to reshape our digital landscape.
Toptal Tech is at the forefront of this innovation, connecting you with the brightest minds in blockchain development. Together, we can unlock the potential of this transformative technology, building a future of transparency, security, and endless possibilities.
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfFlorence Consulting
Quattordicesimo Meetup di Milano, tenutosi a Milano il 23 Maggio 2024 dalle ore 17:00 alle ore 18:30 in presenza e da remoto.
Abbiamo parlato di come Axpo Italia S.p.A. ha ridotto il technical debt migrando le proprie APIs da Mule 3.9 a Mule 4.4 passando anche da on-premises a CloudHub 1.0.
Discover the benefits of outsourcing SEO to Indiadavidjhones387
"Discover the benefits of outsourcing SEO to India! From cost-effective services and expert professionals to round-the-clock work advantages, learn how your business can achieve digital success with Indian SEO solutions.
1. Configuration management for Lyee software
V. Gruhn*, R. Ijioui, D. Peters, C. Scha¨fer
Faculty of Mathematics and Computer Science, University of Leipzig, Chair for Applied Telematics/e-Business,1
Klostergasse 3, Leipzig 04109, Germany
Abstract
This article presents a configuration management concept for software projects using Lyee methodology. To illustrate this concept, an
introduction in configuration management is given. Then, the structure of Lyee programs is defined by sets and their dependencies. From this
structure, the actual configuration management concept is deduced and discussed by rendering the structure for an existing configuration
management testbed and describing the involved key players as well as the necessary procedures.
q 2003 Elsevier B.V. All rights reserved.
Keywords: Software configuration management; Lyee software; Network-unified configuration management
1. Introduction
Software configuration management (SCM) has been
defined as the discipline of controlling the evolution of
complex software systems [1]. As a vital task of
professional software development, it also has to be
performed in software projects developed using Lyee
methodology. In this article, we present a SCM concept
for Lyee. We first give a short introduction into SCM. Then,
we define the structure of Lyee programs using mathematical
definitions in order to provide a sound basis for further
discussions. These definitions allow mapping the entities of
Lyee programs onto configuration items introduced before.
Finally, we depict the architecture of a system using an
existing SCM tested.
2. Software configuration management
SCM can be regarded as an extension of general
configuration management (CM). A standard definition of
CM can be found at Refs. [2,3]. It describes the following
CM procedures.
Identification reflects the structure of the product,
identifies components and their types, making them unique
and accessible in some form. Control addresses the release
of a product and the changes to it throughout its life cycle.
This is done by having controls in place that ensure
consistent software through the creation of a baseline
product. Status Accounting records and reports the status of
components and change requests, and gathers vital statistics
about components in the product. Audit and Review validate
the completeness of a product and maintain consistency
among the components, ensuring that the product is a welldefined
collection of components.
Further surveys on SCM [3] extend this definition to
include procedures like construction management that
addresses the construction and building of products, process
management that ensures the implementation of the
organization’s procedures, policies and life cycle model,
and team work control that deals with the work and
interactions between multiple developers.
According to Ref. [4], specific terminology is used to
describe SCM in more detail: A (software) object (item) is
any kind of identifiable entity put under SCM control. An
object may be either atomic, i.e. it cannot be decomposed
any further (internals are irrelevant to SCM), or it may be
composite. A composite object is related to its components
through composition relationships. Furthermore, there may
be dependency relationships between dependent and master
objects.
2. As these software objects are the key factors in
approaching a SCM concept for Lyee software, we have
0950-7051/$ - see front matter q 2003 Elsevier B.V. All rights reserved.
doi:10.1016/j.knosys.2003.08.004
Knowledge-Based Systems 16 (2003) 441–447
www.elsevier.com/locate/knosys
* Corresponding author.
1 The chair for Applied Telematics/e-Business is endowed by Deutsche
Telekom AG.
E-mail addresses: gruhn@ebus.informatik.uni-leipzig.de (V. Gruhn);
ijioui@ebus.informatik.uni-leipzig.de (R. Ijioui), peters@ebus.informatik.
uni-leipzig.de (D. Peters), schaefer@ebus.informatik.uni-leipzig.de (C.
Scha¨fer).
to identify software objects with the mentioned characteristics
within Lyee programs.
3. Static program structure
Identifying software objects for SCM implies that a
structural representation of the considered software has to
be found. This representation has to be formed in such a way
that it regards software as a set of software objects that may
be decomposed until they are atomic. Furthermore, these
decomposition possibilities have to be modeled in the
structure. This can be accomplished by using software
objects that are sets of other software objects and that have
is-part-of relations to other software objects.
Another Lyee-specific aspect has to be taken into
account: in Lyee software, there are parts of software
that are provided by the person writing the program. We
can consider them ‘programmer’s input’ to the Lyee
system. On the other hand, there is software that is
provided by the Lyee framework. For our SCM purposes,
we have to make a clear distinction between these two:
only software objects which are programmer’s input have
to be regarded for SCM, as the remainder is irrelevant in
this context.
If we regard an initial description of Lyee program
structure [5,6], we face the problem that identification of
clear dependencies is difficult. Furthermore, the required
decomposition is not supported and the distinction between
programmer’s input and the rest is not really clear. Another
approach to describing Lyee programs is presented in Ref.
[7]. In this article, Souveyet and Salinesi describe a meta
model of Lyee. However, Souveyet and Salinesi do not take
the distinction between framework-provided elements and
programmer’s input into account.
As there are no other approaches (due to the fact that
Lyee is still evolving), we decided to remodel the structure
of Lyee programs, aiming for two goals: to provide elements
that show their compositions and dependencies, and to
clearly separate between programmer’s input and systemgenerated
or framework-related parts.
As a starting point for our modeling, we chose to
examine the structure of the LyeeALL database. Fortunately,
the designers of this tool made similar assumptions
and only modeled these parts of the system in their database,
which are programmer’s input and not framework-related.
By investigating the LyeeALL database structure, we were
able to identify and define a set of software objects that can
be used to model the structure of Lyee programs.
3.1. Structural definitions
The aim of these definitions is to capture the static
structure of Lyee programs. It is not intended to provide a
dynamic model that could represent a Lyee program at
3. runtime. Since we tried to emphasize the parts of Lyee
structures that are of structural relevance for our SCM
purpose, the definitions are incomplete to a certain extent: in
all cases, there are additional attributes which we left out to
keep the definitions simple. This is possible as those
attributes are of technical nature and thus irrelevant for the
program structure. All omitted attributes have been
subsumed in sets named X that can be found in all
definitions. We begin with the topmost entity of a Lyee
program, the project.
Definition 1 (Project). A Lyee project is a tuple p ¼
ðn; S; XÞ consisting of the name of the project n and a set of
systems S ¼ {s1;…; sn} with n [ N:
This definition of the project is quite obvious and
motivated by the inspection of the database structure used
by LyeeALL, as the systems do not occur in the
documentation of Lyee.
Definition 2 (System). A Lyee system is a tuple
s ¼ðn;D; F; XÞ with n as the name of the system.
D ¼{d1;…; dn} is a set of process route diagrams (PRDs),
F ¼ {f1;…; fm} is a set of defineds with n;m [ N:
This definition reflects the expectations from the Lyee
theory. The topmost structural unit within projects are
PRDs. Thus, composing a system out of PRDs is correct. As
the defineds are associated to parts of the PRDs, they should
not be separated from the definition of the system. However,
defineds can be used in different PRDs. Hence, modeling
defineds and PRDs as two different sets within one system is
appropriate.
Definition 3 (Defined). A defined in terms of Lyee theory
can be specified as a tuple f ¼ ðn; t; XÞ; where n is the name
of the defined and t its type. Typically, the type t of the
defined will be one of {screen; database; file;…}:
A defined refers to an entity such as a database table or a
dialog window. The name of this entity will be reflected by
n: The type t of the defined has been isolated in the
definition for SCM purposes, since this type indicates which
additional data (boundary software) not covered by the
LyeeALL database has to be processed. For example, in
case of t ¼ screen the definition of the related dialog
window has to be put under SCM control, too.
Definition 4 (Item in Defined, also: Defined Item). An
item in a defined can be specified as a tuple i ¼ ðn; f ; XÞ
where n is the name of the item and f is the defined that it
belongs to.
442 V. Gruhn et al. / Knowledge-Based Systems 16 (2003) 441–447
The items of a defined are, for example, columns within a
database table or dialog fields within a dialog window.
Thus, for this definition, the database structure matches the
definition from the theory.
Definition 5 (Process Route Diagram). A process
route diagram is defined as a tuple d ¼ ðn; B; b0; p0; XÞ
where n is the name of the process route diagram.
B ¼{b1;…; bn}; n [ N; is a set of base structures. b0 [ B
is an initial base structure, p0 an initial pallet.
According to the expectations from the theory, defining a
PRD mainly as a set of base structures is reasonable. In a
PRD, the first base structure has to be tagged. This is done
by specifying the initial base structure b0 in the definition.
At this point, adding the initial pallet p0 might seem
superfluous. However, as the routing will be defined
4. between pallets in later definitions, it is helpful to have
the initial pallet within the definition. From Lyee theory, we
can derive the invariant that the initial pallet p0 has to be the
W04 pallet of the initial base structure b0:
Definition 6 (Base Structure). A base structure is a tuple
b ¼ ðn; bp; p4; p2; p3; XÞ where n is the name of the base
structure, bp is the parent base structure, and p4; p2 and p3
are pallets. If a base structure has no parent, we write bp ¼ Y:
From this definition, it is obvious that a base structure
consists of three pallets p4; p2 and p3: The parent base
structure bp was inspired by the database structure of the
LyeeALL tool. This is also corresponding to Lyee theory, as
this element provides the structural dependencies between
base structures that are necessary for the framework to
automatically establish routing vectors.
Until now, our definitions are rather obvious and have
been created straightforwardly. Next, we abstract and
regroup some information to formulate the following
definitions precisely. Interestingly, this abstraction has
also been performed by the creators of the database
structure of the LyeeALL tool. The main idea behind the
abstraction is to associate all kinds of Lyee vectors with
words.
Definition 7 (Pallet). A pallet is a tuple p ¼ ðn; L; R; XÞ
consisting of a set of logical units L ¼ {l1;…; ln} and a set of
routing vectors R ¼ {r1;…; rm} with n;m [ N: n is the
name of the pallet.
According to Lyee theory, different logical units are
present on a pallet. The abstraction above is the key to
modeling the routing vectors as a set of vectors that is part of
the pallet. This is obvious as routing can only occur between
pallets.
Definition 8 (Logical Unit). A logical unit is a tuple l ¼
ðn; f ; t;W; XÞ where n is the name of the logical unit and
{t [ input; output} is its type. f is the defined that the
logical unit is assigned to. W ¼ {w1;…;wn} is a set of
domain words with n [ N:
Modeling a logical unit in this way is reasonable.
According to Lyee theory, words are linked to defineds in
logical units. Furthermore, we have to take into account that
for words, which should be input or output by the logical
units, signification vectors have to exist. For this reason, it is
appropriate to group the signification vectors with the words
in the logical units. As logical units deal with the input and
output of words, the input/output attribute t is well-founded.
Remark (Action Vectors, Signification Vectors). Here,
one might expect the definition of action vectors. From a
structural perspective, this might seem natural. However,
action vectors in Lyee theory are always implicitly given by
the use of logical units. This is the reason why they can be
created automatically by the Lyee environment.
For every input logical unit, an input vector has to be
created. It is also obvious that this input vector has to
contain the input statements for all words in the logical unit.
The same situation occurs for the output vectors and the
structural vectors.
A special situation occurs for the routing vectors: several
routing vectors do not need to be captured by the definitions
here, as they are implicitly given by the theory (and thus by
the framework). Only those routing vectors which are
5. explicitly given by the programmers have to be captured by
definitions (see below).
The signification vectors are not modeled explicitly, as
their information will be combined with the domain
words later.
Definition 10 (Routing Vector, Routing Word). A
routing vector in Lyee is a tuple r ¼ ðn; S; t; p; XÞ
with the name of the vector n; the type t [
{duplex; continuous; multiplex; recursive}; and the pallet p.
S ¼ {s1;…; s7} is the signification information that represents
the seven boxes of a predicate vector.
The separate modeling of the type of the routing vector t
is necessary since the type of routing has implications on the
structure of the software as a whole and must be regarded
when a component-oriented view of Lyee software is
established.
Definition 11 (Domain Word or Word). A word in terms
of Lyee theory is a tuple w ¼ ðn; i; S; XÞ with n as the name
of the word. i is a defined item the word is associated to, and
V. Gruhn et al. / Knowledge-Based Systems 16 (2003) 441–447 443
S ¼ {s1;…; s7} is the signification information from the
signification vector of the word that is used to calculate the
word’s value.
Definition 12 (Boundary Word). A boundary word in
terms of Lyee theory is a tuple wb ¼ ðn;w; XÞ with n as the
name of the boundary word and the word w. The boundary
word wb can be regarded as a reference to the word w:
The boundary word is a word used by different logical
units to access words from other base structures. This
construct can also be found in the database.
If we take all is-part-of relations between the definitions
above, we can combine our software objects to a whole
program structure, shown in the form of a UML class
diagram in Fig. 1. Note that in the diagram, there is also a
class Signification Information that has no direct counterpart
in a definition. However, this class has been drawn in order
to show that both the domain words and the routing words
contain signification information.
3.2. Boundary software
In the definitions above, boundary software has not been
explicitly mentioned. Since boundary software has to be
regarded as an important part of any Lyee program, the need
for representing it within the definitions seems obvious.
Unfortunately, the structure of boundary software is not as
clearly derivable as the structure of Lyee programs in
general. This is due to the fact that the structure of boundary
software is highly dependent on the target system the
software is being developed for. If, for example, Visual
Basic was used as the target language, the boundary
software for the designed screens would have to be provided
in Visual Basic files. If the target language was Java, these
files and their structure would be different.
However, one aspect that remains unchanged is that
certain boundary software is associated with certain parts of
the Lyee program. For example, the GUI part of a Lyee
program is related to the system items or the defineds of the
definitions above. This is underscored by the fact that every
dialog in the GUI has to be represented by a defined. Now, it
is possible to argue about whether a dialog’s boundary
software has to be stored with the defined or the system.
Nevertheless, one aspect that both possibilities have in
6. common is that the boundary software can be regarded as
part of the set X of either the defined definition or the system
definition. Thus, incorporating boundary software into the
system is more a matter of the implementation of this
structure than of the definitions of the static structure.
3.3. Completeness of program structure
During the presentation of the definitions, we already
mentioned elements that are not covered by the static
structure definitions. This is due to the fact that we only
provided definitions for the elements that form the
‘programmer’s input’ of a Lyee program. We did not set
up definitions for the elements that are provided by the Lyee
framework. If we keep in mind that the elements Tense
Control Function, Predicate Vector Information, and all
Action Vectors (except some routing vectors captured by our
definitions) are provided by the Lyee framework, it is
plausible that we cover all elements of Lyee programs in our
considerations, although we only provide definitions for
those elements that are given by the programmers. This
enables us to set up the CM concept for Lyee programs
based on the definitions presented above.
4. Lyee configuration management concept
The process of establishing a CM concept for Lyee
software can be split up into two tasks: first, a mapping has
to be defined that associates the elements of the static
structure of Lyee programs with software objects in the
SCM system. This relates to the task of identification
mentioned earlier. Then, the operations to put a Lyee
program under SCM control or to retrieve a version of the
program from the repository have to be specified. This
corresponds to the task of control in the overview given in
Section 2 of this article.
4.1. Mapping the Lyee program structure onto software
objects
In terms of SCM, software products consist of
software objects that are related to each other. Thus,
Fig. 1. UML class diagram of static program structure.
444 V. Gruhn et al. / Knowledge-Based Systems 16 (2003) 441–447
we now have to determine how the structure defined
above can be mapped onto a structure that can be
processed by a SCM system. From now on, we will use
the Network-Unified Configuration Management system
(NUCM) [8], a testbed for SCM systems that provides
the necessary functionality to implement a SCM system,
as the basis of our considerations and the later
implementation. It should be noted that in NUCM
software, objects are called atoms if they are atomic or
collections if they are composite.
A first and straightforward approach leads to a mapping
that transforms tuples and sets from our definitions into
collections in NUCM, while the remaining elements of our
tuples become atoms. This is a valid approach since all
information from the static program structure is mapped
onto items that can be handled by NUCM. However, this
approach is rather ineffective as it considers neither the
fact that NUCM stores all entities in files, nor the
granularity of Lyee software. Hence, we have to identify
configuration items in Lyee software just like in
‘traditionally developed software’. There, we have a
boundary in abstraction below which no further decomposition
of items takes place for versioning purposes. For
7. example, in C programs, configuration items are on the file
level. Source files are not decomposed for versioning
purposes, and the version of a software object is
equivalent to the version of the corresponding file. For a
modularization concept for Lyee programs [9], we
identified the PRDs as the level of abstraction on which
we form modules of the software. Thus, it is reasonable to
identify the configuration items on a level of abstraction
below the PRDs. Hence, we can define the pallets to be
the configuration items. These considerations enable us to
improve the first transformation mentioned before to get to
a practical one.
† A tuple from a definition always becomes a collection
in the NUCM repository.
† All items of a tuple in a definition that are neither a set
nor a tuple will be collected and stored together in one
atom in the NUCM repository.
† Any set X in a definition will be added to the atom from
the previous case.
† All sets within tuples become collections in the NUCM
repository.
† Pallets are stored together with all related data as one
atom. Within these atoms, the complete hierarchy
of items is stored. Thus, the structure of the pallets
and its descendants can be reconstructed from the
atom without storing the structure in collections and
atoms.
Fig. 2 shows a system and a process route diagram
transformed into NUCM entities using this transformation.
Collections are drawn as ovals, whereas atoms are drawn as
rectangles.
4.2. Configuration management system structure
With these rules set up, we can now transform any Lyee
project in such a way that it can be put under the control of a
NUCM system. We will briefly present the structure of the
CM system for Lyee, LyeeSCM, in this section.
Fig. 3 shows the structure of the LyeeSCM system:
clients and servers are drawn as surrounding boxes,
persistent data sinks are indicated by barrels. If the data
sinks are only present during program runtime, they are
drawn using dotted lines.
The NUCM server is running on the server machine. We
refer to this system as the NUCM repository. It acts as a file
container and stores files and their versions. The client/server
architecture of NUCMenables us to design LyeeSCMas
a client/server system, where we can use the NUCM server
as-is for the server part of LyeeSCM.
The MetaRepresentation structure is a dynamic data
structure on the client machine which is only available at
runtime of the LyeeSCM tool. This structure mainly
contains the parts of the Lyee program that correspond to
the static structure modeled before. In the MetaRepresentation,
we also store version tag information, i.e. information
whether software objects on the client machine are up-todate
or not.
Fig. 2. One system and three process route diagrams as NUCM artifacts.
Fig. 3. LyeeSCM system structure.
V. Gruhn et al. / Knowledge-Based Systems 16 (2003) 441–447 445
The LyeeALL database on the client machine stores all
data that is to be put under version control. Contents from this
database can be read from and written to the MetaRepresentation,
8. and contents of the MetaRepresentation can be
written to the database. Hence, this database acts as the
interface to the programmer, since its contents are originally
changed by using the LyeeALL tool. Changes in the Lyee
program made using LyeeALL are reflected in this database,
thus finding their way into LyeeSCM, and vice versa.
The SCMInfo structure is created by LyeeSCM and
stored on the client machine. This structure contains
additional data that is needed for keeping track of the
different aspects of configurations. In the SCMInfo
structure, all version information about the last synchronized
state is stored, i.e. the version tag of the last
synchronization for every configuration item. Additionally,
the latest version of the configuration item itself is also
stored in the SCMInfo structure. This data about the last
version are needed for comparing and merging in case of
version conflicts.
The local file system on the client machine is needed for
operations of LyeeSCM and used to store a working copy of
contents from the NUCM repository. It is shown here for
completeness only.
4.3. Different steps of configuration management
After identifying the elements of LyeeSCM, we have to
find out how these parts have to work together in order to
establish the CM. For this purpose, we list the major
operations that are necessary to provide the full functionality
of the system.
1. Importing a Project into the SCM System. This operation
has to be carried out given the situation that there is a
Lyee software project that has not been put under
LyeeSCM control so far. The Lyee project has to be read
from the local machine and stored in the NUCM
repository on the server.
2. Exporting a Project into Lyee. Now we assume that a
project that is under SCM control is not present in the
LyeeALL database. This operation creates an instance of
the project in the local LyeeALL database. This way, a
developer can join the development of the software.
3. Checking the status. Now we assume that we have a
project in the local LyeeALL database that has been
exported or imported. This means that there is a valid
SCMInfo structure available on the local machine.
Additionally, the project is stored in the NUCM
repository on the server. Now we want to check the
status of the system. This operation provides information
on whether parts of the system have been
added or removed remotely or locally, or were just
changed.
4. Synchronizing. Synchronization comprises performing
all changes that were identified as necessary by
‘checking the status’. These steps have to be
performed in order to synchronize the local LyeeALL
database and the NUCM repository. Consequently,
after the completion of this operation, the global
version of the software and the local version in the
LyeeALL database will be the same.
The elements of LyeeSCM mentioned before and the
procedures listed here were combined to form a working
SCM system. The system is capable of meeting all
requirements that arise if CM is requested for the software
9. development using Lyee.
5. Discussion and further work
The detailed elaboration of the CM concept has taken
place in the meantime, and the LyeeSCM tool has been
implemented and tested as a first step towards the
validation of our concepts. Additionally, a concept for
splitting Lyee programs into modules, which can be
developed independently, has been derived by using the
features of the definitions listed above. As it is not possible
to describe all aspects of that work in this article, we
focused on some aspects to give the reader a rough idea of
the LyeeSCM system and its key players. One part of work
that has to be performed next is the validation of the
concepts shown above. In order to do this, the LyeeSCM
tool should be used for CM in typical projects of Lyee
software development to demonstrate its suitability. We are
confident that the evaluation will prove the indications
available to us at the moment, showing that the presented
concepts are valid and well-defined and thus useful for the
Lyee community.
6. Conclusion
We have defined the program structure of Lyee software
using sets and their relationships. Using these definitions,
we were able to formulate a configuration management
concept for Lyee software. For this concept, we described
the structure of the configuration management system, as
well as its major procedures, which served as a basis for the
implementation of the LyeeSCM configuration management
tool. Using this configuration management concept,
the software process using Lyee methodology is supported
by another toolkit meeting the needs of large-scale system
development.
References
[1] W.F. Tichy, Tools for software configuration management, in: J.F.H.
Winkler (Ed.), Proceedings of the International Workshop on Software
Version and Configuration Control, Teubner Verlag, Grassau,
Germany, 1988, pp. 1–20.
446 V. Gruhn et al. / Knowledge-Based Systems 16 (2003) 441–447
[2] The Institute of Electrical and Electronics Engineers, New York, IEEE
Guide to Software Configuration Management Plans, ANSI/IEEE
Standard 828-1990, 1990.
[3] S. Dart, Concepts in configuration management systems, in: P.H. Feiler
(Ed.), Proceedings Third International Workshop on Software
Configuration Management, Trondheim, Norway, 1991, pp. 1–18.
[4] R. Conradi, B. Westfechtel, Configuring Versioned Software Products,
in: I. Sommerville (Ed.), Software Configuration Management:
ICSE’96 SCM-6 Workshop, LNCS 1167, Springer, Berlin, Germany,
1996, pp. 88–109.
[5] F. Negoro, Principle of Lyee Software, in: Proceedings of the
International Conference on Information Society in the 21st Century,
2000, pp. 441–446.
[6] F. Negoro, The Predicate Structure to Represent the Intention for
Software, in: Proceedings of the International Conference on Software
Engineering, Artificial Intelligence, Networking and Parallel/Distributed
Computing, 2001.
[7] C. Souveyet, C. Salinesi, Generating Lyee Programs from User
Requirements with a Meta-model based Methodology, in: Proceedings
of Lyee W02, 2002, pp. 196–211.
[8] A.v.d. Hoek, D. Heimbigner, A.L. Wolf, Generic, Peer-to -Peer
Repository for Distributed Configuration Management, in: International
Conference on Software Engineering, 1996, pp. 308–317.
[9] V. Gruhn, R. Ijioui, D. Peters, R. Queck, C. Scha¨fer, Aspects of Lyee
Configuration Management, in: Proceedings of Lyee W03, 2003
(in press).
V. Gruhn et al. / Knowledge-Based Systems 16 (2003) 441–447 447