Anda di halaman 1dari 12

Conceptual Modeling

CSC2507

Telos: Representing Knowledge


About Information Systems
History
Propositions
Attributes as Objects
Knowledge Base Operations
Metaclasses

2004 John Mylopoulos

Telos -- 1

Conceptual Modeling

CSC2507

History
I

I
I

RML:Requirements Modeling Language [Greenspan84]


-- structuring facilities, assertions, time, influenced by
SADT; never implemented, but widely referenced.
CML:Conceptual Modeling Language [Stanley86,
Koubarakis88] -- attributes as objects for extensibility.
Telos [Koubarakis89, Mylopoulos90] -- language for
modeling requirements, design, implementation, design
decisions, etc.; used in the DAIDA project; cleaned up
version of CML, including a tractable model of time.
Objective : Define a modeling language which is
expressive enough for defining other modeling languages,
e.g., EER, KAOS, RML,

2004 John Mylopoulos

Telos -- 2

Conceptual Modeling

CSC2507

Part of the KAOS Metamodel


1..N

Action
Action

input

Object
Object

1..N output

1..N

stops
causes

knows

links

Event
Event

Relationship
Relationship

Entity
Entity

Agent
Agent

performs
1..N

capableOf

But, where do we define Action, Object, etc.?


What about causes, stops,?
2004 John Mylopoulos

Telos -- 3

Conceptual Modeling

CSC2507

Propositions
I

I
I

Everything is a proposition (unit might have been a


better name); there are two kinds of propositions:
individuals and attributes
Individuals (units/objects) -- John, 7, Person,
Attributes (links/roles/binary relationships) -[John, homeAddr, 42 Elm Street, 23/12/75-04/08/98]
[Person, address, GeographicLocation, AllTime]
Individual

Attribute
label
from

when
to

[Note: Time will be ignored in the rest of the discussion]


2004 John Mylopoulos

Telos -- 4

Conceptual Modeling

CSC2507

Classification
 Every proposition is an instance of one or more classes.
 Every proposition has a type, which can be 0,1,,.
 A proposition of type n can be an instance of classes at
level n+1 or .
personClass

Metaclasses (type 2)

student

person

Classes (type 1)
1)

maria

george

Tokens (type 0)

2004 John Mylopoulos

Telos -- 5

Conceptual Modeling

CSC2507

Classes

Omega classes

class

personClass

Metaclasses

student

person

Classes

maria

2004 John Mylopoulos

george

Tokens

Telos -- 6

Conceptual Modeling

CSC2507

Classification of Attributes Omega classes


class

socialRel

personClass

Metaclasses (M1)
attribute

student

person

marriedTo
Classes (M0)

maria

george

Tokens

2004 John Mylopoulos

Telos -- 7

Conceptual Modeling

CSC2507

(Part of) The Level

proposition

class

attribute

2004 John Mylopoulos

Telos -- 8

Conceptual Modeling

CSC2507

Attributes
Card

Number (M0)

PersonClass (M1)

407
Student#

St#

Student (M0)
3488
Employee

91234072

myrto

2004 John Mylopoulos

Telos -- 9

Conceptual Modeling

CSC2507

Operations
I
I
I

We need operations for creating, updating and


