SlideShare a Scribd company logo
3
Most read
16
Most read
22
Most read
Software Engineering
Ontology
FOR MULTI-SITE SOFTWARE DEVELOPMENT
By:
Nidhi Baranwal
MCA 3rd
sem
University of Allahabad
What is Ontology?
The term ‘ontology’ is derived from its usage in philosophy, where it means the study of being,
becoming, existence or reality as well as the basic categories of being and their relations.
Ontology deals with questions concerning what entities exist or may be said to exist, and how
such entities may be grouped, related within a hierarchy, and subdivided according to
similarities and differences.
Although ontology as a philosophical enterprise is highly theoretical, it also has practical
application in information science and technology, such as ontology engineering.
An ontology defines
a common vocabulary
a shared understanding
Continued...
...What is Ontology?
Thomas Gruber defines ontology as “formal explicit specification of conceptualization”.
Explicit specification of conceptualization means that an ontology is a description (like a formal
specification of a program) of the concepts and relationships that can exist for an agent or
a community of agents.
Formal means ‘meaning of ontology is unambiguous, avoids misunderstanding.
Specification consisting of
Classes
Relationship between classes
individuals
Specification is ‘detailed description of the design and materials used to make something’.
Continued…
...What is Ontology?
A conceptualization is an abstract simplified view of some selected part of the world,
containing the objects, concepts, and other entities that are presumed of interest for some
particular purpose and the relationships between them.
Example : By default, all computer programmes have a fundamental ontology consisting of a
standard library in a programming language or files in accessible file systems.
Types of Ontology
Philosophers can classify ontologies in various ways using criteria such as the degree of
abstraction and field of application:
Upper ontology: concepts supporting development of an ontology, meta­­ontology
Domain ontology: concepts relevant to a particular topic or area of interest, for example,
information technology or computer languages, or particular branches of science
Interface ontology: concepts relevant to the juncture of two disciplines
Process ontology: inputs, outputs, constraints, sequencing information, involved in business or
engineering processes.
Multi-Site Software Development
oSoftware development has increasingly focused on the Internet which enables a multi­site
environment that allows multiple teams residing across cities, regions, or countries to work together
in a networked distributed fashion to develop the software.
oMajor corporations have moved their software development to countries where employees are on
comparatively lower wages.
oTeam members who carry out the tasks and activities, team leaders who control the tasks and
activities, and managers who manage the project and leaders, may or may not be located at the
same site in a multi­site environment.
Continued...
…Multi-Site Software Development
oMoreover, It is quite often the case that these people have never met face-to-face, have
different cultural and educational backgrounds, interpret methods in different ways, etc.
oSoftware engineering training and practice are quite different between cities and countries. It
can be difficult to communicate between teams and among team members.
oHence, the globalization of software development means increasing problems.
oIt is this imperative of financial gain that drives people and businesses to multi-site
development and the Internet which facilitates it.
Why Ontology in Software
Engineering?
The problem: It can be difficult to communicate between teams and among team members, if
strict software engineering principles and discipline are not understood and followed. The
inconsistency in presentation, documentation, design and diagrams could prevent access by
other teams or members.
Different teams could be referring to different texts on software engineering. Teams or team
members use a particular text as their own individual guide, and when they communicate, their
own knowledge base and terminology is different from those of others.
Hence, Communication becomes the real challenge and it effects software development
process.
The Solution: An Ontology for Software Engineering as Ontology is an important part of
developing a shared understanding across a project.
Continued...
People cannot share knowledge if they do not speak a common language
…Ontology in Software Engineering
In the area of computer science, Ontology represents the effort to formulate an exhaustive and
rigorous conceptual schema within a given domain, typically a hierarchical data structure containing
all the relevant elements and their relationships and rules (regulations) within the domain
The main purpose of the software engineering ontology is to enable communication between
computer systems or software engineers in order to understand common software engineering
knowledge and to perform certain types of computations.
The specific software engineering concepts used for the particular software development project
representing software engineering sub-domain knowledge are captured in ontology.
Thus, the software engineering ontology can be defined by using a set of software engineering
representational terms.
The software engineering ontology is organised by concepts, not words. This is in order to recognise
and avoid potential logical ambiguities.
Schematic overview of software
engineering knowledge
representation
Ontology Language Examples
There are several ontology languages available such as
Resource Description Framework (RDF),
Ontology Interchange Language(OIL)
 Web Ontology Language (OWL) etc.
