<<

USING RELATIONAL IN THE ENGINEERING REPOSITORY SYSTEMS

Erki Eessaar Department of Informatics, Tallinn University of Technology, Raja 15,12618 Tallinn, Estonia

Keywords: Relational data model, Object-relational data model, Repository, Metamodeling.

Abstract: Repository system can be built on top of the management system (DBMS). DBMSs that use relational data model are usually not considered powerful enough for this purpose. In this paper, we analyze these claims and conclude that they are caused by the shortages of SQL standard and inadequate implementations of the in the current DBMSs. Problems that are presented in the paper make usage of the DBMSs in the repository systems more difficult. This paper also explains that relational system that follows the rules of is suitable for creating repository system and presents possible design alternatives.

1 INTRODUCTION technologies in one data model is ROSE (Hardwick & Spooner, 1989) that is experimental data "A repository is a shared database of information management system for the interactive engineering about the engineered artifacts." (Bernstein, 1998) applications. Bernstein (2003) envisions that object- These artifacts can be software engineering artifacts relational systems are good platform for the model like models and patterns. Repository system contains management systems. ORIENT (Zhang et al., 2001) a repository manager and a repository (database) and SFB-501 Reuse Repository (Mahnke & Ritter, (Bernstein, 1998). Bernstein (1998) explains that 2002) are examples of the repository systems that repository manager provides services for modeling, use a commercial ORDBMS. ORDBMS in this case retrieving, and managing objects in the repository is a system which uses a database language that and therefore must offer functions of the Database conforms to SQL:1999 or later standard. Management System (DBMS) and also additional Relational data model was introduced by Codd functions. (1970) and has been extensively studied since then. The repository manager uses custom-built data One notable revision is the Third Manifesto (Date & manager or general-purpose DBMS in order to Darwen, 2000), (Date, 2003). Relational model and manage artifacts. System Arcadia (Taylor et al., relational systems are often criticized because they 1988) is an example of the system that uses custom- are arguably not powerful enough for the repository built object manager. Omega (Linton, 1984), The C system. Information Abstraction System (Chen et al., 1990), In this work we show that these problems are PARSE (Gray, 1997) and CommonKADS repository caused by the shortages of SQL standard and (Allsop et al., 2002) are examples of the repository systems that implement that standard. There exists systems that use a Relational DBMS (RDBMS). analyzes of SQL and comparisons of it with the RDBMS in this case is a system which uses a proposals of the Third Manifesto (Date & Darwen, database language that conforms to SQL:1992 2000), (Pascal, 2000), (Date, 2003) but they don't standard or is even earlier discuss problems in the context of specific language. Object-Oriented DBMSs have been often application areas like engineering repositories. seen as a suitable platform for building repository In this paper we also explain how a relational systems (Bernstein, 1998) (Dittrich et al., 2000). system that follows the rules of the Third Manifesto Object-Relational DBMS (ORDBMS) combine can be used in order to create a repository database. features of the relational data model and object- In this case we wouldn't have problems that are oriented programming languages. An example of an present in current ORDBMSs. early attempt to combine relational and object

30 Eessaar E. (2006). USING RELATIONAL DATABASES IN THE ENGINEERING REPOSITORY SYSTEMS. In Proceedings of the Eighth International Conference on Enterprise Information Systems - DISI, pages 30-37 DOI: 10.5220/0002455800300037 Copyright c SciTePress USING RELATIONAL DATABASES IN THE ENGINEERING REPOSITORY SYSTEMS