deleting propositions.
Wed like such operations to be at a level that is
higher than that of single propositions.
Every proposition can be thought of as a composite
object consisting of itself and all attributes that have
it as source
e.g., {Maria, [Maria, homePhone#, 463-2375],
[Maria, sal, $65,000] }
{Person, [Person, phone, Phone#],
[Person, sal, $-Value]}

2004 John Mylopoulos

Telos -- 10

Conceptual Modeling

CSC2507

Defining Composite Objects


TELL
TELLCLASS
CLASSPaper
Paper
IN
SimpleClass
IN SimpleClass
TELL
WITH
TELLTOKEN
TOKENmartian
martianIN
INPaper
Paper
WITH
WITH
attribute
WITH
attribute
author
author:
author
author:Person;
Person;
first:
referee:
first:Stanley;
Stanley;
referee:Person;
Person;
: :LaSalle
title:
String;
LaSalle: :Wong
Wong
title: String;
title
*:*:The
MARTIAN
System
pages:
1..100;
title
The
MARTIAN
System
pages: 1..100;
session
*:
Applications
conf:
Conference
session *: Applications
conf: Conference
nationality
END
Paper
nationality*:*:Canada
Canada
END Paper
END
martian
END martian

2004 John Mylopoulos

Telos -- 11

Conceptual Modeling

CSC2507

What Do We Have So Far?


attribute

Attribute

Class

Paper

Person

author
title

first

martian
2004 John Mylopoulos

String
Stanley
LaSalle
Wong
The Martian System
System

Telos

-- 12

Conceptual Modeling

CSC2507

More Composite Objects


TELL
TELLCLASS
CLASSAcceptedPaper
AcceptedPaper
IN
SimpleClass
IN SimpleClass
ISA
ISAPaper
Paper
WITH
WITH
attribute
attribute
sess:
sess:ConfProSession
ConfProSession
END
ENDAcceptedPaper
AcceptedPaper

TELL
TELLCLASS
CLASSInvitedPaper
InvitedPaper
IN
SimpleClass
IN SimpleClass
ISA
ISAPaper
Paper
WITH
WITH
attribute
attribute
sess:
sess:ConfSession;
ConfSession;
nationality:
nationality:Country
Country
END
InvitedPaper
END InvitedPaper

2004 John Mylopoulos

Telos -- 13

Conceptual Modeling

CSC2507

Accessing the Telos Graph Structure


I

There are four basic selectors for accessing the Telos


graph structure:
martian.author = {Stanley, LaSalle, Wong}
martian|author = {[martian,first,Stanley],[martian,,LaSalle],[martian,-,Wong]}
martian^first = {Stanley}
martian:first = {[martian,first,Stanley]}

2004 John Mylopoulos

Person

author

Stanley

first

Paper

martian
Telos -- 14

Conceptual Modeling

CSC2507

Metaclasses
I
I

This is perhaps the most distinctive feature of Telos.


Metaclasses can be defined for individuals and
attributes and allow the definition of models
e.g., relation (or table) for the relational model
entity, relationship for E-R models
object, message for O-O models

2004 John Mylopoulos

Telos -- 15

Conceptual Modeling

CSC2507

Metaclasses for a Document World


Suppose we want to model a world of documents. A
document model will offer built-in terms such as Document,
Form, each with an appropriate internal structure. In Telos
you can define these as metaclasses:
TELL
TELLCLASS
CLASSDocumentClass
DocumentClass
IN
MetaClass
WITH
IN MetaClass WITH
attribute
attribute
source:
source:AgentClass;
AgentClass;
content:
SimpleClass;
content: SimpleClass;
audience:
audience:AgentClass;
AgentClass;
responseTime:
responseTime:Time
TimeininSimpleClass
SimpleClass
END
DocumentClass
END DocumentClass
2004 John Mylopoulos

Telos -- 16

Conceptual Modeling

CSC2507

Categorizing Attributes
TELL
TELLPaper
PaperIN
INDocumentClass
DocumentClassWITH
WITH
source
source
author:
author:Person;
Person; replyAddress:
replyAddress:
Address
Address
audience
TELL CLASS Paper
audience
conf:
Conference
IN SimpleClass
conf: Conference
contents
WITH
contents
title:
...
title:String;
String; pages:
pages:1..100
1..100
attribute
single, contents
attribute
referee:
title: String
referee:Person
Person
responseTime
*:
4wks
...
responseTime *: 4wks
END
Paper
END
Paper
END Paper
2004 John Mylopoulos

Telos -- 17

Conceptual Modeling

CSC2507

Single-Valued Attributes
single

Class

Paper

Single

String

title

Paper043
2004 John Mylopoulos

TELL
TELLCLASS
CLASSSingle
Single
COMPONENTS
COMPONENTS[Class,
[Class,single,
single,Class]
Class]
IN
INAttributeClass,
AttributeClass,MetaClass
MetaClass WITH
WITH
integrityConstraint
integrityConstraint
: :$$(
(u/Single,
u/Single,p,
p,q/Proposition)
q/Proposition)
[p
in
u

q
in
u

[p in u q in u from(p)=from(q)
from(p)=from(q)
pp==q]$
q]$

These have
to be equal

p
Telos -- 18

Conceptual Modeling

CSC2507

The Activity Metaclass


TELL
TELLCLASS
CLASSActivityClass
ActivityClassIN
INMetaClass
MetaClassWITH
WITH
attributes
attributes
agent:
agent:AgentClass;
AgentClass;
input,
output,
input, output,control:
control:EntityClass;
EntityClass;
part:
ActivityClass
part: ActivityClass
integrityConstraint
integrityConstraint
inputExists:
inputExists:$$p/this
p/this| |input,
input,x/Token
x/Token
[x[xininfrom(p)

q/Attribute
from(p) q/Attribute[q
[qininppto(q)
to(q)inin
to(p)]]
to(p)]]$$
outputCreated:...
outputCreated:...
...partDuringWhole:...
...partDuringWhole:...
END
ENDActivityClass
ActivityClass
2004 John Mylopoulos

Conceptual Modeling

Telos -- 19

CSC2507

TELL
TELLCLASS
CLASSConferenceOrganization
ConferenceOrganization
IN
ActivityClass
IN ActivityClassWITH
WITH
input,
input,single
singlebudg:
budg:Budget
Budget
output,
single
output, singleconf:
conf:Conference;
Conference;finalReport:
finalReport:Report
Report
control,
single
nm:
Name;
...
control, single nm: Name; ...
control
controlsponsors:
sponsors:Organization
Organization
part,
single
part, single
setSchedule:
setSchedule:SetTimeSchedule;
SetTimeSchedule;
setPC:
setPC:AppointProgrammeCommittee;
AppointProgrammeCommittee;
...
...
hldConf:
hldConf:HoldConference
HoldConference
part
part
genExpenseReport:
genExpenseReport:GenExpenseReport
GenExpenseReport
preCondition
preCondition**: :$$BudgetAccepted(this)
BudgetAccepted(this)$$
activCondition
activCondition**: :$$now
nowduring
duringthis.budg.startDate
this.budg.startDate$$
postCondition
*
:
$
budg.amountLeft
postCondition * : $ budg.amountLeft==00$$
terminationCondition
terminationCondition**: :$$now
nowafter
afterthis.budg.endDate
this.budg.endDate$$
integrityConstraint
*
:
/*
setSchedule
integrityConstraint * : /* setScheduleoccurs
occursbefore
before
setPC,
...
*/
setPC, ... */

An
Activity
Class

2004 John Mylopoulos

Telos -- 20

Conceptual Modeling

CSC2507

Birds Eye View


PersonClass
Organization

Person
emp

emp
less
empearns
earnsless
less Employee
than
her
her
manager
than hermanager
manager

addr

history
time

belief
time

Address

Manager

UofT

emp

Maria

2004 John Mylopoulos

Telos -- 21

Conceptual Modeling

CSC2507

Representing Software Knowledge:


The DAIDA Project
Systems
Analyst

RML

MappingAsst
MappingAss

DesignSpec
DesignSpe
System
Designe

Implementation
Implementatio

2004 John Mylopoulos

DesignAsst
DesignAss
MappingAsst
MappingAss

TaxisD

Database
DBPL
Programme

ReqAsst
ReqAssi

ImplemAsst
ImplementAss

Global Knowledge Base Management

RequirementsSpec
RequirementsSp

Telos -- 22

Conceptual Modeling

CSC2507

Postscript
I

Telos has seen several implementations, including


ConceptBase (Technical University of Aachen) and
SIS (University of Crete). It has also been used in a
number of case studies. Some of these will appear in
a forthcoming book:
Manfred Jeusfeld, Matthias Jarke and John Mylopoulos
(eds.) The Method Engineering Textbook, MIT Press
(to appear.)

2004 John Mylopoulos

Telos -- 23

Conceptual Modeling

CSC2507

References
I

I
I

[Constantopoulos91] Constantopoulos , P., Jarke , M., Mylopoulos, J. and


Vassiliou, Y., "The Software Information Base: A Server for Reuse", VLDB
Journal, 1994.
[Greenspan84] Greenspan, S., Requirements Modelling: A Knowledge
Representation Approach to Requirements Definition, Ph.D. thesis, Department of
Computer Science, University of Toronto, 1984.
[Koubarakis88] Koubarakis , M., An Implementation of CML , M.Sc. thesis,
Department of Computer Science, University of Toronto, 1988.
[Koubarakis89] Koubarakis, M., Mylopoulos, J., Stanley, M. and Jarke, M., "Telos:
Features and Formalization", KRR-TR-89-4, Department of Computer Science,
University of Toronto, 1989.
[Mylopoulos90] Mylopoulos, J., Borgida, A., Jarke, M. and Koubarakis, M., "Telos:
Representing Knowledge About Information Systems", ACM Transactions on
Information Systems , October 1990.
[Plexousakis90] Plexousakis , D., The Semantics of Telos: A Language for
Knowledge Representation, M.Sc. thesis, Department of Computer Science,
University of Toronto, 1990.
[Stanley86] Stanley, M., CML: A Knowledge Representation Language with
Applications to Requirements Modelling, M.Sc. thesis, Department of Computer
Science, University of Toronto, 1986.

2004 John Mylopoulos

Telos -- 24

Anda mungkin juga menyukai