The most recent development in standard ontology languages is OWL from the World Wide
Web Consortium (W3C).
 OWL has the most complete set of expressions for capturing the different concepts and
relationships that occur within ontologies; therefore , the software engineering knowledge is
captured in OWL
Software Engineering Ontology
Modelling
Modelling include notations like:
1. Class Notations:
◦ Represented as a rectangle with two compartments. The top
compartment is for labelling the class and the second for presenting
properties. It is mandatory to specify the word ‘<<Concept>>’ above
the class label in the top compartment.
◦ The generalisation symbol appears as a line with one end empty and
the other with a hollow triangle arrowhead.
◦ The empty end is always connected to the class being subsumed,
whereas the hollow arrowhead connects to the class that subsumes
Presentation of instances of
classes and properties
Software Engineering Ontology
Modelling
2. Property Relation, Characteristic and Restriction Notations:
◦ Include data type property, object property, its characteristics, its
restrictions, and association class attached property
◦ data type property of the software engineering ontology class can be
expressed in the bottom compartment of class notation
◦ Top compartment is called the ‘domain’ and type of data type
property is considered as a range
◦ characteristics of data type property can be either functional or non-
functional represented by the words ‘Single’ or ‘Multiple’
respectively.
◦ An enumeration in software engineering ontology is represented in
curly brackets
Cardinality restriction
Class Class presentation and its
properties
Software Engineering Ontology
Modelling
3. Instance Notation:
◦ An instance notation is represented as an ellipse with a dotted line
attached to its class or property.
◦ If it is an instance of property, then the ellipse contains the property
name followed by a colon and then the instance name.
◦ Unlike an instance of class, in the ellipse there is only the instance
name
Presentation of instances of
classes and properties
Software Engineering Ontology
Design and Implementation
A process of design in the software engineering ontology refers to the process to design concepts,
relations, and constraints.Some common, widely-used concepts for designing are :
1. Ontology Model for an Entity-Relationship Diagram
1.An entity-relationship diagram represents conceptual models of data stored in information systems
2.There are three main components in E-R diagram : entities, attributes and relationships
3.Entity attributes can be classified as being simple, composite or derived
4.There are three main degrees of entity relationships : unary, binary and complex.
5.The complex entity relationship can be further divided into quaternary and ternary.
6.In the ontology model, cardinality restriction constrains the number of entities that participate in a
relationship .It is specified as a string that can be a string of 1..1 (one and only one),0..* (zero or
more), 1..* (one or more), 0..1 (zero or one)
Contd..
Software Engineering Ontology
Design and Implementation
2.Ontology Model for a UML Activity Diagram
1.An activity diagram shows the control flow from activity to activity
2.Mainly, activity diagrams contain activities, transitions, swimlane, and objects.
3.A swimlane is a way to group activities performed by the same actor on an activity diagram or to
group activities in a single thread. Every activity belongs to exactly one swimlane
4. Objects may be involved in the flow of control associated with an activity diagram. This refers to
relations set_Object_Flow and get_Object_Flow.
5.Transitions of activities are classified into four main transitions: A.normal B.special C.branch
D.concurrent
6.Special transition is further divided into an initial and a stop transition
7.Concurrent transition is further divided into a fork and a join transition.
Contd..
Software Engineering Ontology
Design and Implementation
3. Ontology model for UML class diagram
1.A class diagram is a diagram that represents a set of classes and their interrelationships
2.There can be relationships among classes like generalisations, aggregations, and associations
3.The generalisation symbol appears as a line with one end empty and the other with a hollow triangle
arrowhead.
4.In the bottom compartment, notation are in the order of data type property name, its
characteristic ,its type and its restriction .The characteristics of data type property can be either
functional or nonfunctional represented by the words ‘Single’ or ‘Multiple’ respectively
5.An enumeration in software engineering ontology is represented in curly brackets
6. An object property can be expressed as an arrow with an open arrowhead and with a text label of
the object property’s name. Symbols , , and [] represent restrictions allValueFrom,∀ ∃
someValueFrom, and hasValue respectively
Contd..
Software Engineering Ontology
Deployment
Software engineering ontology allows knowledge sharing and facilitates the communication
framework.
1.Knowledge Sharing: Knowledge sharing through the software engineering ontology eliminates
misunderstandings, miscommunications and misinterpretations.
Software engineering ontology presents explicit assumptions concerning the objects referring
to the domain knowledge of software development.
2. Communications: Software engineering knowledge formed into software engineering
ontology facilitates communication framework among users and provides consistent
understanding of the domain knowledge
Applications of Ontology
1.In multi-site software development
2. To provide services for answering queries(Knowledge based Systems)
3.Ontologies can be used beneficially in enterprise
4.The key role of ontologies with respect to database systems is to specify a data modelling
representation at a level of abstraction
5.It publish reusable knowledge bases, and offer services to facilitate efficiency across multiple,
heterogeneous systems and databases.
References
Development of a Software Engineering Ontology for Multi-site Software Development :
Pornpit Wongthongtham, Elizabeth Chang, Tharam Dillon and Ian Sommerville © IEEE
Ontology by Tom Gruber in the Encyclopedia of Database Systems, Ling Liu and M. Tamer Özsu
(Eds.), Springer-Verlag, 2009
https://en.wikipedia.org/wiki/Ontology
http://www.obitko.com/tutorials/ontologies-semantic-web/specification-of-
conceptualization.html
C. Roussey et al. An Introduction to Ontologies and Ontology Engineering http://
www.springer.com/978-0-85729-723-5
Software Engineering Approaches to Ontology Development -- Francisco Ruiz , José R. Hilera
Ontologies in the Software Engineering process - Wolfgang Hesse
Thank you.