We adopt definition (Date, 2003) according to Table 1: Problems of the relational model. which the relational data model consists of an Problem Authors who mention extensible collection of scalar types, type that problem generators, facilities for defining relation variables It is not powerful, Hardwick and Spooner (relvars) of such types, assignment operations for flexible and expressive (1989),Constantopoulos assigning relation values (relations) to relvars and an enough. et al. (1995). extensible collection of generic relational operators Fragmentation. Data Liu et al. (1996), for deriving relation values from other relation about the object is in Gray (1997). values. the different relations. The rest of the paper is organised as follows. Performance problems Hardwick and Spooner Section 2 contains results of the literature study due to fragmentation. (1989), Gray (1997). about the problems of the relational model and Lack of powerful type Taylor et al. (1988), RDBMSs that hamper their usage in the repository system. Miguel et al. (1990), systems. Section 3 explains how a RDBMS which Emmerich et al. (1992), data model follows the rules of the Third Manifesto Liu et al. (1996), can be used in a repository system. Nowadays much Gray (1997). attention is paid to the ORDBMSs. Section 4 Poor support to data Hardwick (1984), describes problems of the current ORDBMSs that that represents graph Miguel et al. (1990), make their usage in the repository systems more structures. Lack of Katz (1990), difficult. Section 5 summarizes and points to the facilities for making Emmerich et al. (1992), future work with the current topic. queries based on such Gray (1997), data including finding Lange et al. (2001). transitive closure. 2 LITERATURE STUDY Inappropriate Hardwick and Spooner transaction models for (1989) Next we classify problems of the relational model the engineering and RDBMSs based on the literature study and systems. analyze these problems in terms of the Third Detailed semantics of Engle (2003) Manifesto. Researchers and developers often present the relvars have to be these problems as reasons why relational database is captured outside the not the best choice to use in the engineering systems. relational system. Table 1 presents problems of the relational model Lack of possibility to Zhang et al. (2001) that have been identified by the researchers. preserve semantics of Some issues that have been raised by the the relationships. researchers are actually orthogonal to the relational model. We adopt the approach taken by Date and Fragmentation increases complexity to the user Darwen (2000, p. 21): "The question as to what data of database according to Gray (1997). Virtual relvars types are supported is orthogonal to the question of (views) help to overcome this problem in the system support for the relational model." Even Codd (1970) that follows the rules of the Third Manifesto. View- acknowledged possibility of the nonsimple domains defining expression can join values of relvars that which permitted values are relations. One reason contain information about the object. It can have why he argues for eliminating nonsimple domains is relation-valued attributes which values are that they require more complicated data structures at calculated using relational operator GROUP that the storage level than simple domains. Transaction provides relation "nest" capability (Date & Darwen, model is also orthogonal to the relational model. 2000). Gray (1997) writes that fragmentation may Date and Darwen (2000) have requirement for cause performance problems. But "performance is nested transactions in the section of the Other fundamentally an implementation issue, not a model Orthogonal Prescriptions. issue." (Date, 2005) Hierarchic and networked information can be Semantics of the relvar that is understandable to represented relationally (Pascal, 2000, chap. 7) Issue the human user is specified by the external predicate of making queries based on data that represents of the relvar (Date & Darwen, 2000, p. 179). It could graph structure is addressed in the Third Manifesto. well be recorded in the catalogue of the database that Relational Model Very Strong Suggestion no. 6 must be part of the database that it describes. (Date & Darwen, 2000, p. 213) requires that Semantics of the data that is understandable to the relational language should provide shorthand for system is represented by the internal predicate of the expressing generalized transitive closure query. relvar (Date, 2003, p. 262). Constraints to the value

31 ICEIS 2006 - DATABASES AND INFORMATION SYSTEMS INTEGRATION

