Transactions on Engineering Sciences vol 3, 1993 WIT Press, ISSN

Similar documents
NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

Introduction... ix. Chapter 1: Exploring Fundamental Programming Concepts... 1

Software Development Methodologies

Frameworks Representations & Perspectives Position Paper Workshop on Language Support for Design Patterns and Frameworks, ECOOP 97

OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE (OMT)

Chapter 11 Object and Object- Relational Databases

HyperFrame - A Framework for Hypermedia Authoring

Object-Oriented Analysis Techniques Coad s OOA Technique Short History Terminological Comparison Postscript and Remarks

Object-Oriented Design

REVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION

CHAPTER 9 DESIGN ENGINEERING. Overview

Student Performance Q&A:

Software Service Engineering

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

LABORATORY 1 REVISION

Object Oriented Programming in Java. Jaanus Pöial, PhD Tallinn, Estonia

Software Development Methodologies

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

Sustainable software design with design patterns

Practical UML : A Hands-On Introduction for Developers

Credit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects

Design Aspects of the Standard I/O Library. Design with Java:

Full file at Chapter 2: Foundation Concepts

Concepts of Programming Languages

Modeling the Dialogue Aspects of an Information System

H&A Engineering. Systems

The Music Notation Toolkit: A Study in Object- Oriented Development

APICES - Rapid Application Development with Graph Pattern

Credit where Credit is Due. Last Lecture. Goals for this Lecture

On Modeling Top-Down VLSI Design

Object-Oriented Systems Analysis and Design Using UML

Chapter 13 Object Oriented Programming. Copyright 2006 The McGraw-Hill Companies, Inc.

E-R Model. Hi! Here in this lecture we are going to discuss about the E-R Model.

Chapter 8: Enhanced ER Model

Practical UML - A Hands-On Introduction for Developers

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems

Design Pattern and Software Architecture: IV. Design Pattern

Lecture 13: Object orientation. Object oriented programming. Introduction. Object oriented programming. OO and ADT:s. Introduction

Design Pattern: Composite

CHOICE BASED CREDIT SYSTEM (With effect from )

(11-1) OOP: Inheritance in C++ D & D Chapter 11. Instructor - Andrew S. O Fallon CptS 122 (October 29, 2018) Washington State University

Object-Oriented Software Engineering Practical Software Development using UML and Java

CPS 506 Comparative Programming Languages. Programming Language

Topic 13 Object-oriented Analysis

Solved Question Paper June 2017

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

Representing Control Constructs in Object-Flow Process. Diagrams

2. The object-oriented paradigm

What are the characteristics of Object Oriented programming language?

Unified Modeling Language (UML) Class Diagram

Basic Object-Orientation

Chapter 8 The Enhanced Entity- Relationship (EER) Model

administrivia today UML start design patterns Tuesday, September 28, 2010

THE SIMIAN ARCHITECTURE - AN OBJECT-ORIENTATED FRAMEWORK FOR INTEGRATED POWER SYSTEM MODELLING, ANALYSIS AND CONTROL ABSTRACT INTRODUCTION

MechEng SE3 Lecture 7 Domain Modelling

The architecture of Eiffel software 3.1 OVERVIEW classes clusters systems

Learning Objectives. C++ For Artists 2003 Rick Miller All Rights Reserved xli

INFORMS 4th Conference on Information Systems and Technology. Generalizations as Data and Behavior Abstractions

Software Engineering Prof. Rushikesh K.Joshi IIT Bombay Lecture-15 Design Patterns

Informatics 1: Data & Analysis

Chapter 12 Object and Object Relational Databases

Chapter 10 Classes Continued. Fundamentals of Java

Sri Vidya College of Engineering & Technology

IT-2670: C/C++ PROGRAMMING LANGUAGE

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business.

WA1278 Introduction to Java Using Eclipse

Object-oriented development. Object-oriented Design. Objectives. Characteristics of OOD. Interacting objects. Topics covered

Design and Evolution of an Agent-Based CASE System for OOAD

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

Object-Oriented Software Engineering. Chapter 2: Review of Object Orientation

Inheritance. OOP components. Another Example. Is a Vs Has a. Virtual Destructor rule. Virtual Functions 4/13/2017

Software Engineering Lab Manual

A Meta-Model for Composition Techniques in Object-Oriented Software Development

Reusability Metrics for Object-Oriented System: An Alternative Approach

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 2: Review of Object Orientation

Fundamentals of STEP Implementation

Information System Design (IT60105)

SDC Design patterns GoF

C++ (Non for C Programmer) (BT307) 40 Hours

Object Oriented System Development

Programming Languages 2nd edition Tucker and Noonan"

OO Techniques & UML Class Diagrams

The Essence of Object Oriented Programming with Java and UML. Chapter 2. The Essence of Objects. What Is an Object-Oriented System?