More Related Content

PPTX
Automatic indexing
PPTX
Model of information retrieval (3)
PPTX
Natural Language Processing
PPTX
An Introduction to Information Retrieval and Applications
PPT
Introduction to Natural Language Processing
PPTX
Reference Ontology Presentation
PPTX
natural language processing help at myassignmenthelp.net
PPTX
Probabilistic information retrieval models & systems
Automatic indexing
Model of information retrieval (3)
Natural Language Processing
An Introduction to Information Retrieval and Applications
Introduction to Natural Language Processing
Reference Ontology Presentation
natural language processing help at myassignmenthelp.net
Probabilistic information retrieval models & systems

What's hot (20)

PPT
HCI 3e - Ch 14: Communication and collaboration models
PPTX
Data Mining: What is Data Mining?
PPT
AI Lecture 7 (uncertainty)
PPTX
Vector space model of information retrieval
PDF
6 shallow parsing introduction
PPTX
Components of a search engine
PPTX
Unit-1 OOAD Introduction.pptx
PPTX
PPTX
Natural Language Processing in AI
PPTX
What is Big Data?
PDF
Data Analytics and Artificial Intelligence in the era of Digital Transformation
PPTX
Artificial intelligence
PPT
Information Retrieval Models
PPTX
Understanding-Artificial-Intelligence-in-Research (1).pptx
PDF
Natural Language Processing
PPT
Data models
PPT
HCI 3e - Ch 13: Socio-organizational issues and stakeholder requirements
PPTX
Information retrieval 13 alternative set theoretic models
PPTX
Information retrieval s
PPTX
Natural Language Processing (NLP) - Introduction
HCI 3e - Ch 14: Communication and collaboration models
Data Mining: What is Data Mining?
AI Lecture 7 (uncertainty)
Vector space model of information retrieval
6 shallow parsing introduction
Components of a search engine
Unit-1 OOAD Introduction.pptx
Natural Language Processing in AI
What is Big Data?
Data Analytics and Artificial Intelligence in the era of Digital Transformation
Artificial intelligence
Information Retrieval Models
Understanding-Artificial-Intelligence-in-Research (1).pptx
Natural Language Processing
Data models
HCI 3e - Ch 13: Socio-organizational issues and stakeholder requirements
Information retrieval 13 alternative set theoretic models
Information retrieval s
Natural Language Processing (NLP) - Introduction
Ad