of relvar specify internal predicate. Therefore 3 USING RELATIONAL DBMS IN RDBMS should provide means for defining tuple- THE REPOSITORY SYSTEM attribute-, relvar- and database constraints. Semantics of the relationship determine constraints that are used in order to implement this A repository system permits management of artifacts relationship and operations that may be performed that are created using some language that belongs to with the data that participate in the relationships the set of its supported languages. Repository system (Zhang et al., 2001). Relational language may should allow to add new languages to this set in contain shorthand statements that cause creation of order to be most useful. Abstract syntax of the the database objects that implement particular type language can be specified using metamodel of relationship. An example is a generalization (Greenfield & Short, 2004). Each repository has an relationship (Pascal, 2000, p. 158). information model that "specifies a model of the structure and semantics of the artifacts that are Table 2: Problems of the RDBMSs. stored in the repository." (Bernstein, 1998) Problem Authors who mention Information model contains general and that problem metamodel specific part (see Figure 1). The latter is union of metamodels of languages that are supported Views (including Haynie (1981), by the system. updatable) are Emmerich et al. (1992). inadequately supported. Performance problems. Linton (1984), Miguel et al. (1990), Chen et al. (1990), Lange et al. (2001). Inappropriate Katz (1990), transaction models. Emmerich et al. (1992), Gray (1997). Inadequate Constantopoulos et al. concurrency control (1995) mechanisms. Lack of versioning Emmerich et al. (1992), facilities. Gray (1997). Lack of access control Emmerich et al. (1992) on a level of single tuples in a relation Lack of distributed and Gray (1997) Figure 1: Example of the information model. multi-database architectures We propose to implement the information model Lack of configuration Gray (1997) in the relational database using a set of relation management variables (relvars), data types (types), operators and Lack of possibilities to Gray (1997) integrity constraints. There is more than one possible have cooperative work design of the repository. processes 1. Encapsulated artifact types: Each artifact type has a corresponding scalar type and a base relvar Table 2 presents problems of the RDBMSs that in a database. Artifact is recorded as a tuple that are mentioned in the literature. Except problems is part of the value of this relvar. with views, all other problems are orthogonal to the 2. Encapsulated artifact element types: Each relational model. Problems with the views are artifact element type ET has a corresponding problems of the implementation of the relational scalar type T and relvar R with an attribute that model. Problems that are mentioned in Table 1 and 2 has type T. should primarily cause improvement of the 3. Not-encapsulated artifact element types: Each implementation and standards but not necessarily artifact element type has a corresponding relvar invention of new data models. where each property of the element is repre- sented by one attribute with the appropriate type. Artifact is recorded as a set of tuples that are part of values of more than one relvar in case of design 2 and 3. Design 1 and 2 don't eliminate complexity. They require more complex scalar type and scalar

32 USING RELATIONAL DATABASES IN THE ENGINEERING REPOSITORY SYSTEMS

