Ontology of Domains . Ontological Description Software Engineering Domain — The Standard Life Cycle

Basic concepts and notions of ontological description of domains are implemented in the conceptual model being understandable to ordinary users of this domain. Ontological approach is used for the presentation of software engineering domain—Life Cycle (LC) ISO/IEC 12207 with the aim to automate LC processes and to generate different variants of LC for development systems. And the second aim of Conceptual Model must teach the student to standard process LC, which includes general, organizational and supported processes. These processes are presented in graphical terms of DSL, which are transformed to XML for processing systems in the modern environment (IBM, VS.Net, JAVA and so on). The testing process is given in ontology terms of Protégé systems, and semantics of tasks of this process is implemented in Ruby. Domain ontology LC is displayed by the several students of MIPT Russia and Kiev National University as laboratory practicum course “Software Engineering”.


Introduction
At the given work, new conception of automation in general processes of LC and generation of variants specialized are offered for their use in the modern programs, information systems and technologies and implementations in the distributed environments of Grid and Clouds processing, highly productive cluster systems and in web-semantic to the Internet.This conception is formulated by the author for the students of MIPT and Kiev National University (KNU) at the basic course lections of "Software Engineering" (2010-2013).Standard LC ISO/IEC 12207-2007 is a general mechanism of construction of various program systems (PS) and program products (PP).The 17 processes enter into his composition, 74 under processes (actions) and 232 technological tasks.The automation of LC is a very thorny and heavy problem.Variants of the standard LC will be implemented by many companies in case of development of the different application systems.A submachine gun is absent.Offered by our conception of LC automation through the formal conceptual model LC is an attempt in development of the Case commons instruments for support LC to the future industry PP [1]- [5].
In addition, for implementation of this conception we use new languages of description in conceptual models of knowledge: OWL (Web Ontology Language), ODSD (Ontology-Driven Software Development), XML (Extensible Markup Language), MBPN (Modeling Biasness Process Notation) and others like that.There are systems of design of domains-ODM (Organizational Domain Modeling), FODA (Feature-Oriented Domain Analysis), DSSA (Domain-Specific Software Architectures), DSL (Domain Specific Language) Tools VS.Net, Eclipse-DSL, Protégé and others like that.That is terms are used for the formal specification of the LC processes and design from them of different PP.The ontological approach ODSD allows getting descriptions of classes from notions to the domain.Unlike previous, models to the domain can be used not only for the generation of code, but also can be "executable" artifacts.
An important aspect of design in different domains is the notion base and system of notions, by which all problems are formulated to the domain.The notion base is given by terminology, substantial relations between notions and their interpretations.
Among the relations the main are [1]: -Concretization, as an union of notions in the new notion, the substantial signs of which can be a sum of signs of notions or substantially new; -Association, that approves a presence of communication between notions without clarification of dependence of them from maintenance and volumes; -Aggregation of terminology, notions, characters for their relations and paradigms of their interpretations in scopes to the domain is accepted to name the ontology of domain knowledge.
In the same general case, ontology is an agreement about the general use of notions, which includes facilities of subject knowledge and agreement about methods of reasoning representation.
The ontology appears by the semantic networks, knots of which are been by domain notion, and by arcs-copulas or relation, associations between them.On the given time the ontological approaches got the wide distribution in the decision of problems of knowledge, semantic integration of informative resources, informative searches and others like that representation.They allow getting descriptions of classes of objects domain, which are specific at notion and knowledge about them.Some ontology domains are given by knowledge, dictionaries of notions, concepts and relations between them.So, the XML become a standard language for marking of various data domains for their saving and exchange between different domains.It is a mean of automatic transformation of descriptions of model domains in the modern ontological languages to the charts, which are suitable for work in the different applied applications.
Offered conception ontology was considered in the different models of LC (spiral, interaction, incremental and so on) on student lections and on the scientific seminars of the Theory Programming and Information Systems departments of the Kiev National University (KNU), and also case of the discipline teaching the "Software engineering" [3].Within the framework of this discipline the students learn modern methods and design facilities domains and PS constructions, and also learning standards of LC ISO/IEC 12207-2007 and General Data Types ISO/IEC 11404 GDT-2006.At the practical classes evaluation of facilities is conducted for general description and implementation of some experimental ontology on DSL Tools VS.Net and Protégé.For example of description of some fragments of science domains by the ontological facilities they built models PS with purpose of their use in case of PP construction [4] [5].Some students of department of the ІС and ТР faculty of cybernetics defended diploma works on given topics with the use of ontological facilities and notions (classes, axioms, slots, facets and others like that) for description of calculable geometry, GDT and LC on the ITC of developing object and component and configuration them [6].(http://sestudy.edu-ua.net)Approach to LC automation and its evaluation by students in curriculum of the model LC and standard ISO/IEC 12207-2007, namely to study LC structure, processes and actions, and also use of ontology facilities for their description and implementation in the open ontological instruments are offered-DSL Tools VS.Net and Protégé.Students received ontological knowledge may apply them in the implementation of other application areas.

Ontology as a Basiс Formal Description of Subject Areas
Ontology is a conceptual tool to describe base set of concepts and relations for some domains (or subject area-SA).The concept of the SA is classified and dictionary and thesaurus database schema knowledge is created.Domain Ontology-is a system of concepts or conceptual model which is supplied with a set of entities and relationships between them.Now, many anthologies for various scientific and applied areas are created.For example: ontology Census general knowledge of English natural concepts (70,000 more terms and their definitions); ontology concepts of e-commerce; global ontology products and services (UN); commercial ontology SCTG, Rosetta Net-traffic products from 400 companies.Medical ontology's: Galen-to determine the clinical condition; UMLS-US National Library of Medicine; ON9-famous for certification of health systems; chemical, biological ontology; all-Web portal mathematical resources; universal mathematical system Math Lab, Ret, etc.
A basic instrument of implementation of the subject description is the DSL Tools VS.Net and Eclipse-DSL [7]- [9], the result of the tools is described in the XML (Extensible Markup Language) language, which actually became a standard of data marking for their saving and exchange of information between different applications.XML serves to transformation of the domain ontology model in XML-charts, suitable for work of applied applications.
Using the properties ontology for description of processes LC was given the subject-oriented DSL (Domain Specific Language), and also language the BPMN description of semantics of these processes, the author offers approach of implementation of suggested conception.In the example implementation of the given conception we select the process of testing by the ontological facilities and semantics description by language of programming.At developments to the domain LC used ontological instrumental facilities, DSL Tools VS.Net, DSL Eclipse and Protégé.Set of different methodologies, facilities of language for description of domains are shown in Figure 1.
Ontology of LC is absent.We consider two means of implementing domain LC-language OWL and tools DSL for the overall presentation of the model standard ISO/IEC 12207 and basic concepts of the testing process LC in the standard system Protégé.

Ontology Means
The form of representation of ontology is a conceptual model (CM) on the reflecting system concepts with common properties (attributes), attitude and behavior rules.CM serves as a communication (between people, between computer systems), storage of information in a computer environment and the recycling of finished objects stored in libraries and repositories.To describe the use of ontology language OWL (Web Ontology Language) with a range of languages and markup languages RDF is to access and exchange ontological knowledge in the Internet.Description in ontology language OWL is a sequence of axioms and facts, information about classes, properties and resources for ID documents and Web imported URI in the form: <DatatypeID>:: = <URI reference> (see Figure 2).Attributes of concepts in a domain called Protégé slots.Specific classes contain specific slots, which can be assigned a value (a copy attributes).To determine the types and limits on the value (like the rules of XML-Schema) used facets.
Protégé supports multiple inheritances but a class can have more than one superclass.

Life Cycles Ontology of Software Systems
LC received evolution from the beginning of programming, from simplified life cycle for each application models to spiral, iterative and so on.They formed a separation in group development of various types PS.As the result the standard ISO/IEC 1996 (first edition) was introduced, and in 2007 the second edition of its life cycle appeared, which reflects the overall structure of processes that may be involved in the development of the different PS.These standards should be studied by students who will participate in the joint development of various applications and commercial systems [3].

Presentation of Formal Specification of the LC Standard ISO/IEC-12207
The LC processes are given in standard by three categories (see Table 1).
In the each process it defines types of activity (actions-activity), tasks, aggregate of results (going out) of activity and decision of tasks design, testing, assembly and others, and also tracing some specific requirements.A list of works for the basic, organizational and support processes is led in standard, but method of their implementation and form of presentation not available.Next, we give a general description of the basic, organizational and support processes.
To the basic processes belong: -Acquisition process determines actions of buyer at automated system or service.Actions are initiation and preparation of query, legalization of contract; monitoring and acceptance; -Delivery process determines actions from the transmission of product or service to the buyer.It has preparation of suggestions, legalization of contract, planning, implementation and control of product, and also its estimation and delivery; -Development process determines the processes and actions (development of requirements, planning, encoding, integration, testing, the system testing, and installation) for development of PP; -Exploitation process (introduction, support of user, testing functions, exploitation of the system) determines actions of operator from maintenance of processes the system during its exploitation by users; -Maintenance process (management by modifications, support of current status and functional fitness, PP installation in the operating environment, accompaniment and modification, development of system modification The LC standard contains description of the ancillary proceeding, that regulate the additional actions from verification of product, management by project and his quality. The support process contains: documenting, management by versions, verification and validation, revisions, audits, evaluation of product and etch.To the organizational processes belong: management by project (development management) and perfection of processes.
The management process includes the processes of management by configuration, project, quality, risks, changes and others like that.The perfection process includes introduction, project estimation and his perfection.
Quantity of processes, actions and LC standard tasks are shown in Table 2.
Depending on the purpose of concrete project the main developer and project manager choose the processes, actions and tasks, line up the LC chart for application in the concrete project.Description of semantics of processes and methods of their implementation (objective, component, service and so on) written in kernel of SWEBOK knowledge and [3].(www.swebok.com)Theoretical, applied methods, quality standards, general and fundamental types of data (ISO/IEC 15404, ISO/IEC 9126, ISO/IEC 11404 and others), and also recommendations and methods of this standards are used at every technology of the PS programming with the use of the LC standard.
Task of automation of standard LC arose up in the students groups MIPT and KNU of course Software Engineering.Taking into account this task, the author discussed with the students the features of standards and machineries of their presentation in the modern operating environments.On the practical lessons the students learned LC processes and gave their description for DSL Tools VS.Net.The students executed LC ontology description in graphic (Figure 3) and the XML kinds within this framework.Then they used DSL Eclipse and Protégé.
XML description of general, support and organization processes are given on web-site ITC.

Formal Presentation of Conceptual Model Domain LC
Starting from Table 2, we give description to the conceptual model (CM) domain LC standard, described highly from terms: Р-processes, A-actions and T-tasks.The LC model has such kind: , , 1 27 -tasks of the organizational processes LC.The goal processes, operations given is highly contained in essence, and description of maintenance of tasks on it is led them in standard.The tasks not formal and will be in the future at the first given description of their setting, then selection languages for the formal specification for realization to their semantics.
For presentation the structure of the CM LC is used graphic language DSL.This language has an expressive feature, directed on the reflection of the process specific LC, while languages of the general setting (Java, C++, C#, Ruby and others) oriented on description of actions of any programs of the data processing.The DSL contains general abstractions for the reflection of classes of objects domain type process, action, and also relations between them [2] [9].On its maintenance this language near to the HTML, XML, WSDL and others like that.
Model LC it is described by one DSL, can be transformed in model by other DSL.It allows freely to integrate between itself different parts of system processes, written in the different DSL.That is domain LC can be described at one level of abstraction, and then regenerate with the additional going into detail on the more low level of abstraction, that allows complementing a model domain by the repeated components and objects.Main to the CM domain LC there is a model of general descriptions of processes as objects domain.
Processes of transformation of the LC models in the DSL at the different levels are given in Figure 4.
Transformation of description of the models LC in this language DSL is conducted by facilities of the model-guided development MDD (Model Driven Development).According to this model system architecture are designed at two levels-platform of level independent on the PIM (Platform Independent Model) model and platform of dependent level on the PSM model (Platform Specific Models).
The LC domain CM model can be automated with the use of specific languages, be tuned especially for processes and actions, which are in class language ontology.The models can contain information about the union of processes and actions, including artifacts, which participate in it, and also their dependence between itself.They can also contain information about the configuration structure of the programs of treatment of processes, vehicle and program resources, necessary in case of implementation of the programs of automation of processes and their development.

Ontology of Domain Characteristic Model
DSL development pre-condition is made by the detailed analysis and structured to the domain.Among the existent methodologies of domain analysis most knowing such: ODM (Organization Domain Modeling), FODA (Feature-Oriented Domain Analysis), characteristic analysis to the domain and DSSA (Domain-Specific Software Architectures) [9]- [11].
In case of analysis to the domain is created a model of characteristics.This model secures generalization and disagreements of the PS domain processes by the indication of general characteristic for all processes and excellent characteristic each of the LC processes.
A model of characteristic is given by diagrams of characteristic with description of relations between them.Conception of diagrams is inherited from the FODA method, which gives possibility briefly to describe all possible configurations of processes within the limits of different categories of the LC processes, which are considered as instances, selecting general and alternative characteristics, which can be excellent for each configuration of the LC processes.
For the given time notation of characteristic diagram is executed by the DSL language under the FDL (Feature Definition Language) name, as languages of description of characteristic of notions to the domain and formal definite operations for treatment of FDL expressions.
The diagrams of characteristic is given system characteristic the different domains.In case of creation of automated instruments, intended for construction of diagrams of characteristic and their treatment, text presentation is necessary.It inflicts all information, which exists in the graphic diagram.The determination consists of great number of characteristic (feature definitions), names of characteristic and expression (feature expression), that includes: -Atomic characteristics; -Composition characteristics: names of which determination elsewhere; -Optional characteristics (optional) of expression, is it completed by the "character"?-Obligatory characteristics (mandatory) of expressions, what reserved in construction of all (); -Alternative characteristic (exclusive-choice): у expression of one-of (); -Exceptional set of descriptions ("or-features") from the list of characteristic expressions of more-of () and their combination; -Value of characteristic by default (default)-atomic to description; -Other (indefinite) characteristic in the form of ".".The specification of FDL characteristic gives formals for determination of syntax, which it is possible to compare to the BNF (P.Naur) form for conducting a lexical and semantic analysis of described characteristic of model domain, which is used for creation of the different variants PS.

About Machineries of Dependence of Characteristic
Offered approach is contained on principle of inherences characteristic with such terms: -Every characteristic answers class; -Associations (copulas) between classes are noticed to so call <stereotype>, which marks a type of characteristic dependence: -Obligatory (mandatory) dependence between aggregations in classes; -Optional (optional) dependence between association and range of cardinal numbers (by power of great number or quantity of elements of great number) from 0 до1; -Obligatory list of one-of and more-of in specified class each of alternatives.The result of translation of description of characteristic in FDL can be given by the XMI language, as a format of exchange by information of Meta data (the XML Meta data Information Exchange format).The XML-documents can be imported in the UML design instruments, such as Rational and UML, and also for the generation of the Java classes.After creation of the DSL language to the domain it is necessary to use the FDL language.Approach to description of model of domain it is used for developed the LC processes of variants PS by configuring different processes for automation the PS.On the given model LC are solved the task of providing a generation of special variants from necessary processes for realization of the set PS. Every variant will be addition of semantics of some tasks for included processes.For the receipt of the working variant LC PS a use of Java facilities is planned [6] [7].

Standard Life Cycle Ontology in DSL Eclipse
For description of ontology of domains there is other approach of Eclipse DSL [3] [6].This development environment is used for of the graphic models LC because it has effective instruments for description the object of this domain.On beginning it is necessary to develop a visual model of domain LC.Than it make description of classes of sections processes LC domain and relations between them (Figure 5 and Figure 6).The types of relations allow realizing basic logic of project.Present methods and fields necessary are described in every for functioning a project.The support processes contain all processes that are executed after the domain construction and support his capacity and actuality.Their ontological structure answers a structure of basic processes and is pointed it will not be.
A next step is been by the generation of text presentation of present graphic models, and then generation in XML.A process of the LC testing is annotated by facilities of knowledge domain notion and their relation in Protégé representation.
Text description of the LC processes by XML Given graphic presentation of the CL processes was used for the receipt of text in the XML.Errors in the graphic description, which were found by designer and correction by, correspond to the editor.After it a result of every process is given in XML.An example is below led to the description fragment to the fragment of the main processes LC in the XML.
For receipt descriptions of the LC processes in XML is given their semantic description.Annotating is executed on example of the LC testing processes by Protégé facilities [10] [11].

Facilities of the Protégé for Description Ontology
To the basic facilities of the Protégé for description of ontology belong: -classes (or notion); -relation (or properties, attributes); -functions; -axioms, -copies (or individuals).
Classes-it is abstract groups, collections or sets of objects.They can include the copies, other classes, or halving both that and second.The relations give a type to co-operation between notions domain.Functions-it is the special case of relations, in which an n-element of relation is simply determined by the n-1 previous elements.Axioms are used for determination of complex limitations on the value of attributes, arguments of relations, for verification of information correctness, or for inference of new information.
By these facilities Protégé forming an ontological model to the LC domain is conducted.The classes answer the types of artifacts, which, in same queue, answer the roles of program components in system and in the functional properties product/Classes are reflected in Protégé as an inheritance (inheritance hierarchy) hierarchy, which is disposed in to the window navigator of classes (Class Browser).By root of tree of classes in Protégé, by default, appointed class THING (thing, something).All created classes are to be inherited immediately or mediocre.
The protégé will be use for presentation CL testing processes.It are a new type of description LC and testing processes, which are very necessary for e-learning students for practice preparing some tests for testing the programs [3] [5] [11].

Description of Ontology of Process Testing LC
The conceptual model of process testing of the PS has a kind [4]

Life Cycle Ontology on Site
Complex technology that includes a spectrum of technologies, facilities, instruments of planning and reuses specification is realized in ITK of web-site [6].(http://sestudy.edu-ua.net)This site is based on standard systems (Eclipse, Protégé, CORBA, MS.Net and others), systems of support of co-operation of the programs, systems and environments between itself VS.Net "Eclipse" Java [6] [11]- [15].
The main menu of web-site has a few sections: TECHNOLOGIES, INTERPRABILITY, INSTRUMENTS, TEACHING and others.Realization of specified operations from class of operations of components development, assembling, change and their configuring is led in the "Technology" section.On this section it is given such position: -Generation of DSL description to the LC domain; -Ontology of presentation of the standard LC domain and domain of calculable geometry; -Вeb-services for interconnection different components in environment MS.Net, IBM, Eclipse; -Transformation of general types of GDT data to fundamental FDT and others.Web-site is oriented on realization by LC ontological facilities with the use of the Protege system.After its help by the student Т Litho of departments the "Informative systems" KNU are developed ontology of calculable geometry, which behaves toward the normative course.Web-site is developed by three languages (Ukrainian, Russian, and Eng.).As Google statistics show, to web-site apply from the different countries (more 35,000 users-teachers and students).This site contains a textbook the "Software Engineering" and is used by author for the E-teaching to all aspects of this discipline.By me lecture at the ICTERI-2012 conference were done, in which mapping new approaches to teaching students of SE.

Conclusions
The essence of this work focuses on the automation LC by ontological description conceptual model.It is new approaches to the description of domain SE Standard ISO/IEC 12207-2007.Perform three basic tasks: to develop a conceptual model LC and describe this model in terms of language (DSL, OWL); to generate variants LC for development different systems; to consider the training of students scheme using LC by described ontology.
The formal terms for describing the conceptual model LC of the domain ontology are given.The table description of general, organizational processes and support processes of the standard LC is used for presentation processes in the language of DSL.The characteristic domain model and process model LC in DSL is done.A scheme describing LC in DSL is transformed to a lower level XML for processing systems in the environment (IBM, VS.Net, JAVA and so on).

Figure 1 .
Figure 1.List of methodologies, facilities and the ontology language.

Figure 2 .
Figure 2. Languages definition of ontology.Axiom class is a set of more general classes and restrictions on local properties of objects.The class or a subset of the intersection of more general classes of constraints may be equivalent.Axiom class in OWL is a set of specifications that can be in the form of generalized classes, restrictions, sets of resources, Boolean combinations of descriptions and more.As ontology editor was used Protégé 3.4.It seems ontology classes, slots, facets and axioms.(http://protege.stanford.edu/)Classes describe concepts of, and slots-properties (attributes) classes.Facets describe the properties of slots (specific types and ranges of possible values).The axioms define additional constraints (rules).Classes can be abstract or concrete.Abstract classes are classes and concrete containers may contain abstract attributes (which do not contain specific values).Attributes of concepts in a domain called Protégé slots.Specific classes contain specific slots, which can be assigned a value (a copy attributes).To determine the types and limits on the value (like the rules of XML-Schema) used facets.Protégé supports multiple inheritances but a class can have more than one superclass.

Figure 3 .
Figure 3. Graphical representation of the basic life cycle processes.

4
-organizational processes of the LC second category; the basic processes LC, 1 , 1 25 к l l А = − -Action on the LC support processes,

Figure 4 .
Figure 4. Transformation of description of models LC in DSL.

Figure 5 .
Figure 5. Structure organization process LC in DSL.

Figure 6 .
Figure 6.Ontology of the basic processes LC in DSL.

Figure 9 .
Figure 9. Testing program with the marked errors in it.

Table 1 .
The process is of standard life cycle.
plans, PP migrations on other and others like that), which determines actions of organization, that development PP.

Table 2 .
Processes, under processes tasks and LC actions.