Viewers also liked (8)

PPTX
Precis
PPTX
PPTX
S.R. Ranganathan:Three Planes of Work.
PPTX
Introduction to subject cataloguing
PPT
Marc format
PPT
S R Ranganathan Powerpoint
PPTX
Laws of library science
PPT
Comparative study of major classification schemes
Precis
S.R. Ranganathan:Three Planes of Work.
Introduction to subject cataloguing
Marc format
S R Ranganathan Powerpoint
Laws of library science
Comparative study of major classification schemes
Ad

Similar to Software Engineering Ontology (20)

PDF
PROPOSAL OF AN HYBRID METHODOLOGY FOR ONTOLOGY DEVELOPMENT BY EXTENDING THE P...
PPT
Can there be such a thing as Ontology Engineering?
PPTX
Jarrar.lecture notes.aai.2011s.ontology part4_methodologies
PDF
Mit press a semantic web primer - 2004 !! - (by laxxuss)
PPTX
Ontology Engineering for Systems Engineering
PPT
The Role Of Ontology In Modern Expert Systems Dallas 2008
PPTX
Software Engineering Ontology and Software Testing
PPTX
Software engineering ontology and software testing
PDF
Semantic Web - Ontology 101
PPT
Semantic technologies for the Internet of Things
PDF
Ontology Engineering With Ontology Design Patterns Foundations And Applicatio...
PPTX
EKAW2014 Keynote: Ontology Engineering for and by the Masses: are we already ...
PDF
Open Services for Lifecycle Collaboration (OSLC) - Extending REST APIs to Con...
PPT
Ontologies: vehicles for reuse
PPT
Ontology Engineering: Ontology Use
PPT
22 owl section 1
TXT
Referensi Penelitian Rekayasa Perangkat Lunak berbasis Ontologi
PDF
LNCS_CSCWD06_KC_Recommendation
PDF
Semantic web based software engineering by automated requirements ontology ge...
PROPOSAL OF AN HYBRID METHODOLOGY FOR ONTOLOGY DEVELOPMENT BY EXTENDING THE P...
Can there be such a thing as Ontology Engineering?
Jarrar.lecture notes.aai.2011s.ontology part4_methodologies
Mit press a semantic web primer - 2004 !! - (by laxxuss)
Ontology Engineering for Systems Engineering
The Role Of Ontology In Modern Expert Systems Dallas 2008
Software Engineering Ontology and Software Testing
Software engineering ontology and software testing
Semantic Web - Ontology 101
Semantic technologies for the Internet of Things
Ontology Engineering With Ontology Design Patterns Foundations And Applicatio...
EKAW2014 Keynote: Ontology Engineering for and by the Masses: are we already ...
Open Services for Lifecycle Collaboration (OSLC) - Extending REST APIs to Con...
Ontologies: vehicles for reuse
Ontology Engineering: Ontology Use
22 owl section 1
Referensi Penelitian Rekayasa Perangkat Lunak berbasis Ontologi
LNCS_CSCWD06_KC_Recommendation
Semantic web based software engineering by automated requirements ontology ge...

More from Nidhi Baranwal (12)