operator specifications than design 3. In general, TutorialD relational language and have been tested types should correspond to properties and relvars to in the prototypical DBMS Rel (Voorish, 2005). entities (Date & Darwen, 2000, appendix C). Tutorial D language has been proposed in the Third Therefore we choose design alternative 3. Next we Manifesto (Date & Darwen, 2000) and dialect used explain this design alternative more thoroughly. by Rel is based on that proposal. Each artifact element type is implemented using CONSTRAINT C_2 (COUNT(StartState)<=1); at least following database objects: 1. Exactly one relation type RELATION {H} CONSTRAINT C_3 IS_EMPTY ((Event RENAME where H is heading of the relation in the form (element_id# AS el_id#, destination AS (C1,..., Cn). C1 ... Cn are pairs of type name and element_id#) JOIN State) JOIN attribute name. Each attribute corresponds to one StartState); property of the artifact element type. 2. Scalar types that are used in the pairs C1 ... Cn. CONSTRAINT C_5 (IS_EMPTY (Event WHERE 3. Set of operators that allow selecting and origin=destination)); modifying components of the possible representation of these scalar types. CONSTRAINT C_6 IS_EMPTY (Artifact_ 4. Exactly one base relvar with the type element SEMIMINUS Element_in_artifact); RELATION {C1,...,Cn}. Each relvar must have at least one . 5. Let's assume that we have a generalization/ Some well-formedness rules can be enforced by specialization relationships between element creating appropriate key constraints. Rule R1 can be types ET1 and ETn in the information model. ETk enforced by creating the relvar constraint is supertype and ETk+1 is its direct subtype (1≤k< KEY{name} in the relvar State. It declares, that name n). Relvar Rk that corresponds to ETk and relvar of the State is a candidate key. Rule R4 can be Rk+1 that corresponds to ETk+1 are associated enforced by creating the relvar constraint using foreign key. For each element type where KEY{origin, destination} in the relvar Event. k>1 we have to create a corresponding virtual Constraint KEY {artifact_id#, element_id#} in the relvar. For example, element type ETk+1 has relvar Element_in_artifact ensures, that each corresponding virtual relvar Vk+1 that joins element can participate only once in the artifact. values of relvars R1,..., Rk+1. If one assigns a new Together with the constraint C_2 they guarantee that value to Vk+1, then system must assign a new each diagram (artifact) can contain at most one value to all the relvars R1,...., Rk+1. StartState. Integrity constraints – type-, attribute-, relval- Rules R2 and R5 are enforced by the relvar and database constraints enforce well-formedness constraints C_2 and C_5, respectively. IS_EMPTY rules of the artifacts. Model management operations () is a scalar operator that evaluates to like Merge, Diff, Compose etc. (Bernstein, 2003) true if the body of the relation denoted by contains no tuples (Date et al., 2003). operators. Constraints C_3 and C_5 could also be created using We illustrate our ideas by using a simple Count operator (Count()=0). software design language SimpleM that was Rule R3 is enforced by the database constraint originally presented by Serrano (1999) in order to C_3. C_3 is created based on the reformulation of introduce VCt specification language. SimpleM R3 to the equivalent rule R3'. (R3'): StartState can't specifies one diagram type. It is used for creating be destination of any event. C_3 is a database simple state diagrams. Diagram is a kind of artifact. constraint and not a relvar constraint because it Metamodel of the language is presented in the references to more than one relvar. metamodel specific part in figure 1. Database constraint C_6 ensures that each Serrano (1999) describes well-formedness rules element is part of at least one artifact. It uses of the language. We have modified rules R1 and R2. relational operator SEMIMINUS (Date, 2003) in (R1): Both StartState and State have a label with order to find tuples of one relation that have no a name that is unique amongst all other states. (R2): counterpart in another. There is at most one StartState in the repository. If a relvar in a database gets a new value, then (R3): "The StartState can only be connected to DBMS checks immediately conformance of this States by outgoing Events." (R4): "Any pair of value to the integrity constraints and rejects invalid States is connected at most by two Events, one in changes. Our earlier article (Eessaar, 2005) explains each direction." (R5): "Loop Events, i.e. Events that principles of the repository system that follows connect a State to itself, are not allowed." previously described principles and checks well- Next we present examples of statements for formedness of an artifact only if user of the system creating integrity constraints. They are written in

33 ICEIS 2006 - DATABASES AND INFORMATION SYSTEMS INTEGRATION

wants that. It explains also how to implement typing, then a distinct type has to be created. One versioning in such a system. can't use constraint definitions there. One also has to use a predefined type as a base type for distinct type and can't use distinct type as a base type for the 4 USING CURRENT ORDBMS IN domain. In case of using distinct or structured types one has to check correctness of the attribute values THE REPOSITORY SYSTEM using the methods of this type. Methods can be implemented using some imperative language (SQL Metamodel of the artifact language can be procedural extensions or other). Greenfield and implemented in a object-relational database using a Short (2004, p. 227) adopt definition: "An set of built-in- and user-defined data types, domains, imperative specification describes instructions to be base tables and virtual tables (views), built-in- and executed without describing the desired results of user defined routines, triggers, sequence generators execution". Lloyd (1994) shows advantages of the and integrity constraints. declarative programming languages compared to This section presents analysis of the problems of imperative languages which include easier teaching, SQL that make usage of the current ORDBMSs in clearer semantics, improved programmer the repository systems more difficult. It is one result productivity and better support to meta- of this paper. Some problems are caused by the programming and parallelism. shortages of SQL standard and some are caused by Date and Darwen (2000) treat concepts the incomplete implementation of the standard in the "operator" and "function" as synonyms but use the ORDBMSs. Following description of SQL standard term "operator". SQL (starting from SQL:1999) is based on SQL:1999 (Gulutzan & Pelzer, 1999) specifies statements for creating user defined and SQL:2003 (Melton, 2003). We also compare functions but don't specify statement for creating existing standard and systems to proposals of the operators. It is not possible to determine more Third Manifesto. convenient infix, prefix or postfix notation that is Current ORDBMSs make it difficult to use used in order to call this function. On the other hand, declarative constraints in a database in order to SQL dialect of PostgreSQL (PostgreSQL, 2005) and enforce well-formedness rules of the artifacts. Oracle (Oracle, 2005) allow to create user defined Firstly, separation of "domain" and "type" concept in operators as well as user defined functions. SQL causes problems. Let's assume that we want to Date et al. (2003, p. 22) introduces the scalar specify that names of patterns can't be empty strings operator IS_EMPTY that could be built-in. For or strings that contain only spaces or underscores. example, it is useful in order to specify constraints The Third Manifesto treats concepts "domain" and (see section 3). Currently there is not such built-in "data type" as synonyms. It prescribes that relational operator or function in SQL (Melton, 2003) and one system should allow specification of new scalar has to program it using the Count function. types and scalar operators which declared types of Current ORDBMSs have problems with the parameters are scalar types. Type can be specified relvar and database constraints. Relvar constraint is using type constraints. System has to enforce strong associated with exactly one relvar and database typing by checking that operands that participate in constraint is associated with two or more relvars the operation have a right type. (Date, 2003). Relvar constraint can be implemented In SQL a data type is "a set of representable as a CHECK constraint. There exists ORDBMSs values" (Melton, 2003, p. 11) and a domain is "a set like PostgreSQL (PostgreSQL, 2005) and Oracle of permissible values" (Melton, 2003, p. 49). (Oracle, 2005) that don't allow to use subqueries in According to Mattos and DeMichiel (1994) the CHECK constraint although SQL standard specialization by constraints should be prohibited permits that. Relvar and database constraints can be because it requires overloading of operators. implemented using assertions that constrain the set Negative implications of this approach are discussed of valid values for one or more base tables in SQL by Date and Darwen (2000, appendix G). We add (Gulutzan & Pelzer, 1999). Unfortunately Ceri et al. that if user wants to define a set of valid data values (2000) note that many RDBMSs don't support by adding constraints to the predefine type, then one assertion objects although this type of object is has to create a domain object in SQL. It is not specified in SQL standard. Türker and Gertz (2001) possible to create a new domain based on existing note in the review of integrity constraints in the one. In addition, Türker and Gertz (2001) evaluate different DBMS-s: "assertions are in general not seven DBMSs that use SQL language and note that available and are unlikely to be offered in the near only one of them supports domain objects. future". Cochrane et al. (1996) write that RDBMSs If a user wants to define a new type in SQL, don't support assertions because they are "extremely based on one predefined type and achieve strong expensive to support". Maybe it means that assertion

34 USING RELATIONAL DATABASES IN THE ENGINEERING REPOSITORY SYSTEMS

reduces performance of the system? But to the base relvars (Date & Darwen, 2000). performance is an issue of the implementation of the Relational language could have special statement in data model. Alternative method for enforcing order to create relvar that is conceptually associated constraints in the current ORDBMSs is to use with other relvar through generalization relationship imperative programs in the SQL-invoked routines or (Pascal, 2000). This kind of statement causes triggers that where both first time standardized in creation of necessary base- and virtual relvars. SQL:1999. If data in the database is changed using SQL:1992 and earlier standards don't allow to SQL-invoked routines, then they can check the well use joins in the updatable views (Date, 2003). formedness rules. In this case routines must be the Starting from SQL:1999 views defined as one-to- only means for modifying data. Systems like UML- one or one-to-many join of two base tables are repository (Marder et al., 1999), and business-rule updatable (Date, 2003). Unfortunately there are enforcer (Zimbrão et al., 2003) use declarative OCL ORDBMSs that don't support SQL standard in this constraints in order to specify database constraints. regard. For example, in PostgreSQL all views are They can't use assertions in order to implement these not-updatable without further programming constraints and have to generate triggers. Instead of (PostgreSQL, 2005). In Oracle DML statement must one declarative constraint we may need many affect only one underlying table of the updatable triggers that are associated with different tables in join view (Oracle, 2005). But in this case system order to react to all the relevant events. For example, needs to add data to all the base tables that constraint C_3 (see section 3) can be implemented participate in the join. using insert and update triggers that are associated Alternative is to use rules (PostgreSQL, 2005) or with the tables Event and StartState. instead-of triggers (Oracle, 2005) that are associated If triggers have sufficient performance compared with a view in order to achieve its updatability. to assertions, then creation of the declarative These objects require additional programming and constraint at the model level could cause automatic are not-standardized features. creation of the imperative programs (triggers) at the Yet another possibility is to use triggers that are implementation level. associated with the base tables. Let's assume that DBMS should have information about semantics table Tsub is a subtable and Tsup is its supertable. For of relationships between entity types in order to be example, we could create delete and update triggers able enforce properties of the relationships and that are associated with Tsub. Their task is to delete answer to the queries (Zhang et al., 2001). corresponding row from Tsup then row in Tsub is Generalization relationship is an example of a deleted and update primary key of Tsup then generic relationship that is often used in the corresponding foreign key is updated in Tsub, metamodels. For example, StartState is a State (see respectively. This approach also requires insertion of Figure 1). SQL standard defines language constructs new rows into Tsub and Tsub within one transaction for creating subtables and supertables that seem using two different statements. In contrast, the Third suitable in order to implement this kind of Manifesto states that constraints must be satisfied at relationship. Both subtable and supertable must be statement boundaries and relational language must typed tables and structured type on which subtable is have multiple form of the assignment operation in defined must be subtype of the structured type on which several individual assignments to relvars are which supertable is defined (Date, 2003). As stated performed in parallel as a single logical operation earlier, it is not possible to use declarative (Date & Darwen, 2000). constraints in the structured type specification. Ceri et al. (2000) notes that handcrafted triggers Non-standard approach is used in PostgreSQL are error-prone and triggers should be created by the (PostgreSQL, 2005) where subtable and supertable system. Triggers or rules that implement supertable- don't have to be typed tables. PostgreSQL subtable feature must be automatically generated by implementation of subtable-supertable feature is the repository system then new base- or virtual table immature because many declarative constraints of is added to the repository database. It increases the supertable are not inherited by the subtable. complexity of the system. Date and Darwen (2000) show that desired Standardization of some important features that functionality can be achieve in the relational system where strongly suggested by the Third Manifesto has that follows the rules of the Third Manifesto, begun in SQL:1999 or SQL:2003. It takes time without using subtable-supertable feature and before ORDBMSs start to fully implement the therefore raise question about usefulness it. They standard in this regard. propose that each subtable must have corresponding Recursive queries allow to find transitive closure virtual relvar that joins relations that correspond to of graph structure (introduced in SQL:1999). the subtable and supertable. Value of the virtual Information about the associations between artifacts relvar must be updatable and updates must propagate as well as associations between elements of artifacts

35 ICEIS 2006 - DATABASES AND INFORMATION SYSTEMS INTEGRATION

is recorded in a repository. Associations and REFERENCES associated elements form a graph structure. Example of the query that is needed then pattern is modified: Allsop, D. J., Harrison A., & Sheppard, C. (2002). A Find all patterns in the pattern language PL which database architecture for reusable Common KADS directly or indirectly depend on pattern P. agent specification components [Electronic version]. Multisets (introduced in SQL:2003) could be Knowledge-Based Systems, Vol. 15, No. 5, 275-283. used in the views that allow to present artifact to a Bernstein, P. A. (1998). Repositories and Object-Oriented user without fragmentation. SQL specifies UNNEST Databases [Electronic version]. SIGMOD Rec. Vol. 27, operator that allows to present elements of a multiset Issue 1, Mar. 1998), 88-96. as rows of a virtual table. Integrity of these rows can Bernstein, P. A., (2003). Applying Model Management to be checked by the table or database constraints. As Classical Meta Data Problems [Electronic version]. In we said earlier, current DBMSs provide limited Proceedings of the Conference on Innovative Data support for declarative constraints. It hampers usage Systems Research 2003, 209-220. of the columns that have multiset types in the base Ceri, S., Cochrane, R., & Widom, J. (2000). Practical Applications of Triggers and Constraints: Success and tables. Examples of the constraints are restrictions to Lingering Issues [Electronic version]. In Proceedings the cardinality of a multiset or requirement that a of the 26th international Conference on Very Large multiset shouldn't contain repeating elements. Data Bases, 254-262. Table-functions (introduced in SQL:2003) allow Chen, Y.F., Nishimoto, M. Z., & Ramamoorthy, C. V. to implement parameterized relational operators and (1990). The C Information Abstraction System return multiset (bag) of rows. They help to [Electronic version]. IEEE Transactions on Software implement queries that search artifacts or statistical Engineering, Vol.16, No. 3, March 1990, 325-334. information from the repository. Cochrane, R. J., Pirahesh, H., & Mattos, N. M. (1996). Sequence generators generate values for the Integrating triggers and declarative constraints in SQL candidate keys (introduced in SQL:2003). database sytems [Electronic version]. In Proceedings Multiset can contain repeating elements. It is not of the 22th international Conference on Very Large consistent with the Third Manifesto that prohibits Data Bases, 567–578. duplicate tuples in a body of a relation. Developer Codd, E. F. (1970). A relational model of large shared data who wants to use sets of rows instead of multisets banks [Electronic version]. Comm. ACM, Vol. 13, No. must be continuously aware that most of SQL 6, 377-387. statements must explicitly state it. Constantopoulos, P., Jarke, M., Mylopoulos, J., & Vassiliou, Y. (1995). The Software Information Base: A Server for Reuse [Electronic version]. VLDB Journal, 4 (1995), Boxwood Press, Pacific Grove, CA, 5 CONCLUSIONS 1- 43. Date, C. J., & Darwen, H. (2000). Foundation for Future In this paper, we showed that current RDBMSs and Database Systems: The Third Manifesto, Addison- Wesley. Reading, , 2nd edition. ORDBMs have problems that hamper their usage in Date, C. J. (2003). An Introduction to Database Systems, the repository systems. Some necessary features like Pearson/Addison Wesley. Boston, 8th edition. views and constraints are not object-oriented and are Date, C. J. (2005) Database in depth : relational theory required by the earlier SQL standards. They are not for practitioners, O'Reilly. Beijing; Cambridge. implemented correctly or not implemented at all in Date, C. J., & Darwen, H., & Lorentzos, N. A. (2003). the current DBMSs. In addition, SQL is not a correct Temporal Data and the Relational Model, Morgan implementation of the relational model. These Kaufmann. San Diego, CA. shortages cause criticism towards SQL and Dittrich, K., Tombros, D., & Geppert, A. (2000). relational model. They cause addition of new Databases in Software Engineering: a roadmap features to SQL standard and dialects that would be [Electronic version]. In Proceedings of the Conference unnecessary if SQL fully conforms to the relational on the Future of Software Engineering. ICSE '00. model. Some object-oriented features that are added ACM Press, , NY, 293-302. to the ORDBMSs are actually required by the Third Eessaar, E. (2005). Truly Relational Databases as a Manifesto. We explained how the RDBMS that Platform for the Artifact Management. In Proceedings follows these requirements can be used in the of the Fourteenth International Conference on repository system. Information Systems Development: Pre-Conference 14-17 August 2005, Karlstad, Sweden, 207-218. Future work will include the creation of a Emmerich, W., Schäfer, W., & Welsh, J. (1992). Suitable prototype repository system that uses RDBMS that Databases for Process-centred Environments Do not follows the rules of the Third Manifesto. yet Exist [Electronic version]. In Proceedings of the EWSPT '92, 94-98.

36 USING RELATIONAL DATABASES IN THE ENGINEERING REPOSITORY SYSTEMS

Engle, P. (2003). Data Modeling – Left and Right. The Workshop "Rigourous Modeling and Analysis with the Data Administration Newsletter, Issue 24, April 2003. UML: Challenges and Limitations", Denver, Co. Retrieved October 07, 2005, from Mattos, N., & DeMichiel, L. G., (1994). Recent design http://www.tdan.com/i024hy03.htm#_edn15 trade-offs in SQL3 [Electronic version]. SIGMOD Gray, P. (1997). CASE tool construction for a parallel Rec. 23, 4 (Dec. 1994), 84-90. software development methodology [Electronic Melton, J., ISO/IEC 9075-2:2003 (E) Information version]. Information and Software Technology, Vol. technology — Database languages — SQL — Part 2: 39, Issue 4, 235-252. Foundation (SQL/Foundation). August, 2003. Greenfield, J., & Short, K. (2004). Software Factories: Retrieved December 26, 2004, from Assembling Applications with Patterns, Models, http://www.wiscorp.com/SQLStandards.html Frameworks, and Tools, John Wiley & Sons. Miguel, L., Kim, M. H., & Ramaroothy, C. V. (1990). A Indianapolis. Knowledge and Data Base for Software Systems Gulutzan, P., & Pelzer, T. (1999). SQL-99 Complete, [Electronic version]. In Proceedings of the 2nd Really, Miller Freeman. Lawrence. International IEEE Conference on Tools for Artificial Hardwick, M. (1984). Extending the relational database Intelligence, 417-423. data model for design applications [Electronic Oracle® Database SQL Reference 10g Release 1 (10.1) version]. In Proceedings of the 21st Conference on Part Number B10759-01. Oracle Corp., Retrieved Design Automation. IEEE Press, Piscataway, NJ, 110- October 4, 2005, from http://download- 116. west.oracle.com/docs/cd/B14117_01/server.101/ Hardwick, M., & Spooner, D. L. (1989). The ROSE data b10759/toc.htm manager: Using object technology to support Pascal, F. (2000). Practical issues in Database interactive engineering applications [Electronic Management. A Reference for the Thinking version]. IEEE Transactions on Knowledge and Data Practioner, Addison-Wesley. Boston, Mass, 1st Engineering. Vol. 1, no. 2, 285-290. edition. Haynie, M. N. (1981). The relational/network Hybrid data PostgreSQL 8.0.3 Documentation. Retrieved October 4, model for Design Automation Databases [Electronic 2005, from http://www.postgresql.org/docs/8.0/ version]. In Proceedings of the 18th Conference on interactive/index.html Design Automation. IEEE Press, Piscataway, NJ, 646- Serrano, J. A. (1999). Formal Specifications of Software 652. Design Methods [Electronic version]. 3rd Irish Katz, R.H. (1990). Toward a Unified Framework for Workshop on Formal Methods. Version Modeling in Engineering Databases Taylor, R.N., Belz, F.C., Clarke, L.A., Osterweil, L., [Electronic version]. ACM Computing Surveys 22:4, Selby, R. W., Wileden, J. C., Wolf, A. L., & Young, 1990, 375– 408. M. (1988). Foundations for the Arcadia environment Lange., C., Sneed, H. M., & Winter, A. (2001). architecture [Electronic version]. In Proceedings of the Comparing Graph-based Program Comprehension Third ACM SIGSOFT/SIGPLAN Software Tools to Relational Database-based Tools [Electronic Engineering Symposium on Practical Software version]. In Proceedings of the 9th International Development Environments. SDE 3. ACM Press, New Workshop on Program Comprehension. IEEE York, NY, 1-13. Computer Society. Los Alamitos. 209--218. Türker, C., & Gertz, M. (2001) Semantic integrity support Linton, M. (1984). Implementing relational views of in SQL:1999 and commercial (object-) relational programs [Electronic version]. In Proceedings of ACM database management systems [Electronic version]. SIGSOFT/SIGPLAN Software Engineering Symposium The VLDB Journal, Vol. 10, No. 4 (Dec. 2001), 241– on Practical Software Development Environments, 269. 132–140. Voorish, D. (2005). An Implementation of Date and Liu, C., Li, H., & Orlowska, M. E. (1996). Object- Darwen's "TutorialD". Retrieved March 26, 2005 from Oriented Design of Repository for Enterprise http://dbappbuilder.sourceforge.net/Rel.html Workflows. Retrieved October 5, 2005 from Zhang, N., Ritter, N., & Härder, T. (2001). Enriched University of Queensland, DSTC Web site Relationship Processing in Object-Relational Database http://www.dstc.uq.edu.au/Research Management Systems [Electronic version]. In /Distributed_Databases/papers/Liu-OOD-1996.ps Proceedings of the 3rd International Symposium on Lloyd, J. (1994) Practical Advantages of Declarative Cooperative Database Systems for Advanced Programming [Electronic version]. Invited Lecture, Applications, 53-62. GULP-PRODE '94. Zimbrão, G., Miranda, R., Souza, J.M., Estolano, M.H., & Mahnke, W., & Ritter, N. (2002). The ORDB-based SFB- Neto, F.P. (2003). Enforcement of Business Rules in 501-Reuse-Repository [Electronic version]. In Relational Databases Using Constraints [Electronic Proceedings of the 8th International Conference on version]. SBBD 2003, 129-141. Extending Database Technology, 745-748. Marder, U., Ritter, N., & Steiert, H. P. (1999). A DBMS- based Approach for Automatic Checking of OCL Constraints [Electronic version]. In OOPSLA’99-

37