Author's Prepublication Version

Chapter 5: Procedural abstraction. Function procedures. Function procedures. Proper procedures and function procedures

This page intentionally left blank

Objectives. INHERITANCE - Part 1. Using inheritance to promote software reusability. OOP Major Capabilities. When using Inheritance?

Data Structures and Algorithms Design Goals Implementation Goals Design Principles Design Techniques. Version 03.s 2-1

Ontology engineering. How to develop an ontology? ME-E4300 Semantic Web additional material

INHERITANCE - Part 1. CSC 330 OO Software Design 1

Basic Idea. The routing problem is typically solved using a twostep

«Computer Science» Requirements for applicants by Innopolis University

Several major software companies including IBM, Informix, Microsoft, Oracle, and Sybase have all released object-relational versions of their

Object-Oriented Modeling of Rule-Based Programming

Object Oriented Paradigm

Inheritance and Polymorphism

JAVA MOCK TEST JAVA MOCK TEST II

An Introduction to Object Orientation

Journal of Information Technology Impact

Course Description. Learn To: : Intro to JAVA SE7 and Programming using JAVA SE7. Course Outline ::

Transcription:

Object-oriented data model for computer aided design in electrical engineering I. Salomie," D.G. Elliman* Computer Science and Engineering Department, Technical Romania & Computer Science Department, University of Nottingham, ABSTRACT The purpose of this work is to specify a set of concepts and abstractions of object-orientated nature, together with the structural relations among them, as the theoretical and practical bases for designing of ELECTROO, an Object-Oriented CAD environment in Electrical Engineering (EE). As a first approach, we embedded the developed concepts and abstractions in an object-oriented scheme of a modeling system of power electrical engineering designs. INTRODUCTION An object-oriented data model is considered to be most adequate to represent data intensive, high structured, possibly recursive nested, complex objects, like electrical engineering designs. Our purpose is to specify a set of concepts and abstractions of objectoriented nature and the structural relations among them, as the theoretical and practical bases for designing of ELECTROO, an Object-Oriented CAD environment in electrical engineering in general and power electrical engineering in particular. As a first approach, we embedded the developed concepts and abstractions in an object-oriented scheme of a modeling system of power electrical engineering designs. Rumbaugh [5], Coad [1] and Coad [2] thoroughly approaches objectoriented methodologies for modeling, design and analysis. In Rumbaugh [5] an on-line diagram editor (OLIE) is proposed as a CAD tool for designing electrical power distribution systems. Neyer [4], has elaborated an objectoriented model based on local processing and graph traversing, for a particular example of a load flow in power electrical engineering. Next, we shell introduce first, some fundamental concepts of our model. A Design is an ELECTROO modeling entity.