PPTX
Modulation
PPTX
A new approach and algorithm of sentiment analysis and product rating
PPTX
Image compression: Techniques and Application
PPTX
Fourier Transform
PPTX
Naïve multi label classification of you tube comments using
PPTX
A multiplatform Java wrapper for the BioAPI framework
PPT
Distributed Multimedia Systems(DMMS)
PPTX
Digital modulation technique
PPTX
Ide description
PPTX
Digital modulation techniques...
PPTX
distributed depth-first search
PPTX
Graphics
Modulation
A new approach and algorithm of sentiment analysis and product rating
Image compression: Techniques and Application
Fourier Transform
Naïve multi label classification of you tube comments using
A multiplatform Java wrapper for the BioAPI framework
Distributed Multimedia Systems(DMMS)
Digital modulation technique
Ide description
Digital modulation techniques...
distributed depth-first search
Graphics

Recently uploaded (20)

PDF
R24 SURVEYING LAB MANUAL for civil enggi
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
bas. eng. economics group 4 presentation 1.pptx
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PDF
Well-logging-methods_new................
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
OOP with Java - Java Introduction (Basics)
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
additive manufacturing of ss316l using mig welding
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
Lecture Notes Electrical Wiring System Components
PPTX
Construction Project Organization Group 2.pptx
R24 SURVEYING LAB MANUAL for civil enggi
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
CH1 Production IntroductoryConcepts.pptx
bas. eng. economics group 4 presentation 1.pptx
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
Well-logging-methods_new................
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Foundation to blockchain - A guide to Blockchain Tech
OOP with Java - Java Introduction (Basics)
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
Model Code of Practice - Construction Work - 21102022 .pdf
CYBER-CRIMES AND SECURITY A guide to understanding
Operating System & Kernel Study Guide-1 - converted.pdf
additive manufacturing of ss316l using mig welding
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
Lecture Notes Electrical Wiring System Components
Construction Project Organization Group 2.pptx

