Change Management in Shared Software Specifications

Author(s):  
Fathi Taibi

In order to support the collaborative development of software specifications, there is a need to automate the extraction and integration of the parallel changes or revisions that are made to a shared specification. These revisions are aimed at reaching a specification that satisfies the needs of all the stakeholders. Hence, merging conflicts are inevitable and must be detected and resolved in order to commit the changes made properly to the shared specification leading to a consistent result. A framework is proposed in this chapter to extract and integrate the parallel changes made to Object-Oriented formal specifications in a collaborative development environment. A formal foundation is proposed to uniformly define the specifications, the revisions made to them and the possible merging conflicts. The proposed framework allows extracting and integrating the parallel changes made while addressing a wide range of merging conflicts at the same time. Evaluating the developed algorithms has shown good signs in terms of accuracy and scalability.

Author(s):  
Andrés Flores ◽  
Alejandra Cechich ◽  
Gabriela Aranda

Object-oriented patterns are a promising technique for achieving widespread reuse of software architectures. They capture the static and dynamic structures of components and frameworks in successful solutions to problems for a wide range of domains. However, patterns are invariably described informally in the literature, which makes it difficult to give any meaningful certification of pattern-based software. The design process could be enhanced by means of an automatic support for modeling and verification with a proper formal foundation. In this chapter, we show how formal specifications of GoF patterns, based on the RAISE language, have been helpful in developing that tool support, where we have adopted the well-known Java language upon its portability facet. Thus, the object-oriented design process is extended by the inclusion of pattern-based modeling and verification steps, the latter involving checking design correctness and appropriate pattern application through the use of the supporting tool, called DePMoVe (design and pattern modeling and verification).


2014 ◽  
Vol 548-549 ◽  
pp. 1504-1509 ◽  
Author(s):  
Jun Ji ◽  
Wei Yan Chai ◽  
Gan Xin Xue ◽  
Ge Yang Li

According to the business characteristics and technical requirements of heavy military vehicles digital collaborative development, the paper proposes the dynamic federal collaborative development method for heavy military vehicles. To realize the method, the key is constructing the three-tier dynamic federal collaborative development environment. So the paper focuses on the research of the business, function and technical architecture of dynamic federal collaborative development environment. Applying the Web Service-Based cross-system collaborative flow controlling method and developing the integrated middleware, the three-tier federal collaborative environment realizes tightly integration. Finally, the application demonstration of a type-product inter-enterprise collaborative development based on the developed digital collaborative development platform verifies the effectiveness and feasibility of the method.


2012 ◽  
Vol 522 ◽  
pp. 823-827
Author(s):  
Jian Jiang Fang ◽  
Wen Jun Qi

The gear drive is the wide range of applications and is particularly important as a form of mechanical transmission, but the design process requires large amounts of data access and computation. In the paper, computer integrated technology and object-oriented technology is used to research and develop the intelligent design of Straight gear reducer system with user-friendly interactive platform, easy to use, high design efficiency and reliable data.


1987 ◽  
Vol 16 (231) ◽  
Author(s):  
Bent Bruun Kristensen ◽  
Ole Lehrmann Madsen ◽  
Birger Møller-Pedersen ◽  
Kristen Nygaard

<p>The main thing with the sub-class mechanism as found in languages like C++, SIMULA and Smalltalk is its possibility to express <em>specializations</em>. A general class, covering a wide range of objects, may be specialized to cover more specific objects. This is obtained by three properties of sub-classing: An object of a sub-class inherits the attributes of the super-class, virtual procedure/method attributes (of the super-class) may be specialized in the sub-class, and (in SIMULA only) it inherits the actions of the super-class.</p><p>In the languages mentioned above, virtual procedures/methods of a super-class are specialized in sub-classes in a very primitive manner: they are simply <em>re-defined</em> and need not bear any resemblance of the virtual in the super-class. In BETA, a new object-oriented language, classes and methods are unified into one concept, and by an extension of the virtual concept, virtual procedures/methods in sub-classes are defined as <em>specializations of the virtuals</em> in the super-class. The virtual procedures/methods of the sub-classes thus inherit the attributes (e.g. parameters) and actions from the ''super-procedure/method''.</p><p>In the languages mentioned above only procedures/methods may be virtual. As classes and procedures/methods are unified in BETA this gives also <em>virtual classes</em>. The paper demonstrates, how this may be used to parameterize types and enforce constraints on types.</p>


Author(s):  
K. Ishii ◽  
C. H. Lee ◽  
R. A. Miller

Abstract This paper describes our proposed methodology for process selection that applies to the early stages of product design. We focus on net-shape manufacturing processes and identify the major factors that affect the selection of an appropriate process. The sequence at which designers typically make decisions depends largely on the nature of the product and the development environment. Thus, a versatile methodology should consider all the factors simultaneously in assessing the suitability of the candidate processes. The paper describes three types of knowledge that represent the compatibility of various processes to a given set of specifications: a) Case-based knowledge, i.e., templates of good, bad, and poor combination of decisions, b) Ordinal relationships among candidate processes based on interval analysis of cost, and c) Life-cycle cost estimate. Each type of knowledge gives an evaluation of suitability (compatibility) of candidate processes. Our future challenge lies in combining these measures at various stages of product development. Our initial studies on relationships between process selection and influencing factors lead to a HyperCard stack which stores information in an object-oriented fashion. This stack contains information which is the basis for our future computer-aid for process selection.


Author(s):  
L. Shan ◽  
R. Shen ◽  
J. Wang

Based on the meta-model of information systems presented in Zhu (2006), this chapter presents a caste-centric agent-oriented methodology for evolutionary and collaborative development of information systems. It consists of a process model called growth model, and a set of agent-oriented languages and software tools that support various development activities in the process. At the requirements analysis phase, a modelling language and environment called CAMLE supports the analysis and design of information systems. The semi-formal models in CAMLE can be automatically transformed into formal specifications in SLABS, which is a formal specification language designed for formal engineering of multi-agent systems. At implementation, agent-oriented information systems are implemented directly in an agent-oriented programming language called SLABSp. The features of agent-oriented information systems in general and our methodology in particular are illustrated by an example throughout the chapter.


Sign in / Sign up

Export Citation Format

Share Document