388 Software Applications in Electrical Engineering In the real world, it corresponds to an electrical engineering design. We shall use capital letters as the first letter of a word, to denote an ELECTROO abstraction. A real world design may contain schematic diagrams with names and values for components, calculational relations, constraints, etc. A design can be considered as a model of a real world complex object. A design must be integrated with the real world, therefore it must have inputs and outputs from/to real world. A design is an open entity and so is a Design. A Subdesign is an ELECTROO modeling entity. In a real world design, a subdesign is a mean to manage complexity, using the principle of "divide et impera". In ELECTROO a Design entity may have zero or more Subdesigns. At its turn, a Subdesign may have zero or more Subdesigns. Design and Subdesign are composite modeling entities. An ElDev, standing for Electrical Device is an ELECTROO atomic modeling entity. In real world they correspond to electrical devices like transformers, breakers, interrupters, motors, fuses, etc. All modeling entities will be represented as abstract data types (classes) with an implementation and a behavior. The organization of the modeling abstractions are recorded in schemes. The schemes for Design and ElDev abstractions, are implemented by means of class hierarchies. Data modeling concepts we used to elaborate the modeling schemes are based on two kinds of orthogonal hierarchies: an aggregation ("part-of) hierarchy and a generalization/specialization ("is-a") hierarchy. Using inheritance, one can add new data members and behavior to the above system supplied abstractions, reusing the already existing code with minimal effort. MODELING OF ElDev ENTITY In ELECTROO, ElDev (Electrical Device) is an abstraction for the set of electrical devices. Usually an ElDev has lots of associated data, out of which some are of prime importance. For example, according to Comsa [3], for a power transformer, the most important data are: Sn - nominal power, Un_HV - high nominal voltage, Un_LV - low nominal voltage, k!2 transforming rate. In ELECTROO the ElDev model is defined for three levels (figure 1). user user ElDev primary > ElDev user > ElDev Design model model model Figure 1: Levels of an ElDev model ELECTROO conceptual model of an ElDev is shown in figure 2. The behavior part is only partly defined in the primary model, being completed through specialization, by the user, in the user's model of the ElDev, using structure and behavior inheritance.

Software Applications in Electrical Engineering 389 ElDev Structure Behavior Ident Repr Connect Data i Figure 2: The conceptual model of an ElDev Primary ElDev model The primary model of an ElDev consists of a class hierarchy with inheritance. The identification (Ident) part consists of an alphanumeric code which unique identify the component among other components in a dictionary. The representation (Repr) part consists of a set of graphic primitives in a representation container. The connect part is based on a ConnectPoint abstraction. Each ElDev has got a finite number of ConnectPoint instance objects in a connection container. The data part consists of declarations of the minimal amount of data members of ElDev. For example, for a Transformer it consists of declarations of data types suited to accommodate transformer's name (string), nominal power (int), nominal high voltage (float), nominal low voltage (float), transforming rate (float). The behavior part of a primary ElDev model consists of a minimal set of methods that allows the ElDev to present itself (class it belongs to, name), to set and read the data members from/into an external environment, constructor and destructor for an ElDev. The class hierarchy of the primary model is presented in figure 3. Figure 3: Class hierarchy of the primary ElDev model

390 Software Applications in Electrical Engineering Class Object is assumed as the basic class in OOP Languages, defining an object in its most abstract representation and behavior. Class GObj is an abstract class, public derived from Object. It defines the structure and behavior of the most general graphic object. It is the superclass of all graphic classes with direct representation: Point, Line, Circle, Arc, Rectangle, etc. Class Connect defines a connection point for an ElDev. A ConnectPoint object contains the index and the name of the connection point, a set associations of the connection point with electrical values and methods for computing the values, room for defining the opposite end of connection, useful for consistency checks. Class Device, multiple inherits from GObj and Connect, therefore merges the representation and connection characteristics of an ElDev in an unique object. As data members it has two remarkable entities of container type, one for collecting ConnectPoints and the other one for collecting graphic primitives for representation. A Device class is associated with iterators for a systematic traversing of the objects in containers. It also contains as methods, functions for adding and removing objects from containers. Device abstraction serves as the template for all devices with electrical semantics, to be further developed like Transformers, Breakers, Motors, etc. At the next level, the representation, connection points and main data members are set up for various classes of electrical devices. For example, for a Transformer, the RepresentationContainer will be "filled" with two Line objects and two Circle objects, corresponding to the graphical shape of a power transformer, while the ConnectContainer will be filled with two ConnectPoint objects. An instance object of this class, "knows" about itself that it is a transformer, how can it be connected and its main parameters. User ElDev model In a catalog data sheet, an ElDev has many associated data. At the same time, many CAD applications need only certain data items, beside those already embedded in the primary model. The user is allowed to extend the primary model, by specializing the abstraction associated with the primary model, generating a user defined ElDev model. For example, for a Transformer, the user can add data members for: Use (%) - shortcircuit relative voltages; DPsc - active power nominal lose in shortcircuit operation and methods for converting the power transformer into the equivalent diagrams for scurtcircuit computations. Figure 4 shows that a designer can derive as many specialized subclasses of a superclass, as he or she needs. Classes in the hierarchy are represented as double line rectangles, while instance objects are represented as a simple rectangle. In the example figure: Transformer is the superclass, TransformerApp_i and Transfer me rappj are subclasses, Tl_App_i, Tn_App_i, Tl_AppJ, Tm_AppJ are instance objects of specialized classes, owned by a Design.

Software Applications in Electrical Engineering 391 ElDev Primary model ElDev User model ElDev Instance Objects in Designs TransformerApp_i Transformer TransformerApp_j Figure 4: Specializing by class derivation MODELING OF Design ENTITY The OO data model of an electrical engineering design consists of a class hierarchy with inheritance. The root of this hierarchy is ELECTROO entity Design. A Design entity must embed the structure and behavior of a real world design. Structural specifications In developing of structural specifications for Design, we made use of the following criteria: * A top-down approach of any design, using functional decomposition to manage complexity, breaking any complex Design into Subdesigns and so on. * The possibility of reuse of previously designed and tested Subdesigns as subparts of other Designs of a higher complexity. Such Subdesigns can be parts-of other Designs. * A two dimensional approach, on horizontal and vertical direction, figure 5, of the structural complexity of any electrical engineering Design. Design > horizontal o complexity dl d3 V vertical complexity d2 Figure 5: 2D approach of structural complexity In the Design space, "dl" has a marked horizontal 2D complexity, belonging to the so called "flat designs" class, while at the opposite side, "d3"

392 Software Applications in Electrical Engineering has a deep vertical 2D complexity, indicating a Design with Subdesigns, which at their turn have Subdesigns. DES1 _\ NodeConta i ner : Subdesign: DES11, DES12 ElDev: EU1, EU2 Wire: ui, u2, u3, u4, u5, ub, u7 Junctions: Ji, J2 InterDesignConnect: El, E2, E3 Figure 6: Abstractions in a conceptual Design Identifying the modeling abstractions For structural modeling of complex electrical engineering designs, ELECTROO uses two abstract data types (ADTs). ADT Generalized Tree (GT) A GT ADT is used for modeling the global structure of a Design. A GT ensures the two necessary dimensions for modeling the structural complexity of any EE Design. The vertical complexity by means of GT recursivity, while the horizontal complexity by means of the unlimited number of sibling nodes, each node representing a Subdesign. ADT NodeContainer A container is used for collecting the instance objects, members of each node in the GT. Such a container, associated with each node may own composite objects (of Subdesign type) or AtomicElement objects like ElDevs, Wires, Buses, Junctions. For container iterating purposes a NodeContainerlterator has been implemented. For modeling purposes of the atomic objects owned by the container, at the current level of technology, we have identified the following abstractions: InterDesignConnections, an abstraction used for electrical connections between composite entities, Design - Subdesign, or Subdesign - Subdesign. They act as slots when in a current Design or Subdesign, a previous designed

Software Applications in Electrical Engineering 393 Subdesign is imported. A set of electric parameters are associated with instance objects of this class. InDesignConnections is an abstraction which generalizes objects for local electrical connections like wires, buses and junctions. Electrical Devices (ElDev), abstraction which groups the large set of standardized electrical devices like transformers, breakers, etc. Figure 6 presents in an example of a conceptual Design, all the above abstractions. Structural relations in a Design object After identifying the abstract modeling entities, the next step is to structure them by means of structural relations of aggregation type (part_of) and specialization (is_a). Following Rumbaugh [5], we used diamond signs to symbolize the aggregation relation and triangles to symbolize the generalization / specialization relation. To indicate the multiplicity of the aggregation we Design -+ Subdesign l o 4 Atomic elements - A - \ ElDev InterDesign A Connect \ InDesign Connect - A - \ Transformer Breaker Figure 7: Structural relations in a Design object used the symbols "o", meaning "many, in the range CLn" and "*", meaning "many, in the range l..n". The structural relations among the above concepts and abstractions are shown in figure 7. In the figure, we can see that a Design can aggregate an indefinite number of Subdesigns and at least one AtomicElement, while a Subdesign can recursive aggregate an indefinite number of other Subdesigns. Termination is ensured by Subdesigns having only Atomic elements in the

394 Software Applications in Electrical Engineering associated containers of member objects. Behavioral specification Each instance object of a Design or Subdesign class will have a behavioral specification. At the topmost level, entity Design, it is likely the associated methods to have an overall character (to propagate through all the design). At this level, we specified methods for presentation and report generation, different queries on electrical consistency and load flow, generating application dependent views of the model, the list being opened for new methods. Actually, the user is not allowed to modify the structural relations among entities, but is desired to add new behaviors to the modeling entities at any level, by specializing classes. At the same time, this level provides the interface for an incremental construction, save and edit of the model entities. CONCLUSIONS AND FUTURE WORK The proposed modeling system has been partly implemented in a Borland C + + environment and tested for its capabilities of topological modeling on an electrical power supply system for a factory department with one small workshop consisting of seven Subsystems at the root level: the power transformer station 20kV/0.4kV, workshop feeder panel, a lathe machine subsystem, a milling machine subsystem, a drilling machine subsystem, lighting subsystem and fanning subsystem. The maximum 2D vertical complexity of the power supply design was of 3 nested Subdesigns. The necessary data for populating the Design with specific entities have been supplied from files. For future work, we plan to specify and implement an interactive Layout Editor for a WYSIWYG approach of model generation, support for persistent objects and versioning. REFERENCES 1. Coad, P., Yourdon, E., Object-Oriented Analysis, Prentice Hall International 1991 2. Coad, P., Yourdon, E., Object-Oriented Design, Prentice Hall 1991 3. Comsa, D., Darie, S., Maier, V., Chindris, M., Proiectarea Instalatiilor Electrice Industrial, EDP Bucuresti, 1983 4. Neyer, A.F., Wu, F.F., Imhof, K. 'Object-Oriented Programming for Flexible Software: Example of a Load Flow' IEEE Transactions on Power Systems, pp. 689-695, Vol. 5, No. 3, August 1990 5. Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W., Object- Oriented Modeling and Design, Prentice Hall International 1991 6. Salomie, I., Comsa, D., Nedevschi, S., Topological Modeling of Electrical Power System Projects in CAD Environments' pp.215-226, Proc. of the Conf. on Optimization of Electric and Electronic Equipments, Brasov 1991 7. Stroustrup, B., TheC+ -^-Programming Language, Addison-Wesley 1991