Software Engineering Ontology

  • 1. Software Engineering Ontology FOR MULTI-SITE SOFTWARE DEVELOPMENT By: Nidhi Baranwal MCA 3rd sem University of Allahabad
  • 2. What is Ontology? The term ‘ontology’ is derived from its usage in philosophy, where it means the study of being, becoming, existence or reality as well as the basic categories of being and their relations. Ontology deals with questions concerning what entities exist or may be said to exist, and how such entities may be grouped, related within a hierarchy, and subdivided according to similarities and differences. Although ontology as a philosophical enterprise is highly theoretical, it also has practical application in information science and technology, such as ontology engineering. An ontology defines a common vocabulary a shared understanding Continued...
  • 3. ...What is Ontology? Thomas Gruber defines ontology as “formal explicit specification of conceptualization”. Explicit specification of conceptualization means that an ontology is a description (like a formal specification of a program) of the concepts and relationships that can exist for an agent or a community of agents. Formal means ‘meaning of ontology is unambiguous, avoids misunderstanding. Specification consisting of Classes Relationship between classes individuals Specification is ‘detailed description of the design and materials used to make something’. Continued…
  • 4. ...What is Ontology? A conceptualization is an abstract simplified view of some selected part of the world, containing the objects, concepts, and other entities that are presumed of interest for some particular purpose and the relationships between them. Example : By default, all computer programmes have a fundamental ontology consisting of a standard library in a programming language or files in accessible file systems.
  • 5. Types of Ontology Philosophers can classify ontologies in various ways using criteria such as the degree of abstraction and field of application: Upper ontology: concepts supporting development of an ontology, meta­­ontology Domain ontology: concepts relevant to a particular topic or area of interest, for example, information technology or computer languages, or particular branches of science Interface ontology: concepts relevant to the juncture of two disciplines Process ontology: inputs, outputs, constraints, sequencing information, involved in business or engineering processes.
  • 6. Multi-Site Software Development oSoftware development has increasingly focused on the Internet which enables a multi­site environment that allows multiple teams residing across cities, regions, or countries to work together in a networked distributed fashion to develop the software. oMajor corporations have moved their software development to countries where employees are on comparatively lower wages. oTeam members who carry out the tasks and activities, team leaders who control the tasks and activities, and managers who manage the project and leaders, may or may not be located at the same site in a multi­site environment. Continued...
  • 7. …Multi-Site Software Development oMoreover, It is quite often the case that these people have never met face-to-face, have different cultural and educational backgrounds, interpret methods in different ways, etc. oSoftware engineering training and practice are quite different between cities and countries. It can be difficult to communicate between teams and among team members. oHence, the globalization of software development means increasing problems. oIt is this imperative of financial gain that drives people and businesses to multi-site development and the Internet which facilitates it.
  • 8. Why Ontology in Software Engineering? The problem: It can be difficult to communicate between teams and among team members, if strict software engineering principles and discipline are not understood and followed. The inconsistency in presentation, documentation, design and diagrams could prevent access by other teams or members. Different teams could be referring to different texts on software engineering. Teams or team members use a particular text as their own individual guide, and when they communicate, their own knowledge base and terminology is different from those of others. Hence, Communication becomes the real challenge and it effects software development process. The Solution: An Ontology for Software Engineering as Ontology is an important part of developing a shared understanding across a project. Continued... People cannot share knowledge if they do not speak a common language
  • 9. …Ontology in Software Engineering In the area of computer science, Ontology represents the effort to formulate an exhaustive and rigorous conceptual schema within a given domain, typically a hierarchical data structure containing all the relevant elements and their relationships and rules (regulations) within the domain The main purpose of the software engineering ontology is to enable communication between computer systems or software engineers in order to understand common software engineering knowledge and to perform certain types of computations. The specific software engineering concepts used for the particular software development project representing software engineering sub-domain knowledge are captured in ontology. Thus, the software engineering ontology can be defined by using a set of software engineering representational terms. The software engineering ontology is organised by concepts, not words. This is in order to recognise and avoid potential logical ambiguities.
  • 10. Schematic overview of software engineering knowledge representation
  • 11. Ontology Language Examples There are several ontology languages available such as Resource Description Framework (RDF), Ontology Interchange Language(OIL)  Web Ontology Language (OWL) etc. The most recent development in standard ontology languages is OWL from the World Wide Web Consortium (W3C).  OWL has the most complete set of expressions for capturing the different concepts and relationships that occur within ontologies; therefore , the software engineering knowledge is captured in OWL
  • 12. Software Engineering Ontology Modelling Modelling include notations like: 1. Class Notations: ◦ Represented as a rectangle with two compartments. The top compartment is for labelling the class and the second for presenting properties. It is mandatory to specify the word ‘<<Concept>>’ above the class label in the top compartment. ◦ The generalisation symbol appears as a line with one end empty and the other with a hollow triangle arrowhead. ◦ The empty end is always connected to the class being subsumed, whereas the hollow arrowhead connects to the class that subsumes Presentation of instances of classes and properties
  • 13. Software Engineering Ontology Modelling 2. Property Relation, Characteristic and Restriction Notations: ◦ Include data type property, object property, its characteristics, its restrictions, and association class attached property ◦ data type property of the software engineering ontology class can be expressed in the bottom compartment of class notation ◦ Top compartment is called the ‘domain’ and type of data type property is considered as a range ◦ characteristics of data type property can be either functional or non- functional represented by the words ‘Single’ or ‘Multiple’ respectively. ◦ An enumeration in software engineering ontology is represented in curly brackets Cardinality restriction Class Class presentation and its properties
  • 14. Software Engineering Ontology Modelling 3. Instance Notation: ◦ An instance notation is represented as an ellipse with a dotted line attached to its class or property. ◦ If it is an instance of property, then the ellipse contains the property name followed by a colon and then the instance name. ◦ Unlike an instance of class, in the ellipse there is only the instance name Presentation of instances of classes and properties
  • 15. Software Engineering Ontology Design and Implementation A process of design in the software engineering ontology refers to the process to design concepts, relations, and constraints.Some common, widely-used concepts for designing are : 1. Ontology Model for an Entity-Relationship Diagram 1.An entity-relationship diagram represents conceptual models of data stored in information systems 2.There are three main components in E-R diagram : entities, attributes and relationships 3.Entity attributes can be classified as being simple, composite or derived 4.There are three main degrees of entity relationships : unary, binary and complex. 5.The complex entity relationship can be further divided into quaternary and ternary. 6.In the ontology model, cardinality restriction constrains the number of entities that participate in a relationship .It is specified as a string that can be a string of 1..1 (one and only one),0..* (zero or more), 1..* (one or more), 0..1 (zero or one)
  • 17. Software Engineering Ontology Design and Implementation 2.Ontology Model for a UML Activity Diagram 1.An activity diagram shows the control flow from activity to activity 2.Mainly, activity diagrams contain activities, transitions, swimlane, and objects. 3.A swimlane is a way to group activities performed by the same actor on an activity diagram or to group activities in a single thread. Every activity belongs to exactly one swimlane 4. Objects may be involved in the flow of control associated with an activity diagram. This refers to relations set_Object_Flow and get_Object_Flow. 5.Transitions of activities are classified into four main transitions: A.normal B.special C.branch D.concurrent 6.Special transition is further divided into an initial and a stop transition 7.Concurrent transition is further divided into a fork and a join transition.
  • 19. Software Engineering Ontology Design and Implementation 3. Ontology model for UML class diagram 1.A class diagram is a diagram that represents a set of classes and their interrelationships 2.There can be relationships among classes like generalisations, aggregations, and associations 3.The generalisation symbol appears as a line with one end empty and the other with a hollow triangle arrowhead. 4.In the bottom compartment, notation are in the order of data type property name, its characteristic ,its type and its restriction .The characteristics of data type property can be either functional or nonfunctional represented by the words ‘Single’ or ‘Multiple’ respectively 5.An enumeration in software engineering ontology is represented in curly brackets 6. An object property can be expressed as an arrow with an open arrowhead and with a text label of the object property’s name. Symbols , , and [] represent restrictions allValueFrom,∀ ∃ someValueFrom, and hasValue respectively
  • 21. Software Engineering Ontology Deployment Software engineering ontology allows knowledge sharing and facilitates the communication framework. 1.Knowledge Sharing: Knowledge sharing through the software engineering ontology eliminates misunderstandings, miscommunications and misinterpretations. Software engineering ontology presents explicit assumptions concerning the objects referring to the domain knowledge of software development. 2. Communications: Software engineering knowledge formed into software engineering ontology facilitates communication framework among users and provides consistent understanding of the domain knowledge
  • 22. Applications of Ontology 1.In multi-site software development 2. To provide services for answering queries(Knowledge based Systems) 3.Ontologies can be used beneficially in enterprise 4.The key role of ontologies with respect to database systems is to specify a data modelling representation at a level of abstraction 5.It publish reusable knowledge bases, and offer services to facilitate efficiency across multiple, heterogeneous systems and databases.
  • 23. References Development of a Software Engineering Ontology for Multi-site Software Development : Pornpit Wongthongtham, Elizabeth Chang, Tharam Dillon and Ian Sommerville © IEEE Ontology by Tom Gruber in the Encyclopedia of Database Systems, Ling Liu and M. Tamer Özsu (Eds.), Springer-Verlag, 2009 https://en.wikipedia.org/wiki/Ontology http://www.obitko.com/tutorials/ontologies-semantic-web/specification-of- conceptualization.html C. Roussey et al. An Introduction to Ontologies and Ontology Engineering http:// www.springer.com/978-0-85729-723-5 Software Engineering Approaches to Ontology Development -- Francisco Ruiz , José R. Hilera Ontologies in the Software Engineering process - Wolfgang Hesse