Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1

TOPIC: TTCN-3 as a formal language

TTCN-3 as a formal language 28 Jun 2010 11:17 #7672

Hi everyone,

I have had some discussions with colleagues about if TTCN-3 is considered a formal language or not, in the same way that TTCN-2 was considered a formal notation. So I would like to extend our discussion to the TTCN-3 community, in order to enumerate some of the features which make TTCN-3 to be considered as formal or not.



Thanks in advance for your comments,

Best Regards

Sergio
The administrator has disabled public write access.

TTCN-3 as a formal language 28 Jun 2010 13:37 #7673

Hi Sergio,


Instead of starting a scientific discussion on formal languages (I leave this to the academic world ;-)) let's cite good old wikipedia (en.wikipedia.org/wiki/Formal_language)

> A formal language is a set of words, i.e. finite strings of letters, symbols, or tokens. The set from which these letters are taken is called the alphabet over which the language is defined. A formal language is often defined by means of a formal grammar (also called its formation rules); accordingly, words that belong to a formal language are sometimes called well-formed words (or well-formed formulas).
Both TTCN-2 and TTCN-3 satisfy this requirement. TTCN.gr/TTCN.mp are well defined as well as the TTCN-3 Core Language format is well defined. The EBNF of TTCN-3 defines very precisely the vocabulary in the same way the grammar for TTCN-2 has been defined. I would assume that this alone is sufficient to consider TTCN-3 as a formal language.

Furthermore
> Formal languages are often used as the basis for richer constructs endowed with semantics. In computer science they are used, among other things, for the precise definition of data formats and the syntax ofprogramming languages.

Well, again, TTCN-2 and TTCN-3 are defining precisely for example data structures. I do not consider here the import relationship between ASN.1 and TTCN but only the capabilities of TTCN (2 and 3) on their own.

> Since formal languages alone do not have semantics, other formal constructs are needed for the formal specification of program semantics.
While not precisely part of the definition of a formal languages (but an "extension" on it) both, TTCN-2 and TTCN-3 have a static and an operational semantics. In other words you describe unambiguously what a single definition, statement or a sequence of statements means and how they have to be executed. Which is in turn the basis on implementing compilers or interpreters for the language.

That's my two cents to this topic.

The floor is open ;-)

Best regards, Theo



Am 28.06.2010 um 13:17 schrieb Sergio Lobato López:

> Hi everyone,
> I have had some discussions with colleagues about if TTCN-3 is considered a formal language or not, in the same way that TTCN-2 was considered a formal notation. So I would like to extend our discussion to the TTCN-3 community, in order to enumerate some of the features which make TTCN-3 to be considered as formal or not.
>
> Thanks in advance for your comments,
> Best Regards
> Sergio
>
>
> __________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5233 (20100628) __________
>
> ESET NOD32 Antivirus ha comprobado este mensaje.
>
> www.eset.com
The administrator has disabled public write access.

TTCN-3 as a formal language 28 Jun 2010 18:16 #7674

Hi Sergio, Theo,



There are several ‘diverging’ definitions for the term ‘formal language’. Which one is the correct one? :-)



Theo referenced the Wikipedia definition.



Here is another taken from the McGraw-Hill dictionary: <encyclopedia2.thefreedictionary.com/formal+language> encyclopedia2.thefreedictionary.com/formal+language



formal language [¦fȯr·məl ′laŋ·gwij] (computer science)



An abstract mathematical object used to model the syntax of a programming or natural language.

McGraw-Hill Dictionary of Scientific & Technical Terms, 6E, Copyright © 2003 by The McGraw-Hill Companies, Inc.



Based on the above definition one could immediately conclude that TTCN-3 is not a formal language since there is no mathematical object specifying its syntax, nor its semantics (although Part ES-2201873-4 of the standards does offer informal flow graphs). Can static semantics be mathematically formalized?



TTCN-2 and TTCN-3 are described using:

* a EBNF ( a deterministic context free grammar (Chomsky Type-2))?

* semantics (associating meaning to syntax)

o static semantics ( described using English prose (natural languages tend to be ambiguous…) and

o operational/dynamic semantics (execution behaviour),



NOTE: TTCN-3 static semantics are defined in Annex A of ES 201 873-1 (Core Notation)

Operational semantics are defined in ES 201 873-4 ( Operational Semantics)



Neither TTCN-2, nor TTCN-3 is defined using mathematical model(s). A formal language normally has formally defined semantics which allow for formal (read mathematical) verification (proof of correctness).



Wikipedia defines “Formal semantics of programming languages” as follows: <en.wikipedia.org/wiki/Formal_semantics_of_programming_languages> en.wikipedia.org/wiki/Formal_semantics_of_programming_languages



Based on the Wikipedia description of operational semantics, for TTCN-3 to be a formal language, the operational semantics would need to be described using a mathematical formalism such as predicate logic, an abstract machine or something else.



Some food for thought: ES-201-873-4 describes the operational semantics of TTCN-3. Section 4 Introduction, states:



“NOTE: The mapping of TTCN-3 statements onto flow graphs is an informal step and is not defined by using the

BNF rules in ES 201 873-1 [1]. The reason for this is that the BNF rules are not optimal for an intuitive

mapping because several static semantic rules are coded into BNF rules in order to allow static semantic

checks during the syntax check.”



Further, TTCN-3 allows the use of ASN.1, IDL, XSD, and external functions written in whatever programming language.



To answer the question: “Is TTCN-3 is a formal language?” No.



“A penny for your thoughts, and two cents for your opinion.”



Those were my two cents + a penny’s worth of opinion. :-)





Cheers,

Claude





PS: Further, TTCN-2 and TTCN-3 are not strongly typed.





Blukaktus Communications phone: +49 (0)30 9606 7986

Edinburger Strasse 39 fax: +49 (0)30 9606 7987

13349 Berlin mobile: +49 (0)174 701 6792



email: <This email address is being protected from spambots. You need JavaScript enabled to view it.> This email address is being protected from spambots. You need JavaScript enabled to view it.







_____

From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Sergio Lobato López
Sent: 28 June 2010 13:18
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: TTCN-3 as a formal language



Hi everyone,

I have had some discussions with colleagues about if TTCN-3 is considered a formal language or not, in the same way that TTCN-2 was considered a formal notation. So I would like to extend our discussion to the TTCN-3 community, in order to enumerate some of the features which make TTCN-3 to be considered as formal or not.



Thanks in advance for your comments,

Best Regards

Sergio



__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5233 (20100628) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

www.eset.com
The administrator has disabled public write access.

TTCN-3 as a formal language 29 Jun 2010 08:33 #7675

Hi Claude,

hmmm. I slightly disagree.
Reading the definition it says:

> to model the syntax of a programming … language
Well the syntax is modeled using EBNF. And you can work "mathematically" on this model.

>> A formal language normally has formally defined semantics

Well the definition(s) do not say this. ;-)

The rest (static and operational semantics) is also according to the wikipedia definition an add-on to a formal language.

Furthermore, I believe that for TTCN-3 you could define a mathematical model both for the static and the operational semantics, with the exception of external functions.

So I come to a slightly different conclusion:
a) TTCN-3 is a formal language
b) TTCN-3 has no formal semantics (yet) defined.

As (a) does not require (b) and the original question was:
> “Is TTCN-3 is a formal language?”
I would say: yes, it is.

Other comments?

Best regards,
Theo

PS: The inclusion of ASN.1, XML, etc does not influence the properties of the TTCN-3 language itself, as they are mapped to dedicated TTCN-3 constructs. So basically any analysis etc. work on TTCN-3 only. I admit that this is "slightly" different for external functions. :-(

Am 28.06.2010 um 20:16 schrieb Claude Desroches:

> Hi Sergio, Theo,
>
> There are several ‘diverging’ definitions for the term ‘formal language’. Which one is the correct one? J
>
> Theo referenced the Wikipedia definition.
>
> Here is another taken from the McGraw-Hill dictionary: encyclopedia2.thefreedictionary.com/formal+language
>
> formal language [¦fȯr·məl ′laŋ·gwij] (computer science)
>
> An abstract mathematical object used to model the syntax of a programming or natural language.
> McGraw-Hill Dictionary of Scientific & Technical Terms, 6E, Copyright © 2003 by The McGraw-Hill Companies, Inc.
>
> Based on the above definition one could immediately conclude that TTCN-3 is not a formal language since there is no mathematical object specifying its syntax, nor its semantics (although Part ES-2201873-4 of the standards does offer informal flow graphs). Can static semantics be mathematically formalized?
>
> TTCN-2 and TTCN-3 are described using:
> Þ a EBNF ( a deterministic context free grammar (Chomsky Type-2))?
> Þ semantics (associating meaning to syntax)
> o static semantics ( described using English prose (natural languages tend to be ambiguous…) and
> o operational/dynamic semantics (execution behaviour),
>
> NOTE: TTCN-3 static semantics are defined in Annex A of ES 201 873-1 (Core Notation)
> Operational semantics are defined in ES 201 873-4 ( Operational Semantics)
>
> Neither TTCN-2, nor TTCN-3 is defined using mathematical model(s). A formal language normally has formally defined semantics which allow for formal (read mathematical) verification (proof of correctness).
>
> Wikipedia defines “Formal semantics of programming languages” as follows: en.wikipedia.org/wiki/Formal_semantics_of_programming_languages
>
> Based on the Wikipedia description of operational semantics, for TTCN-3 to be a formal language, the operational semantics would need to be described using a mathematical formalism such as predicate logic, an abstract machine or something else.
>
> Some food for thought: ES-201-873-4 describes the operational semantics of TTCN-3. Section 4 Introduction, states:
>
> “NOTE: The mapping of TTCN-3 statements onto flow graphs is an informal step and is not defined by using the
> BNF rules in ES 201 873-1 [1]. The reason for this is that the BNF rules are not optimal for an intuitive
> mapping because several static semantic rules are coded into BNF rules in order to allow static semantic
> checks during the syntax check.”
>
> Further, TTCN-3 allows the use of ASN.1, IDL, XSD, and external functions written in whatever programming language.
>
> To answer the question: “Is TTCN-3 is a formal language?” No.
>
> “A penny for your thoughts, and two cents for your opinion.”
>
> Those were my two cents + a penny’s worth of opinion. J
>
>
> Cheers,
> Claude
>
>
> PS: Further, TTCN-2 and TTCN-3 are not strongly typed.
>
>
> Blukaktus Communications phone: +49 (0)30 9606 7986
> Edinburger Strasse 39 fax: +49 (0)30 9606 7987
> 13349 Berlin mobile: +49 (0)174 701 6792
>
> email: This email address is being protected from spambots. You need JavaScript enabled to view it.
>
>
>
> From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Sergio Lobato López
> Sent: 28 June 2010 13:18
> To: This email address is being protected from spambots. You need JavaScript enabled to view it.
> Subject: TTCN-3 as a formal language
>
> Hi everyone,
> I have had some discussions with colleagues about if TTCN-3 is considered a formal language or not, in the same way that TTCN-2 was considered a formal notation. So I would like to extend our discussion to the TTCN-3 community, in order to enumerate some of the features which make TTCN-3 to be considered as formal or not.
>
> Thanks in advance for your comments,
> Best Regards
> Sergio
>
>
> __________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5233 (20100628) __________
>
> ESET NOD32 Antivirus ha comprobado este mensaje.
>
> www.eset.com
The administrator has disabled public write access.

TTCN-3 as a formal language 29 Jun 2010 09:31 #7676

  • György Réthy
  • György Réthy's Avatar
  • OFFLINE
  • Moderator
  • Posts: 189
  • Thank you received: 1
  • Karma: 1
Hi,

I cannot make the same conclusion from the sentence quoted by Claude than he did. The sentence speaks about the SYNTAX of the language, so conclude something regarding the semantics is ... hmmm... at least misleading. Regarding the syntaxt we have a mathematic model, it is the BNF.

But I think that starting discussing the topic in terms of mathematical models would mislead the whole discussion. The original question was: "if TTCN-3 is considered a formal language or not, in the same way that TTCN-2 was considered a formal notation." I agree with Theo: if TTCN-2 is a formal language, TTCN-3 is a formal language too. It has everything TTCN-2 had (in fact more).

But we shall not forget that a question come from a standardization organization (as opposed to an academic institute on mathematics). So, I would even re-formulate the question: is TTCN-3 suitable for the formal specification of standards (as opposed e.g. to a natural language + tables description)?

So, let's look what e.g. ITU is saying on this respect: "Formal description techniques are extensively used in ITU-T Recommendations to describe system behaviour, structure and data, in order to produce precise and unambiguous formal specifications, which are essential to the quality of the Recommendations and their implementations. Those descriptions are organized by formal language as follows:" (www.itu.int/ITU-T/formal-language/<blocked::http://www.itu.int/ITU-T/formal-language/>). And they are listing ASN.1, XML, MIB/PIB, LDIF and GDMO databases.

In Recommendation Z.110 there are definitions on this topic:
3.1.2 formal description technique (FDT): A specification technique based on a technical language using rigorous and unambiguous rules both with respect to developing expressions in the language (formal syntax) and interpreting the meaning of these expressions (formal semantics). The main FDTs recommended by ITU-T are ASN.1 [b-ITU-T X.680 series], TTCN-2 [b-ITU-T X.292], TTCN‑3 [b-ITU‑T Z.161] to [b-ITU-T Z.170], SDL-2000 [b-ITU-T Z.100] to [b-ITU-T Z.106], SDL-2000 combined with UML [b-ITU‑T Z.109], MSC [b-ITU-T Z.120] and [b-ITU-T Z.121] and URN [b‑ITU‑T Z.150] and [b-ITU‑T Z.151].
3.1.3 natural language description: An example of an informal description technique using one of the languages used by ITU‑T to publish Recommendations. It may be supplemented with mathematical and other accepted notation, figures, etc.

So, ITU-T is listing TTCN-3 explicitly ...

This is my two cents.

BR,

________________________________
From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Theofanis Vassiliou-Gioles
Sent: 2010-június-29 10:33
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Re: TTCN-3 as a formal language

Hi Claude,

hmmm. I slightly disagree.
Reading the definition it says:

to model the syntax of a programming … language
Well the syntax is modeled using EBNF. And you can work "mathematically" on this model.

A formal language normally has formally defined semantics
Well the definition(s) do not say this. ;-)

The rest (static and operational semantics) is also according to the wikipedia definition an add-on to a formal language.

Furthermore, I believe that for TTCN-3 you could define a mathematical model both for the static and the operational semantics, with the exception of external functions.

So I come to a slightly different conclusion:
a) TTCN-3 is a formal language
b) TTCN-3 has no formal semantics (yet) defined.

As (a) does not require (b) and the original question was:
“Is TTCN-3 is a formal language?”
I would say: yes, it is.

Other comments?

Best regards,
Theo

PS: The inclusion of ASN.1, XML, etc does not influence the properties of the TTCN-3 language itself, as they are mapped to dedicated TTCN-3 constructs. So basically any analysis etc. work on TTCN-3 only. I admit that this is "slightly" different for external functions. :-(

Am 28.06.2010 um 20:16 schrieb Claude Desroches:

Hi Sergio, Theo,
There are several ‘diverging’ definitions for the term ‘formal language’. Which one is the correct one? ☺
Theo referenced the Wikipedia definition.
Here is another taken from the McGraw-Hill dictionary: encyclopedia2.thefreedictionary.com/formal+language
formal language [¦fȯr·məl ′laŋ·gwij] (computer science)
An abstract mathematical object used to model the syntax of a programming or natural language.
McGraw-Hill Dictionary of Scientific & Technical Terms, 6E, Copyright © 2003 by The McGraw-Hill Companies, Inc.
Based on the above definition one could immediately conclude that TTCN-3 is not a formal language since there is no mathematical object specifying its syntax, nor its semantics (although Part ES-2201873-4 of the standards does offer informal flow graphs). Can static semantics be mathematically formalized?
TTCN-2 and TTCN-3 are described using:
Þ a EBNF ( a deterministic context free grammar (Chomsky Type-2))?
Þ semantics (associating meaning to syntax)
o static semantics ( described using English prose (natural languages tend to be ambiguous…) and
o operational/dynamic semantics (execution behaviour),
NOTE: TTCN-3 static semantics are defined in Annex A of ES 201 873-1 (Core Notation)
Operational semantics are defined in ES 201 873-4 ( Operational Semantics)
Neither TTCN-2, nor TTCN-3 is defined using mathematical model(s). A formal language normally has formally defined semantics which allow for formal (read mathematical) verification (proof of correctness).
Wikipedia defines “Formal semantics of programming languages” as follows: en.wikipedia.org/wiki/Formal_semantics_of_programming_languages
Based on the Wikipedia description of operational semantics, for TTCN-3 to be a formal language, the operational semantics would need to be described using a mathematical formalism such as predicate logic, an abstract machine or something else.
Some food for thought: ES-201-873-4 describes the operational semantics of TTCN-3. Section 4 Introduction, states:
“NOTE: The mapping of TTCN-3 statements onto flow graphs is an informal step and is not defined by using the
BNF rules in ES 201 873-1 [1]. The reason for this is that the BNF rules are not optimal for an intuitive
mapping because several static semantic rules are coded into BNF rules in order to allow static semantic
checks during the syntax check.”
Further, TTCN-3 allows the use of ASN.1, IDL, XSD, and external functions written in whatever programming language.
To answer the question: “Is TTCN-3 is a formal language?” No.
“A penny for your thoughts, and two cents for your opinion.”
Those were my two cents + a penny’s worth of opinion. ☺
Cheers,
Claude
PS: Further, TTCN-2 and TTCN-3 are not strongly typed.

Blukaktus Communications phone: +49 (0)30 9606 7986

Edinburger Strasse 39 fax: +49 (0)30 9606 7987

13349 Berlin mobile: +49 (0)174 701 6792

email: This email address is being protected from spambots. You need JavaScript enabled to view it.<This email address is being protected from spambots. You need JavaScript enabled to view it.>

________________________________
From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Sergio Lobato López
Sent: 28 June 2010 13:18
To: This email address is being protected from spambots. You need JavaScript enabled to view it.<This email address is being protected from spambots. You need JavaScript enabled to view it.>
Subject: TTCN-3 as a formal language
Hi everyone,
I have had some discussions with colleagues about if TTCN-3 is considered a formal language or not, in the same way that TTCN-2 was considered a formal notation. So I would like to extend our discussion to the TTCN-3 community, in order to enumerate some of the features which make TTCN-3 to be considered as formal or not.
Thanks in advance for your comments,
Best Regards
Sergio


__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5233 (20100628) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

www.eset.com<www.eset.com/>
The administrator has disabled public write access.

TTCN-3 as a formal language 29 Jun 2010 10:19 #7677

Hello,

Let me share you my personal opinion!

I agree with Claude that its not only the syntax that makes the FDT! Probably that is why TTCN-3 Core Language is complemented with the Operational Semantics, which intends to provide a ``formal'' description of the natural language specification.

However, quoting Z.110, I believe that both TTCN and TTCN-3 misses the most important objectives of FDTs:

4.1 Objectives of an FDT

The goal of an FDT is to permit precise and unambiguous specifications. FDTs are also intended to satisfy objectives such as:

– a basis for analysing specifications for correctness, efficiency, etc. (by simulation, verification or systematic test derivation);

– a basis for determining completeness of specifications;

– a basis for validation of specifications against the requirement of the Recommendation;

– a basis for determining conformance of implementations to Recommendations;

– a basis for determining consistency of specifications between Recommendations;

– a basis for implementation support.

I recall we had some issue regarding the exact meaning of a certain TTCN construct (, which I do not remember any more). Not to speak about the TSOs! Anyway, it caused some ATS to work differently on different tools. So I clearly believe that TTCN is strictly _not_ an FDT by any means.

TTCN-3 started much better in this sense but let's face it: TTCN-3 is over 10 years old and still far from preciseness, unambiguity, correctness and completeness. IMHO, for each fix or new feature introduced into the language we get a magnitude more of additional inconsistencies. I can only conclude that TTCN-3 is a ``wannabe'' FDT. Or did anyone ever verified any part of the specification?

Believe me I would be really happy if TTCN-3 was a FDT in deed! So please make it precise, concise, unambiguous and complete! Please make it a FDT! And do it fast!

Best Regards,
Roland.


________________________________
From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of György Réthy
Sent: Tuesday, June 29, 2010 11:32
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Re: TTCN-3 as a formal language

Hi,

I cannot make the same conclusion from the sentence quoted by Claude than he did. The sentence speaks about the SYNTAX of the language, so conclude something regarding the semantics is ... hmmm... at least misleading. Regarding the syntaxt we have a mathematic model, it is the BNF.

But I think that starting discussing the topic in terms of mathematical models would mislead the whole discussion. The original question was: "if TTCN-3 is considered a formal language or not, in the same way that TTCN-2 was considered a formal notation." I agree with Theo: if TTCN-2 is a formal language, TTCN-3 is a formal language too. It has everything TTCN-2 had (in fact more).

But we shall not forget that a question come from a standardization organization (as opposed to an academic institute on mathematics). So, I would even re-formulate the question: is TTCN-3 suitable for the formal specification of standards (as opposed e.g. to a natural language + tables description)?

So, let's look what e.g. ITU is saying on this respect: "Formal description techniques are extensively used in ITU-T Recommendations to describe system behaviour, structure and data, in order to produce precise and unambiguous formal specifications, which are essential to the quality of the Recommendations and their implementations. Those descriptions are organized by formal language as follows:" (www.itu.int/ITU-T/formal-language/<blocked::http://www.itu.int/ITU-T/formal-language/>). And they are listing ASN.1, XML, MIB/PIB, LDIF and GDMO databases.

In Recommendation Z.110 there are definitions on this topic:
3.1.2 formal description technique (FDT): A specification technique based on a technical language using rigorous and unambiguous rules both with respect to developing expressions in the language (formal syntax) and interpreting the meaning of these expressions (formal semantics). The main FDTs recommended by ITU-T are ASN.1 [b-ITU-T X.680 series], TTCN-2 [b-ITU-T X.292], TTCN‑3 [b-ITU‑T Z.161] to [b-ITU-T Z.170], SDL-2000 [b-ITU-T Z.100] to [b-ITU-T Z.106], SDL-2000 combined with UML [b-ITU‑T Z.109], MSC [b-ITU-T Z.120] and [b-ITU-T Z.121] and URN [b‑ITU‑T Z.150] and [b-ITU‑T Z.151].
3.1.3 natural language description: An example of an informal description technique using one of the languages used by ITU‑T to publish Recommendations. It may be supplemented with mathematical and other accepted notation, figures, etc.

So, ITU-T is listing TTCN-3 explicitly ...

This is my two cents.

BR,

________________________________
From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Theofanis Vassiliou-Gioles
Sent: 2010-június-29 10:33
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Re: TTCN-3 as a formal language

Hi Claude,

hmmm. I slightly disagree.
Reading the definition it says:

to model the syntax of a programming … language
Well the syntax is modeled using EBNF. And you can work "mathematically" on this model.

A formal language normally has formally defined semantics
Well the definition(s) do not say this. ;-)

The rest (static and operational semantics) is also according to the wikipedia definition an add-on to a formal language.

Furthermore, I believe that for TTCN-3 you could define a mathematical model both for the static and the operational semantics, with the exception of external functions.

So I come to a slightly different conclusion:
a) TTCN-3 is a formal language
b) TTCN-3 has no formal semantics (yet) defined.

As (a) does not require (b) and the original question was:
“Is TTCN-3 is a formal language?”
I would say: yes, it is.

Other comments?

Best regards,
Theo

PS: The inclusion of ASN.1, XML, etc does not influence the properties of the TTCN-3 language itself, as they are mapped to dedicated TTCN-3 constructs. So basically any analysis etc. work on TTCN-3 only. I admit that this is "slightly" different for external functions. :-(

Am 28.06.2010 um 20:16 schrieb Claude Desroches:

Hi Sergio, Theo,
There are several ‘diverging’ definitions for the term ‘formal language’. Which one is the correct one? ☺
Theo referenced the Wikipedia definition.
Here is another taken from the McGraw-Hill dictionary: encyclopedia2.thefreedictionary.com/formal+language
formal language [¦fȯr·məl ′laŋ·gwij] (computer science)
An abstract mathematical object used to model the syntax of a programming or natural language.
McGraw-Hill Dictionary of Scientific & Technical Terms, 6E, Copyright © 2003 by The McGraw-Hill Companies, Inc.
Based on the above definition one could immediately conclude that TTCN-3 is not a formal language since there is no mathematical object specifying its syntax, nor its semantics (although Part ES-2201873-4 of the standards does offer informal flow graphs). Can static semantics be mathematically formalized?
TTCN-2 and TTCN-3 are described using:
Þ a EBNF ( a deterministic context free grammar (Chomsky Type-2))?
Þ semantics (associating meaning to syntax)
o static semantics ( described using English prose (natural languages tend to be ambiguous…) and
o operational/dynamic semantics (execution behaviour),
NOTE: TTCN-3 static semantics are defined in Annex A of ES 201 873-1 (Core Notation)
Operational semantics are defined in ES 201 873-4 ( Operational Semantics)
Neither TTCN-2, nor TTCN-3 is defined using mathematical model(s). A formal language normally has formally defined semantics which allow for formal (read mathematical) verification (proof of correctness).
Wikipedia defines “Formal semantics of programming languages” as follows: en.wikipedia.org/wiki/Formal_semantics_of_programming_languages
Based on the Wikipedia description of operational semantics, for TTCN-3 to be a formal language, the operational semantics would need to be described using a mathematical formalism such as predicate logic, an abstract machine or something else.
Some food for thought: ES-201-873-4 describes the operational semantics of TTCN-3. Section 4 Introduction, states:
“NOTE: The mapping of TTCN-3 statements onto flow graphs is an informal step and is not defined by using the
BNF rules in ES 201 873-1 [1]. The reason for this is that the BNF rules are not optimal for an intuitive
mapping because several static semantic rules are coded into BNF rules in order to allow static semantic
checks during the syntax check.”
Further, TTCN-3 allows the use of ASN.1, IDL, XSD, and external functions written in whatever programming language.
To answer the question: “Is TTCN-3 is a formal language?” No.
“A penny for your thoughts, and two cents for your opinion.”
Those were my two cents + a penny’s worth of opinion. ☺
Cheers,
Claude
PS: Further, TTCN-2 and TTCN-3 are not strongly typed.

Blukaktus Communications phone: +49 (0)30 9606 7986

Edinburger Strasse 39 fax: +49 (0)30 9606 7987

13349 Berlin mobile: +49 (0)174 701 6792

email: This email address is being protected from spambots. You need JavaScript enabled to view it.<This email address is being protected from spambots. You need JavaScript enabled to view it.>

________________________________
From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Sergio Lobato López
Sent: 28 June 2010 13:18
To: This email address is being protected from spambots. You need JavaScript enabled to view it.<This email address is being protected from spambots. You need JavaScript enabled to view it.>
Subject: TTCN-3 as a formal language
Hi everyone,
I have had some discussions with colleagues about if TTCN-3 is considered a formal language or not, in the same way that TTCN-2 was considered a formal notation. So I would like to extend our discussion to the TTCN-3 community, in order to enumerate some of the features which make TTCN-3 to be considered as formal or not.
Thanks in advance for your comments,
Best Regards
Sergio


__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5233 (20100628) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

www.eset.com<www.eset.com/>
The administrator has disabled public write access.

TTCN-3 as a formal language 05 Jul 2010 08:23 #7678

Hi again,

So, I can see a similar scenario as I found with my colleagues. From my personal point of view, we can separate a mathematical definition, and on the other hand the conformance testing.

If we consider, strictly, a mathematical definition, perhaps TTCN-3 is not the best language to be defined as formal, but TTCN-3, is a language oriented for testing, so we should study TTCN-3 in this way.

When we talk about FDT, we must also consider the FMCT (Formal Method in Conformance Testing, defined in the OSI conformance testing project 1.21.54 at the document FMCT94), I think that TTCN-3 might be considered as formal language (whenever nobody tries to write down a test case based on TSOs, off course J) .



BR,

Sergio



De: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] En nombre de Roland Gecse
Enviado el: martes, 29 de junio de 2010 12:20
Para: This email address is being protected from spambots. You need JavaScript enabled to view it.
Asunto: Re: TTCN-3 as a formal language



Hello,



Let me share you my personal opinion!



I agree with Claude that its not only the syntax that makes the FDT! Probably that is why TTCN-3 Core Language is complemented with the Operational Semantics, which intends to provide a ``formal'' description of the natural language specification.



However, quoting Z.110, I believe that both TTCN and TTCN-3 misses the most important objectives of FDTs:

4.1 Objectives of an FDT

The goal of an FDT is to permit precise and unambiguous specifications. FDTs are also intended to satisfy objectives such as:

– a basis for analysing specifications for correctness, efficiency, etc. (by simulation, verification or systematic test derivation);

– a basis for determining completeness of specifications;

– a basis for validation of specifications against the requirement of the Recommendation;

– a basis for determining conformance of implementations to Recommendations;

– a basis for determining consistency of specifications between Recommendations;

– a basis for implementation support.

I recall we had some issue regarding the exact meaning of a certain TTCN construct (, which I do not remember any more). Not to speak about the TSOs! Anyway, it caused some ATS to work differently on different tools. So I clearly believe that TTCN is strictly _not_ an FDT by any means.



TTCN-3 started much better in this sense but let's face it: TTCN-3 is over 10 years old and still far from preciseness, unambiguity, correctness and completeness. IMHO, for each fix or new feature introduced into the language we get a magnitude more of additional inconsistencies. I can only conclude that TTCN-3 is a ``wannabe'' FDT. Or did anyone ever verified any part of the specification?



Believe me I would be really happy if TTCN-3 was a FDT in deed! So please make it precise, concise, unambiguous and complete! Please make it a FDT! And do it fast!



Best Regards,

Roland.





_____

From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of György Réthy
Sent: Tuesday, June 29, 2010 11:32
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Re: TTCN-3 as a formal language

Hi,



I cannot make the same conclusion from the sentence quoted by Claude than he did. The sentence speaks about the SYNTAX of the language, so conclude something regarding the semantics is ... hmmm... at least misleading. Regarding the syntaxt we have a mathematic model, it is the BNF.



But I think that starting discussing the topic in terms of mathematical models would mislead the whole discussion. The original question was: "if TTCN-3 is considered a formal language or not, in the same way that TTCN-2 was considered a formal notation." I agree with Theo: if TTCN-2 is a formal language, TTCN-3 is a formal language too. It has everything TTCN-2 had (in fact more).



But we shall not forget that a question come from a standardization organization (as opposed to an academic institute on mathematics). So, I would even re-formulate the question: is TTCN-3 suitable for the formal specification of standards (as opposed e.g. to a natural language + tables description)?



So, let's look what e.g. ITU is saying on this respect: "Formal description techniques are extensively used in ITU-T Recommendations to describe system behaviour, structure and data, in order to produce precise and unambiguous formal specifications, which are essential to the quality of the Recommendations and their implementations. Those descriptions are organized by formal language as follows:" ( <blocked::http://www.itu.int/ITU-T/formal-language/> www.itu.int/ITU-T/formal-language/). And they are listing ASN.1, XML, MIB/PIB, LDIF and GDMO databases.



In Recommendation Z.110 there are definitions on this topic:

3.1.2 formal description technique (FDT): A specification technique based on a technical language using rigorous and unambiguous rules both with respect to developing expressions in the language (formal syntax) and interpreting the meaning of these expressions (formal semantics). The main FDTs recommended by ITU-T are ASN.1 [b-ITU-T X.680 series], TTCN-2 [b-ITU-T X.292], TTCN‑3 [b-ITU‑T Z.161] to [b-ITU-T Z.170], SDL-2000 [b-ITU-T Z.100] to [b-ITU-T Z.106], SDL-2000 combined with UML [b-ITU‑T Z.109], MSC [b-ITU-T Z.120] and [b-ITU-T Z.121] and URN [b‑ITU‑T Z.150] and [b-ITU‑T Z.151].

3.1.3 natural language description: An example of an informal description technique using one of the languages used by ITU‑T to publish Recommendations. It may be supplemented with mathematical and other accepted notation, figures, etc.



So, ITU-T is listing TTCN-3 explicitly ...



This is my two cents.



BR,




_____


From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Theofanis Vassiliou-Gioles
Sent: 2010-június-29 10:33
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Re: TTCN-3 as a formal language

Hi Claude,



hmmm. I slightly disagree.

Reading the definition it says:



to model the syntax of a programming … language

Well the syntax is modeled using EBNF. And you can work "mathematically" on this model.



A formal language normally has formally defined semantics

Well the definition(s) do not say this. ;-)



The rest (static and operational semantics) is also according to the wikipedia definition an add-on to a formal language.



Furthermore, I believe that for TTCN-3 you could define a mathematical model both for the static and the operational semantics, with the exception of external functions.



So I come to a slightly different conclusion:

a) TTCN-3 is a formal language

b) TTCN-3 has no formal semantics (yet) defined.



As (a) does not require (b) and the original question was:

“Is TTCN-3 is a formal language?”

I would say: yes, it is.



Other comments?



Best regards,

Theo



PS: The inclusion of ASN.1, XML, etc does not influence the properties of the TTCN-3 language itself, as they are mapped to dedicated TTCN-3 constructs. So basically any analysis etc. work on TTCN-3 only. I admit that this is "slightly" different for external functions. :-(



Am 28.06.2010 um 20:16 schrieb Claude Desroches:





Hi Sergio, Theo,



There are several ‘diverging’ definitions for the term ‘formal language’. Which one is the correct one? J



Theo referenced the Wikipedia definition.



Here is another taken from the McGraw-Hill dictionary: <encyclopedia2.thefreedictionary.com/formal+language> encyclopedia2.thefreedictionary.com/formal+language



formal language [¦fȯr·məl ′laŋ·gwij] (computer science)



An abstract mathematical object used to model the syntax of a programming or natural language.

McGraw-Hill Dictionary of Scientific & Technical Terms, 6E, Copyright © 2003 by The McGraw-Hill Companies, Inc.



Based on the above definition one could immediately conclude that TTCN-3 is not a formal language since there is no mathematical object specifying its syntax, nor its semantics (although Part ES-2201873-4 of the standards does offer informal flow graphs). Can static semantics be mathematically formalized?



TTCN-2 and TTCN-3 are described using:

Þ a EBNF ( a deterministic context free grammar (Chomsky Type-2))?

Þ semantics (associating meaning to syntax)

o static semantics ( described using English prose (natural languages tend to be ambiguous…) and

o operational/dynamic semantics (execution behaviour),



NOTE: TTCN-3 static semantics are defined in Annex A of ES 201 873-1 (Core Notation)

Operational semantics are defined in ES 201 873-4 ( Operational Semantics)



Neither TTCN-2, nor TTCN-3 is defined using mathematical model(s). A formal language normally has formally defined semantics which allow for formal (read mathematical) verification (proof of correctness).



Wikipedia defines “Formal semantics of programming languages” as follows: <en.wikipedia.org/wiki/Formal_semantics_of_programming_languages> en.wikipedia.org/wiki/Formal_semantics_of_programming_languages



Based on the Wikipedia description of operational semantics, for TTCN-3 to be a formal language, the operational semantics would need to be described using a mathematical formalism such as predicate logic, an abstract machine or something else.



Some food for thought: ES-201-873-4 describes the operational semantics of TTCN-3. Section 4 Introduction, states:



“NOTE: The mapping of TTCN-3 statements onto flow graphs is an informal step and is not defined by using the

BNF rules in ES 201 873-1 [1]. The reason for this is that the BNF rules are not optimal for an intuitive

mapping because several static semantic rules are coded into BNF rules in order to allow static semantic

checks during the syntax check.”



Further, TTCN-3 allows the use of ASN.1, IDL, XSD, and external functions written in whatever programming language.



To answer the question: “Is TTCN-3 is a formal language?” No.



“A penny for your thoughts, and two cents for your opinion.”



Those were my two cents + a penny’s worth of opinion. J





Cheers,

Claude





PS: Further, TTCN-2 and TTCN-3 are not strongly typed.





Blukaktus Communications phone: +49 (0)30 9606 7986

Edinburger Strasse 39 fax: +49 (0)30 9606 7987

13349 Berlin mobile: +49 (0)174 701 6792



email: <This email address is being protected from spambots. You need JavaScript enabled to view it.> This email address is being protected from spambots. You need JavaScript enabled to view it.








_____


From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Sergio Lobato López
Sent: 28 June 2010 13:18
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: TTCN-3 as a formal language



Hi everyone,

I have had some discussions with colleagues about if TTCN-3 is considered a formal language or not, in the same way that TTCN-2 was considered a formal notation. So I would like to extend our discussion to the TTCN-3 community, in order to enumerate some of the features which make TTCN-3 to be considered as formal or not.



Thanks in advance for your comments,

Best Regards

Sergio



__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5233 (20100628) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

www.eset.com <www.eset.com/>





__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5236 (20100629) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

www.eset.com
The administrator has disabled public write access.

TTCN-3 as a formal language 05 Jul 2010 13:13 #7679

Hi Sergio,



As soon as external functions (written in anything other than TTCN-3) are considered, then all bets are off and TTCN-3 is no longer considered an FDT, unless of course the ‚external’ implementation language is also a formally defined language.



However, in all honesty, TTCN-3 even if it is a formal language, has never been implemented as such. All too suppliers translate TTCN-3 into Java, C, C++, C# or some other high level language which themselves are not formal implementation languages. To make matters even muddier, you then need to deal with hardware architectures and operating systems which also are not formally defined.



In effect, what does the discussion as to ‘whether TTCN-3 is or is not a formally defined language’ bring us?



I wonder myself.



Thanks for the input.



Cheers,

Claude.





_____

From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Sergio Lobato López
Sent: 05 July 2010 10:24
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Re: TTCN-3 as a formal language



Hi again,

So, I can see a similar scenario as I found with my colleagues. From my personal point of view, we can separate a mathematical definition, and on the other hand the conformance testing.

If we consider, strictly, a mathematical definition, perhaps TTCN-3 is not the best language to be defined as formal, but TTCN-3, is a language oriented for testing, so we should study TTCN-3 in this way.

When we talk about FDT, we must also consider the FMCT (Formal Method in Conformance Testing, defined in the OSI conformance testing project 1.21.54 at the document FMCT94), I think that TTCN-3 might be considered as formal language (whenever nobody tries to write down a test case based on TSOs, off course :-)) .



BR,

Sergio



De: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] En nombre de Roland Gecse
Enviado el: martes, 29 de junio de 2010 12:20
Para: This email address is being protected from spambots. You need JavaScript enabled to view it.
Asunto: Re: TTCN-3 as a formal language



Hello,



Let me share you my personal opinion!



I agree with Claude that its not only the syntax that makes the FDT! Probably that is why TTCN-3 Core Language is complemented with the Operational Semantics, which intends to provide a ``formal'' description of the natural language specification.



However, quoting Z.110, I believe that both TTCN and TTCN-3 misses the most important objectives of FDTs:

4.1 Objectives of an FDT

The goal of an FDT is to permit precise and unambiguous specifications. FDTs are also intended to satisfy objectives such as:

– a basis for analysing specifications for correctness, efficiency, etc. (by simulation, verification or systematic test derivation);

– a basis for determining completeness of specifications;

– a basis for validation of specifications against the requirement of the Recommendation;

– a basis for determining conformance of implementations to Recommendations;

– a basis for determining consistency of specifications between Recommendations;

– a basis for implementation support.

I recall we had some issue regarding the exact meaning of a certain TTCN construct (, which I do not remember any more). Not to speak about the TSOs! Anyway, it caused some ATS to work differently on different tools. So I clearly believe that TTCN is strictly _not_ an FDT by any means.



TTCN-3 started much better in this sense but let's face it: TTCN-3 is over 10 years old and still far from preciseness, unambiguity, correctness and completeness. IMHO, for each fix or new feature introduced into the language we get a magnitude more of additional inconsistencies. I can only conclude that TTCN-3 is a ``wannabe'' FDT. Or did anyone ever verified any part of the specification?



Believe me I would be really happy if TTCN-3 was a FDT in deed! So please make it precise, concise, unambiguous and complete! Please make it a FDT! And do it fast!



Best Regards,

Roland.





_____

From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of György Réthy
Sent: Tuesday, June 29, 2010 11:32
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Re: TTCN-3 as a formal language

Hi,



I cannot make the same conclusion from the sentence quoted by Claude than he did. The sentence speaks about the SYNTAX of the language, so conclude something regarding the semantics is ... hmmm... at least misleading. Regarding the syntaxt we have a mathematic model, it is the BNF.



But I think that starting discussing the topic in terms of mathematical models would mislead the whole discussion. The original question was: "if TTCN-3 is considered a formal language or not, in the same way that TTCN-2 was considered a formal notation." I agree with Theo: if TTCN-2 is a formal language, TTCN-3 is a formal language too. It has everything TTCN-2 had (in fact more).



But we shall not forget that a question come from a standardization organization (as opposed to an academic institute on mathematics). So, I would even re-formulate the question: is TTCN-3 suitable for the formal specification of standards (as opposed e.g. to a natural language + tables description)?



So, let's look what e.g. ITU is saying on this respect: "Formal description techniques are extensively used in ITU-T Recommendations to describe system behaviour, structure and data, in order to produce precise and unambiguous formal specifications, which are essential to the quality of the Recommendations and their implementations. Those descriptions are organized by formal language as follows:" ( <blocked::http://www.itu.int/ITU-T/formal-language/> www.itu.int/ITU-T/formal-language/). And they are listing ASN.1, XML, MIB/PIB, LDIF and GDMO databases.



In Recommendation Z.110 there are definitions on this topic:

3.1.2 formal description technique (FDT): A specification technique based on a technical language using rigorous and unambiguous rules both with respect to developing expressions in the language (formal syntax) and interpreting the meaning of these expressions (formal semantics). The main FDTs recommended by ITU-T are ASN.1 [b-ITU-T X.680 series], TTCN-2 [b-ITU-T X.292], TTCN‑3 [b-ITU‑T Z.161] to [b-ITU-T Z.170], SDL-2000 [b-ITU-T Z.100] to [b-ITU-T Z.106], SDL-2000 combined with UML [b-ITU‑T Z.109], MSC [b-ITU-T Z.120] and [b-ITU-T Z.121] and URN [b‑ITU‑T Z.150] and [b-ITU‑T Z.151].

3.1.3 natural language description: An example of an informal description technique using one of the languages used by ITU‑T to publish Recommendations. It may be supplemented with mathematical and other accepted notation, figures, etc.



So, ITU-T is listing TTCN-3 explicitly ...



This is my two cents.



BR,




_____


From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Theofanis Vassiliou-Gioles
Sent: 2010-június-29 10:33
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Re: TTCN-3 as a formal language

Hi Claude,



hmmm. I slightly disagree.

Reading the definition it says:



to model the syntax of a programming … language

Well the syntax is modeled using EBNF. And you can work "mathematically" on this model.



A formal language normally has formally defined semantics

Well the definition(s) do not say this. ;-)



The rest (static and operational semantics) is also according to the wikipedia definition an add-on to a formal language.



Furthermore, I believe that for TTCN-3 you could define a mathematical model both for the static and the operational semantics, with the exception of external functions.



So I come to a slightly different conclusion:

a) TTCN-3 is a formal language

b) TTCN-3 has no formal semantics (yet) defined.



As (a) does not require (b) and the original question was:

“Is TTCN-3 is a formal language?”

I would say: yes, it is.



Other comments?



Best regards,

Theo



PS: The inclusion of ASN.1, XML, etc does not influence the properties of the TTCN-3 language itself, as they are mapped to dedicated TTCN-3 constructs. So basically any analysis etc. work on TTCN-3 only. I admit that this is "slightly" different for external functions. :-(



Am 28.06.2010 um 20:16 schrieb Claude Desroches:



Hi Sergio, Theo,



There are several ‘diverging’ definitions for the term ‘formal language’. Which one is the correct one? :-)



Theo referenced the Wikipedia definition.



Here is another taken from the McGraw-Hill dictionary: <encyclopedia2.thefreedictionary.com/formal+language> encyclopedia2.thefreedictionary.com/formal+language



formal language [¦fȯr·məl ′laŋ·gwij] (computer science)



An abstract mathematical object used to model the syntax of a programming or natural language.

McGraw-Hill Dictionary of Scientific & Technical Terms, 6E, Copyright © 2003 by The McGraw-Hill Companies, Inc.



Based on the above definition one could immediately conclude that TTCN-3 is not a formal language since there is no mathematical object specifying its syntax, nor its semantics (although Part ES-2201873-4 of the standards does offer informal flow graphs). Can static semantics be mathematically formalized?



TTCN-2 and TTCN-3 are described using:

* a EBNF ( a deterministic context free grammar (Chomsky Type-2))?

* semantics (associating meaning to syntax)

o static semantics ( described using English prose (natural languages tend to be ambiguous…) and

o operational/dynamic semantics (execution behaviour),



NOTE: TTCN-3 static semantics are defined in Annex A of ES 201 873-1 (Core Notation)

Operational semantics are defined in ES 201 873-4 ( Operational Semantics)



Neither TTCN-2, nor TTCN-3 is defined using mathematical model(s). A formal language normally has formally defined semantics which allow for formal (read mathematical) verification (proof of correctness).



Wikipedia defines “Formal semantics of programming languages” as follows: <en.wikipedia.org/wiki/Formal_semantics_of_programming_languages> en.wikipedia.org/wiki/Formal_semantics_of_programming_languages



Based on the Wikipedia description of operational semantics, for TTCN-3 to be a formal language, the operational semantics would need to be described using a mathematical formalism such as predicate logic, an abstract machine or something else.



Some food for thought: ES-201-873-4 describes the operational semantics of TTCN-3. Section 4 Introduction, states:



“NOTE: The mapping of TTCN-3 statements onto flow graphs is an informal step and is not defined by using the

BNF rules in ES 201 873-1 [1]. The reason for this is that the BNF rules are not optimal for an intuitive

mapping because several static semantic rules are coded into BNF rules in order to allow static semantic

checks during the syntax check.”



Further, TTCN-3 allows the use of ASN.1, IDL, XSD, and external functions written in whatever programming language.



To answer the question: “Is TTCN-3 is a formal language?” No.



“A penny for your thoughts, and two cents for your opinion.”



Those were my two cents + a penny’s worth of opinion. :-)





Cheers,

Claude





PS: Further, TTCN-2 and TTCN-3 are not strongly typed.





Blukaktus Communications phone: +49 (0)30 9606 7986

Edinburger Strasse 39 fax: +49 (0)30 9606 7987

13349 Berlin mobile: +49 (0)174 701 6792



email: <This email address is being protected from spambots. You need JavaScript enabled to view it.> This email address is being protected from spambots. You need JavaScript enabled to view it.








_____


From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Sergio Lobato López
Sent: 28 June 2010 13:18
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: TTCN-3 as a formal language



Hi everyone,

I have had some discussions with colleagues about if TTCN-3 is considered a formal language or not, in the same way that TTCN-2 was considered a formal notation. So I would like to extend our discussion to the TTCN-3 community, in order to enumerate some of the features which make TTCN-3 to be considered as formal or not.



Thanks in advance for your comments,

Best Regards

Sergio



__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5233 (20100628) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

www.eset.com <www.eset.com/>





__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5236 (20100629) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

www.eset.com



__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5251 (20100704) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

www.eset.com
The administrator has disabled public write access.

TTCN-3 as a formal language 05 Jul 2010 14:06 #7680

Hi Claude,

just small correction to your statement:

"All tool suppliers translate TTCN-3 into Java, C, C++, C# or some other high level language..."

this is not true, Elvior TTCN-3 tool TestCast compiles TTCN-3 code directly into byte code, not any middle high level programming language :).

BR,
Andrus


Original Message
From: Claude Desroches
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Sent: Monday, July 05, 2010 4:13 PM
Subject: Re: TTCN-3 as a formal language




Hi Sergio,



As soon as external functions (written in anything other than TTCN-3) are considered, then all bets are off and TTCN-3 is no longer considered an FDT, unless of course the ‚external’ implementation language is also a formally defined language.



However, in all honesty, TTCN-3 even if it is a formal language, has never been implemented as such. All too suppliers translate TTCN-3 into Java, C, C++, C# or some other high level language which themselves are not formal implementation languages. To make matters even muddier, you then need to deal with hardware architectures and operating systems which also are not formally defined.



In effect, what does the discussion as to ‘whether TTCN-3 is or is not a formally defined language’ bring us?



I wonder myself.



Thanks for the input.



Cheers,

Claude.







From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Sergio Lobato López
Sent: 05 July 2010 10:24
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Re: TTCN-3 as a formal language



Hi again,

So, I can see a similar scenario as I found with my colleagues. From my personal point of view, we can separate a mathematical definition, and on the other hand the conformance testing.

If we consider, strictly, a mathematical definition, perhaps TTCN-3 is not the best language to be defined as formal, but TTCN-3, is a language oriented for testing, so we should study TTCN-3 in this way.

When we talk about FDT, we must also consider the FMCT (Formal Method in Conformance Testing, defined in the OSI conformance testing project 1.21.54 at the document FMCT94), I think that TTCN-3 might be considered as formal language (whenever nobody tries to write down a test case based on TSOs, off course J) .



BR,

Sergio



De: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] En nombre de Roland Gecse
Enviado el: martes, 29 de junio de 2010 12:20
Para: This email address is being protected from spambots. You need JavaScript enabled to view it.
Asunto: Re: TTCN-3 as a formal language



Hello,



Let me share you my personal opinion!



I agree with Claude that its not only the syntax that makes the FDT! Probably that is why TTCN-3 Core Language is complemented with the Operational Semantics, which intends to provide a ``formal'' description of the natural language specification.



However, quoting Z.110, I believe that both TTCN and TTCN-3 misses the most important objectives of FDTs:

4.1 Objectives of an FDT

The goal of an FDT is to permit precise and unambiguous specifications. FDTs are also intended to satisfy objectives such as:

– a basis for analysing specifications for correctness, efficiency, etc. (by simulation, verification or systematic test derivation);

– a basis for determining completeness of specifications;

– a basis for validation of specifications against the requirement of the Recommendation;

– a basis for determining conformance of implementations to Recommendations;

– a basis for determining consistency of specifications between Recommendations;

– a basis for implementation support.

I recall we had some issue regarding the exact meaning of a certain TTCN construct (, which I do not remember any more). Not to speak about the TSOs! Anyway, it caused some ATS to work differently on different tools. So I clearly believe that TTCN is strictly _not_ an FDT by any means.



TTCN-3 started much better in this sense but let's face it: TTCN-3 is over 10 years old and still far from preciseness, unambiguity, correctness and completeness. IMHO, for each fix or new feature introduced into the language we get a magnitude more of additional inconsistencies. I can only conclude that TTCN-3 is a ``wannabe'' FDT. Or did anyone ever verified any part of the specification?



Believe me I would be really happy if TTCN-3 was a FDT in deed! So please make it precise, concise, unambiguous and complete! Please make it a FDT! And do it fast!



Best Regards,

Roland.







From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of György Réthy
Sent: Tuesday, June 29, 2010 11:32
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Re: TTCN-3 as a formal language

Hi,



I cannot make the same conclusion from the sentence quoted by Claude than he did. The sentence speaks about the SYNTAX of the language, so conclude something regarding the semantics is ... hmmm... at least misleading. Regarding the syntaxt we have a mathematic model, it is the BNF.



But I think that starting discussing the topic in terms of mathematical models would mislead the whole discussion. The original question was: "if TTCN-3 is considered a formal language or not, in the same way that TTCN-2 was considered a formal notation." I agree with Theo: if TTCN-2 is a formal language, TTCN-3 is a formal language too. It has everything TTCN-2 had (in fact more).



But we shall not forget that a question come from a standardization organization (as opposed to an academic institute on mathematics). So, I would even re-formulate the question: is TTCN-3 suitable for the formal specification of standards (as opposed e.g. to a natural language + tables description)?



So, let's look what e.g. ITU is saying on this respect: "Formal description techniques are extensively used in ITU-T Recommendations to describe system behaviour, structure and data, in order to produce precise and unambiguous formal specifications, which are essential to the quality of the Recommendations and their implementations. Those descriptions are organized by formal language as follows:" (www.itu.int/ITU-T/formal-language/). And they are listing ASN.1, XML, MIB/PIB, LDIF and GDMO databases.



In Recommendation Z.110 there are definitions on this topic:

3.1.2 formal description technique (FDT): A specification technique based on a technical language using rigorous and unambiguous rules both with respect to developing expressions in the language (formal syntax) and interpreting the meaning of these expressions (formal semantics). The main FDTs recommended by ITU-T are ASN.1 [b-ITU-T X.680 series], TTCN-2 [b-ITU-T X.292], TTCN‑3 [b-ITU‑T Z.161] to [b-ITU-T Z.170], SDL-2000 [b-ITU-T Z.100] to [b-ITU-T Z.106], SDL-2000 combined with UML [b-ITU‑T Z.109], MSC [b-ITU-T Z.120] and [b-ITU-T Z.121] and URN [b‑ITU‑T Z.150] and [b-ITU‑T Z.151].

3.1.3 natural language description: An example of an informal description technique using one of the languages used by ITU‑T to publish Recommendations. It may be supplemented with mathematical and other accepted notation, figures, etc.



So, ITU-T is listing TTCN-3 explicitly ...



This is my two cents.



BR,





From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Theofanis Vassiliou-Gioles
Sent: 2010-június-29 10:33
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Re: TTCN-3 as a formal language

Hi Claude,



hmmm. I slightly disagree.

Reading the definition it says:



to model the syntax of a programming … language

Well the syntax is modeled using EBNF. And you can work "mathematically" on this model.



A formal language normally has formally defined semantics

Well the definition(s) do not say this. ;-)



The rest (static and operational semantics) is also according to the wikipedia definition an add-on to a formal language.



Furthermore, I believe that for TTCN-3 you could define a mathematical model both for the static and the operational semantics, with the exception of external functions.



So I come to a slightly different conclusion:

a) TTCN-3 is a formal language

b) TTCN-3 has no formal semantics (yet) defined.



As (a) does not require (b) and the original question was:

“Is TTCN-3 is a formal language?”

I would say: yes, it is.



Other comments?



Best regards,

Theo



PS: The inclusion of ASN.1, XML, etc does not influence the properties of the TTCN-3 language itself, as they are mapped to dedicated TTCN-3 constructs. So basically any analysis etc. work on TTCN-3 only. I admit that this is "slightly" different for external functions. :-(



Am 28.06.2010 um 20:16 schrieb Claude Desroches:



Hi Sergio, Theo,



There are several ‘diverging’ definitions for the term ‘formal language’. Which one is the correct one? J



Theo referenced the Wikipedia definition.



Here is another taken from the McGraw-Hill dictionary: encyclopedia2.thefreedictionary.com/formal+language



formal language [¦fȯr·məl ′laŋ·gwij] (computer science)



An abstract mathematical object used to model the syntax of a programming or natural language.

McGraw-Hill Dictionary of Scientific & Technical Terms, 6E, Copyright © 2003 by The McGraw-Hill Companies, Inc.



Based on the above definition one could immediately conclude that TTCN-3 is not a formal language since there is no mathematical object specifying its syntax, nor its semantics (although Part ES-2201873-4 of the standards does offer informal flow graphs). Can static semantics be mathematically formalized?



TTCN-2 and TTCN-3 are described using:

Þ a EBNF ( a deterministic context free grammar (Chomsky Type-2))?

Þ semantics (associating meaning to syntax)

o static semantics ( described using English prose (natural languages tend to be ambiguous…) and

o operational/dynamic semantics (execution behaviour),



NOTE: TTCN-3 static semantics are defined in Annex A of ES 201 873-1 (Core Notation)

Operational semantics are defined in ES 201 873-4 ( Operational Semantics)



Neither TTCN-2, nor TTCN-3 is defined using mathematical model(s). A formal language normally has formally defined semantics which allow for formal (read mathematical) verification (proof of correctness).



Wikipedia defines “Formal semantics of programming languages” as follows: en.wikipedia.org/wiki/Formal_semantics_of_programming_languages



Based on the Wikipedia description of operational semantics, for TTCN-3 to be a formal language, the operational semantics would need to be described using a mathematical formalism such as predicate logic, an abstract machine or something else.



Some food for thought: ES-201-873-4 describes the operational semantics of TTCN-3. Section 4 Introduction, states:



“NOTE: The mapping of TTCN-3 statements onto flow graphs is an informal step and is not defined by using the

BNF rules in ES 201 873-1 [1]. The reason for this is that the BNF rules are not optimal for an intuitive

mapping because several static semantic rules are coded into BNF rules in order to allow static semantic

checks during the syntax check.”



Further, TTCN-3 allows the use of ASN.1, IDL, XSD, and external functions written in whatever programming language.



To answer the question: “Is TTCN-3 is a formal language?” No.



“A penny for your thoughts, and two cents for your opinion.”



Those were my two cents + a penny’s worth of opinion. J





Cheers,

Claude





PS: Further, TTCN-2 and TTCN-3 are not strongly typed.





Blukaktus Communications phone: +49 (0)30 9606 7986

Edinburger Strasse 39 fax: +49 (0)30 9606 7987

13349 Berlin mobile: +49 (0)174 701 6792



email: This email address is being protected from spambots. You need JavaScript enabled to view it.









From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Sergio Lobato López
Sent: 28 June 2010 13:18
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: TTCN-3 as a formal language



Hi everyone,

I have had some discussions with colleagues about if TTCN-3 is considered a formal language or not, in the same way that TTCN-2 was considered a formal notation. So I would like to extend our discussion to the TTCN-3 community, in order to enumerate some of the features which make TTCN-3 to be considered as formal or not.



Thanks in advance for your comments,

Best Regards

Sergio



__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5233 (20100628) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

www.eset.com





__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5236 (20100629) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

www.eset.com



__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5251 (20100704) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

www.eset.com
The administrator has disabled public write access.

TTCN-3 as a formal language 05 Jul 2010 20:39 #7681

Hi Andrus,



Thanks for the information.



Claude.





_____

From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Andrus Lehtmets (gmail)
Sent: 05 July 2010 16:06
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Re: TTCN-3 as a formal language



Hi Claude,



just small correction to your statement:



"All tool suppliers translate TTCN-3 into Java, C, C++, C# or some other high level language..."



this is not true, Elvior TTCN-3 tool TestCast compiles TTCN-3 code directly into byte code, not any middle high level programming language :).



BR,

Andrus





Original Message

From: Claude Desroches <This email address is being protected from spambots. You need JavaScript enabled to view it.>

To: This email address is being protected from spambots. You need JavaScript enabled to view it.

Sent: Monday, July 05, 2010 4:13 PM

Subject: Re: TTCN-3 as a formal language





Hi Sergio,



As soon as external functions (written in anything other than TTCN-3) are considered, then all bets are off and TTCN-3 is no longer considered an FDT, unless of course the ‚external’ implementation language is also a formally defined language.



However, in all honesty, TTCN-3 even if it is a formal language, has never been implemented as such. All too suppliers translate TTCN-3 into Java, C, C++, C# or some other high level language which themselves are not formal implementation languages. To make matters even muddier, you then need to deal with hardware architectures and operating systems which also are not formally defined.



In effect, what does the discussion as to ‘whether TTCN-3 is or is not a formally defined language’ bring us?



I wonder myself.



Thanks for the input.



Cheers,

Claude.






_____


From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Sergio Lobato López
Sent: 05 July 2010 10:24
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Re: TTCN-3 as a formal language



Hi again,

So, I can see a similar scenario as I found with my colleagues. From my personal point of view, we can separate a mathematical definition, and on the other hand the conformance testing.

If we consider, strictly, a mathematical definition, perhaps TTCN-3 is not the best language to be defined as formal, but TTCN-3, is a language oriented for testing, so we should study TTCN-3 in this way.

When we talk about FDT, we must also consider the FMCT (Formal Method in Conformance Testing, defined in the OSI conformance testing project 1.21.54 at the document FMCT94), I think that TTCN-3 might be considered as formal language (whenever nobody tries to write down a test case based on TSOs, off course :-)) .



BR,

Sergio



De: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] En nombre de Roland Gecse
Enviado el: martes, 29 de junio de 2010 12:20
Para: This email address is being protected from spambots. You need JavaScript enabled to view it.
Asunto: Re: TTCN-3 as a formal language



Hello,



Let me share you my personal opinion!



I agree with Claude that its not only the syntax that makes the FDT! Probably that is why TTCN-3 Core Language is complemented with the Operational Semantics, which intends to provide a ``formal'' description of the natural language specification.



However, quoting Z.110, I believe that both TTCN and TTCN-3 misses the most important objectives of FDTs:

4.1 Objectives of an FDT

The goal of an FDT is to permit precise and unambiguous specifications. FDTs are also intended to satisfy objectives such as:

– a basis for analysing specifications for correctness, efficiency, etc. (by simulation, verification or systematic test derivation);

– a basis for determining completeness of specifications;

– a basis for validation of specifications against the requirement of the Recommendation;

– a basis for determining conformance of implementations to Recommendations;

– a basis for determining consistency of specifications between Recommendations;

– a basis for implementation support.

I recall we had some issue regarding the exact meaning of a certain TTCN construct (, which I do not remember any more). Not to speak about the TSOs! Anyway, it caused some ATS to work differently on different tools. So I clearly believe that TTCN is strictly _not_ an FDT by any means.



TTCN-3 started much better in this sense but let's face it: TTCN-3 is over 10 years old and still far from preciseness, unambiguity, correctness and completeness. IMHO, for each fix or new feature introduced into the language we get a magnitude more of additional inconsistencies. I can only conclude that TTCN-3 is a ``wannabe'' FDT. Or did anyone ever verified any part of the specification?



Believe me I would be really happy if TTCN-3 was a FDT in deed! So please make it precise, concise, unambiguous and complete! Please make it a FDT! And do it fast!



Best Regards,

Roland.






_____


From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of György Réthy
Sent: Tuesday, June 29, 2010 11:32
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Re: TTCN-3 as a formal language

Hi,



I cannot make the same conclusion from the sentence quoted by Claude than he did. The sentence speaks about the SYNTAX of the language, so conclude something regarding the semantics is ... hmmm... at least misleading. Regarding the syntaxt we have a mathematic model, it is the BNF.



But I think that starting discussing the topic in terms of mathematical models would mislead the whole discussion. The original question was: "if TTCN-3 is considered a formal language or not, in the same way that TTCN-2 was considered a formal notation." I agree with Theo: if TTCN-2 is a formal language, TTCN-3 is a formal language too. It has everything TTCN-2 had (in fact more).



But we shall not forget that a question come from a standardization organization (as opposed to an academic institute on mathematics). So, I would even re-formulate the question: is TTCN-3 suitable for the formal specification of standards (as opposed e.g. to a natural language + tables description)?



So, let's look what e.g. ITU is saying on this respect: "Formal description techniques are extensively used in ITU-T Recommendations to describe system behaviour, structure and data, in order to produce precise and unambiguous formal specifications, which are essential to the quality of the Recommendations and their implementations. Those descriptions are organized by formal language as follows:" ( <blocked::http://www.itu.int/ITU-T/formal-language/> www.itu.int/ITU-T/formal-language/). And they are listing ASN.1, XML, MIB/PIB, LDIF and GDMO databases.



In Recommendation Z.110 there are definitions on this topic:

3.1.2 formal description technique (FDT): A specification technique based on a technical language using rigorous and unambiguous rules both with respect to developing expressions in the language (formal syntax) and interpreting the meaning of these expressions (formal semantics). The main FDTs recommended by ITU-T are ASN.1 [b-ITU-T X.680 series], TTCN-2 [b-ITU-T X.292], TTCN‑3 [b-ITU‑T Z.161] to [b-ITU-T Z.170], SDL-2000 [b-ITU-T Z.100] to [b-ITU-T Z.106], SDL-2000 combined with UML [b-ITU‑T Z.109], MSC [b-ITU-T Z.120] and [b-ITU-T Z.121] and URN [b‑ITU‑T Z.150] and [b-ITU‑T Z.151].

3.1.3 natural language description: An example of an informal description technique using one of the languages used by ITU‑T to publish Recommendations. It may be supplemented with mathematical and other accepted notation, figures, etc.



So, ITU-T is listing TTCN-3 explicitly ...



This is my two cents.



BR,




_____


From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Theofanis Vassiliou-Gioles
Sent: 2010-június-29 10:33
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Re: TTCN-3 as a formal language

Hi Claude,



hmmm. I slightly disagree.

Reading the definition it says:



to model the syntax of a programming … language

Well the syntax is modeled using EBNF. And you can work "mathematically" on this model.



A formal language normally has formally defined semantics

Well the definition(s) do not say this. ;-)



The rest (static and operational semantics) is also according to the wikipedia definition an add-on to a formal language.



Furthermore, I believe that for TTCN-3 you could define a mathematical model both for the static and the operational semantics, with the exception of external functions.



So I come to a slightly different conclusion:

a) TTCN-3 is a formal language

b) TTCN-3 has no formal semantics (yet) defined.



As (a) does not require (b) and the original question was:

“Is TTCN-3 is a formal language?”

I would say: yes, it is.



Other comments?



Best regards,

Theo



PS: The inclusion of ASN.1, XML, etc does not influence the properties of the TTCN-3 language itself, as they are mapped to dedicated TTCN-3 constructs. So basically any analysis etc. work on TTCN-3 only. I admit that this is "slightly" different for external functions. :-(



Am 28.06.2010 um 20:16 schrieb Claude Desroches:



Hi Sergio, Theo,



There are several ‘diverging’ definitions for the term ‘formal language’. Which one is the correct one? :-)



Theo referenced the Wikipedia definition.



Here is another taken from the McGraw-Hill dictionary: <encyclopedia2.thefreedictionary.com/formal+language> encyclopedia2.thefreedictionary.com/formal+language



formal language [¦fȯr·məl ′laŋ·gwij] (computer science)



An abstract mathematical object used to model the syntax of a programming or natural language.

McGraw-Hill Dictionary of Scientific & Technical Terms, 6E, Copyright © 2003 by The McGraw-Hill Companies, Inc.



Based on the above definition one could immediately conclude that TTCN-3 is not a formal language since there is no mathematical object specifying its syntax, nor its semantics (although Part ES-2201873-4 of the standards does offer informal flow graphs). Can static semantics be mathematically formalized?



TTCN-2 and TTCN-3 are described using:

* a EBNF ( a deterministic context free grammar (Chomsky Type-2))?

* semantics (associating meaning to syntax)

o static semantics ( described using English prose (natural languages tend to be ambiguous…) and

o operational/dynamic semantics (execution behaviour),



NOTE: TTCN-3 static semantics are defined in Annex A of ES 201 873-1 (Core Notation)

Operational semantics are defined in ES 201 873-4 ( Operational Semantics)



Neither TTCN-2, nor TTCN-3 is defined using mathematical model(s). A formal language normally has formally defined semantics which allow for formal (read mathematical) verification (proof of correctness).



Wikipedia defines “Formal semantics of programming languages” as follows: <en.wikipedia.org/wiki/Formal_semantics_of_programming_languages> en.wikipedia.org/wiki/Formal_semantics_of_programming_languages



Based on the Wikipedia description of operational semantics, for TTCN-3 to be a formal language, the operational semantics would need to be described using a mathematical formalism such as predicate logic, an abstract machine or something else.



Some food for thought: ES-201-873-4 describes the operational semantics of TTCN-3. Section 4 Introduction, states:



“NOTE: The mapping of TTCN-3 statements onto flow graphs is an informal step and is not defined by using the

BNF rules in ES 201 873-1 [1]. The reason for this is that the BNF rules are not optimal for an intuitive

mapping because several static semantic rules are coded into BNF rules in order to allow static semantic

checks during the syntax check.”



Further, TTCN-3 allows the use of ASN.1, IDL, XSD, and external functions written in whatever programming language.



To answer the question: “Is TTCN-3 is a formal language?” No.



“A penny for your thoughts, and two cents for your opinion.”



Those were my two cents + a penny’s worth of opinion. :-)





Cheers,

Claude





PS: Further, TTCN-2 and TTCN-3 are not strongly typed.





Blukaktus Communications phone: +49 (0)30 9606 7986

Edinburger Strasse 39 fax: +49 (0)30 9606 7987

13349 Berlin mobile: +49 (0)174 701 6792



email: <This email address is being protected from spambots. You need JavaScript enabled to view it.> This email address is being protected from spambots. You need JavaScript enabled to view it.








_____


From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Sergio Lobato López
Sent: 28 June 2010 13:18
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: TTCN-3 as a formal language



Hi everyone,

I have had some discussions with colleagues about if TTCN-3 is considered a formal language or not, in the same way that TTCN-2 was considered a formal notation. So I would like to extend our discussion to the TTCN-3 community, in order to enumerate some of the features which make TTCN-3 to be considered as formal or not.



Thanks in advance for your comments,

Best Regards

Sergio



__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5233 (20100628) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

www.eset.com <www.eset.com/>





__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5236 (20100629) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

www.eset.com



__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5251 (20100704) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

www.eset.com
The administrator has disabled public write access.

TTCN-3 as a formal language 06 Jul 2010 10:00 #7682

Hi Claude,

In fact the discussion is if TTCN-3 is considered as a formal language or not. I think it doesn’t matter how compilers or tools use TTCN-3, but a language cannot be defined as formal or not depending on how tools work!! L.

On the other hand, from my personal point of view, TSOs are an extra, I mean, external function shouldn’t be use for any purpose supported by the language (as sending ASPs or PDUs), its purpose should be i.e. pop-up messages or the use of some graphic library, etc., but these cases are applications not related with the formalization of the language.

I agree with Theo and György, considering TTCN-3 as a formal language, but, it is only my opinion.



Here are my euro and two cents J.



Best Regards,

And thanks very much for all your opinions on this topic!!!

Sergio



De: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] En nombre de Claude Desroches
Enviado el: lunes, 05 de julio de 2010 15:14
Para: This email address is being protected from spambots. You need JavaScript enabled to view it.
Asunto: Re: TTCN-3 as a formal language





Hi Sergio,



As soon as external functions (written in anything other than TTCN-3) are considered, then all bets are off and TTCN-3 is no longer considered an FDT, unless of course the ‚external’ implementation language is also a formally defined language.



However, in all honesty, TTCN-3 even if it is a formal language, has never been implemented as such. All too suppliers translate TTCN-3 into Java, C, C++, C# or some other high level language which themselves are not formal implementation languages. To make matters even muddier, you then need to deal with hardware architectures and operating systems which also are not formally defined.



In effect, what does the discussion as to ‘whether TTCN-3 is or is not a formally defined language’ bring us?



I wonder myself.



Thanks for the input.



Cheers,

Claude.





_____

From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Sergio Lobato López
Sent: 05 July 2010 10:24
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Re: TTCN-3 as a formal language



Hi again,

So, I can see a similar scenario as I found with my colleagues. From my personal point of view, we can separate a mathematical definition, and on the other hand the conformance testing.

If we consider, strictly, a mathematical definition, perhaps TTCN-3 is not the best language to be defined as formal, but TTCN-3, is a language oriented for testing, so we should study TTCN-3 in this way.

When we talk about FDT, we must also consider the FMCT (Formal Method in Conformance Testing, defined in the OSI conformance testing project 1.21.54 at the document FMCT94), I think that TTCN-3 might be considered as formal language (whenever nobody tries to write down a test case based on TSOs, off course J) .



BR,

Sergio



De: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] En nombre de Roland Gecse
Enviado el: martes, 29 de junio de 2010 12:20
Para: This email address is being protected from spambots. You need JavaScript enabled to view it.
Asunto: Re: TTCN-3 as a formal language



Hello,



Let me share you my personal opinion!



I agree with Claude that its not only the syntax that makes the FDT! Probably that is why TTCN-3 Core Language is complemented with the Operational Semantics, which intends to provide a ``formal'' description of the natural language specification.



However, quoting Z.110, I believe that both TTCN and TTCN-3 misses the most important objectives of FDTs:

4.1 Objectives of an FDT

The goal of an FDT is to permit precise and unambiguous specifications. FDTs are also intended to satisfy objectives such as:

– a basis for analysing specifications for correctness, efficiency, etc. (by simulation, verification or systematic test derivation);

– a basis for determining completeness of specifications;

– a basis for validation of specifications against the requirement of the Recommendation;

– a basis for determining conformance of implementations to Recommendations;

– a basis for determining consistency of specifications between Recommendations;

– a basis for implementation support.

I recall we had some issue regarding the exact meaning of a certain TTCN construct (, which I do not remember any more). Not to speak about the TSOs! Anyway, it caused some ATS to work differently on different tools. So I clearly believe that TTCN is strictly _not_ an FDT by any means.



TTCN-3 started much better in this sense but let's face it: TTCN-3 is over 10 years old and still far from preciseness, unambiguity, correctness and completeness. IMHO, for each fix or new feature introduced into the language we get a magnitude more of additional inconsistencies. I can only conclude that TTCN-3 is a ``wannabe'' FDT. Or did anyone ever verified any part of the specification?



Believe me I would be really happy if TTCN-3 was a FDT in deed! So please make it precise, concise, unambiguous and complete! Please make it a FDT! And do it fast!



Best Regards,

Roland.





_____

From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of György Réthy
Sent: Tuesday, June 29, 2010 11:32
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Re: TTCN-3 as a formal language

Hi,



I cannot make the same conclusion from the sentence quoted by Claude than he did. The sentence speaks about the SYNTAX of the language, so conclude something regarding the semantics is ... hmmm... at least misleading. Regarding the syntaxt we have a mathematic model, it is the BNF.



But I think that starting discussing the topic in terms of mathematical models would mislead the whole discussion. The original question was: "if TTCN-3 is considered a formal language or not, in the same way that TTCN-2 was considered a formal notation." I agree with Theo: if TTCN-2 is a formal language, TTCN-3 is a formal language too. It has everything TTCN-2 had (in fact more).



But we shall not forget that a question come from a standardization organization (as opposed to an academic institute on mathematics). So, I would even re-formulate the question: is TTCN-3 suitable for the formal specification of standards (as opposed e.g. to a natural language + tables description)?



So, let's look what e.g. ITU is saying on this respect: "Formal description techniques are extensively used in ITU-T Recommendations to describe system behaviour, structure and data, in order to produce precise and unambiguous formal specifications, which are essential to the quality of the Recommendations and their implementations. Those descriptions are organized by formal language as follows:" ( <blocked::http://www.itu.int/ITU-T/formal-language/> www.itu.int/ITU-T/formal-language/). And they are listing ASN.1, XML, MIB/PIB, LDIF and GDMO databases.



In Recommendation Z.110 there are definitions on this topic:

3.1.2 formal description technique (FDT): A specification technique based on a technical language using rigorous and unambiguous rules both with respect to developing expressions in the language (formal syntax) and interpreting the meaning of these expressions (formal semantics). The main FDTs recommended by ITU-T are ASN.1 [b-ITU-T X.680 series], TTCN-2 [b-ITU-T X.292], TTCN‑3 [b-ITU‑T Z.161] to [b-ITU-T Z.170], SDL-2000 [b-ITU-T Z.100] to [b-ITU-T Z.106], SDL-2000 combined with UML [b-ITU‑T Z.109], MSC [b-ITU-T Z.120] and [b-ITU-T Z.121] and URN [b‑ITU‑T Z.150] and [b-ITU‑T Z.151].

3.1.3 natural language description: An example of an informal description technique using one of the languages used by ITU‑T to publish Recommendations. It may be supplemented with mathematical and other accepted notation, figures, etc.



So, ITU-T is listing TTCN-3 explicitly ...



This is my two cents.



BR,




_____


From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Theofanis Vassiliou-Gioles
Sent: 2010-június-29 10:33
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Re: TTCN-3 as a formal language

Hi Claude,



hmmm. I slightly disagree.

Reading the definition it says:



to model the syntax of a programming … language

Well the syntax is modeled using EBNF. And you can work "mathematically" on this model.



A formal language normally has formally defined semantics

Well the definition(s) do not say this. ;-)



The rest (static and operational semantics) is also according to the wikipedia definition an add-on to a formal language.



Furthermore, I believe that for TTCN-3 you could define a mathematical model both for the static and the operational semantics, with the exception of external functions.



So I come to a slightly different conclusion:

a) TTCN-3 is a formal language

b) TTCN-3 has no formal semantics (yet) defined.



As (a) does not require (b) and the original question was:

“Is TTCN-3 is a formal language?”

I would say: yes, it is.



Other comments?



Best regards,

Theo



PS: The inclusion of ASN.1, XML, etc does not influence the properties of the TTCN-3 language itself, as they are mapped to dedicated TTCN-3 constructs. So basically any analysis etc. work on TTCN-3 only. I admit that this is "slightly" different for external functions. :-(



Am 28.06.2010 um 20:16 schrieb Claude Desroches:



Hi Sergio, Theo,



There are several ‘diverging’ definitions for the term ‘formal language’. Which one is the correct one? J



Theo referenced the Wikipedia definition.



Here is another taken from the McGraw-Hill dictionary: <encyclopedia2.thefreedictionary.com/formal+language> encyclopedia2.thefreedictionary.com/formal+language



formal language [¦fȯr·məl ′laŋ·gwij] (computer science)



An abstract mathematical object used to model the syntax of a programming or natural language.

McGraw-Hill Dictionary of Scientific & Technical Terms, 6E, Copyright © 2003 by The McGraw-Hill Companies, Inc.



Based on the above definition one could immediately conclude that TTCN-3 is not a formal language since there is no mathematical object specifying its syntax, nor its semantics (although Part ES-2201873-4 of the standards does offer informal flow graphs). Can static semantics be mathematically formalized?



TTCN-2 and TTCN-3 are described using:

Þ a EBNF ( a deterministic context free grammar (Chomsky Type-2))?

Þ semantics (associating meaning to syntax)

o static semantics ( described using English prose (natural languages tend to be ambiguous…) and

o operational/dynamic semantics (execution behaviour),



NOTE: TTCN-3 static semantics are defined in Annex A of ES 201 873-1 (Core Notation)

Operational semantics are defined in ES 201 873-4 ( Operational Semantics)



Neither TTCN-2, nor TTCN-3 is defined using mathematical model(s). A formal language normally has formally defined semantics which allow for formal (read mathematical) verification (proof of correctness).



Wikipedia defines “Formal semantics of programming languages” as follows: <en.wikipedia.org/wiki/Formal_semantics_of_programming_languages> en.wikipedia.org/wiki/Formal_semantics_of_programming_languages



Based on the Wikipedia description of operational semantics, for TTCN-3 to be a formal language, the operational semantics would need to be described using a mathematical formalism such as predicate logic, an abstract machine or something else.



Some food for thought: ES-201-873-4 describes the operational semantics of TTCN-3. Section 4 Introduction, states:



“NOTE: The mapping of TTCN-3 statements onto flow graphs is an informal step and is not defined by using the

BNF rules in ES 201 873-1 [1]. The reason for this is that the BNF rules are not optimal for an intuitive

mapping because several static semantic rules are coded into BNF rules in order to allow static semantic

checks during the syntax check.”



Further, TTCN-3 allows the use of ASN.1, IDL, XSD, and external functions written in whatever programming language.



To answer the question: “Is TTCN-3 is a formal language?” No.



“A penny for your thoughts, and two cents for your opinion.”



Those were my two cents + a penny’s worth of opinion. J





Cheers,

Claude





PS: Further, TTCN-2 and TTCN-3 are not strongly typed.





Blukaktus Communications phone: +49 (0)30 9606 7986

Edinburger Strasse 39 fax: +49 (0)30 9606 7987

13349 Berlin mobile: +49 (0)174 701 6792



email: <This email address is being protected from spambots. You need JavaScript enabled to view it.> This email address is being protected from spambots. You need JavaScript enabled to view it.








_____


From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Sergio Lobato López
Sent: 28 June 2010 13:18
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: TTCN-3 as a formal language



Hi everyone,

I have had some discussions with colleagues about if TTCN-3 is considered a formal language or not, in the same way that TTCN-2 was considered a formal notation. So I would like to extend our discussion to the TTCN-3 community, in order to enumerate some of the features which make TTCN-3 to be considered as formal or not.



Thanks in advance for your comments,

Best Regards

Sergio



__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5233 (20100628) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

www.eset.com <www.eset.com/>





__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5236 (20100629) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

www.eset.com



__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5251 (20100704) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

www.eset.com



__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5252 (20100705) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

www.eset.com
The administrator has disabled public write access.

TTCN-3 as a formal language 06 Jul 2010 12:28 #7683

Hi Sergio,



see below.



Cheers,

Claude Desroches



Blukaktus Communications phone: +49 (0)30 9606 7986

Edinburger Strasse 39 fax: +49 (0)30 9606 7987

13349 Berlin mobile: +49 (0)174 701 6792



email: <This email address is being protected from spambots. You need JavaScript enabled to view it.> This email address is being protected from spambots. You need JavaScript enabled to view it.









_____

From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Sergio Lobato López
Sent: 06 July 2010 12:00
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Re: TTCN-3 as a formal language



Hi Claude,

In fact the discussion is if TTCN-3 is considered as a formal language or not. I think it doesn’t matter how compilers or tools use TTCN-3, but a language cannot be defined as formal or not depending on how tools work!! :-(.



Well, from an abstraction point of view you, I would agree. However, from an implementation point of view, I still believe that one must take into consideration the execution environment.



Here is an interesting excerpt on dynamic/operational semantics written by Grace M. Hopper (she worked for the US Navy and helped to develop COBOL as well as different compiler systems) on describing syntax and semantics which I hope may help to sway your opinion. This is taken from the book “Concepts of Programming Language” Chapter 3, section 6. For the interested reader: I apologize for the length of the quoted text, but I thought that a bit more text explaining operational semantics might be of interest and value to many of you on the list. For those of you, who are not interested in the formalism, you can skip the next few paragraphs of this mail :-)



Operational Semantics



“The idea behind operational semantics is to describe the meaning of a program by executing its statements on a machine, either real or simulated.

The changes that occur in the machine’s state when it executes a given statement define the meaning of that statement. To understand this concept further, consider a machine language instruction. Let the state of a computer be the values of all its registers and memory locations, including condition codes and status registers. If one simply records the state of the computer, executes the instruction for which the meaning is desired, and then examines the machine’s new state, the semantics of that instruction are clear: It is represented by the change in the computer’s state caused by the execution of the instruction.



Basic Process



Describing the operational semantics of high-level language statements requires the construction of either a real or a virtual computer. The hardware of a computer is a pure interpreter for its machine language. A pure interpreter for any programming language can be constructed in software, which becomes a virtual computer for the language. The semantics of a high-level language can be described using a pure interpreter for the language. There are, however, two problems with this approach. First, the complexities and idiosyncrasies of the hardware computer and operating system that were used to run the pure interpreter would make the actions difficult to understand. Second, a semantic definition done this way would only be available to those with an identically configured computer.



These problems can be avoided by replacing the real computer with a low-level virtual computer, implemented as a software simulation. The registers, memory, status information, and execution process would all be simulated. The instruction set would be designed so that the semantics of each instruction was easy to describe and understand. In this way, the machine would be idealized and thus highly simplified, making its changes of state easy to understand.



Using the operational method to completely describe the semantics of a programming language L requires the construction of two components. First, a translator is needed to convert statements in L to the chosen low-level language. The other component is the virtual machine for the low-level language. The state changes in the virtual machine brought about by executing the code that results from translating a given statement in the high-level language defines the meaning of that statement.



This basic process of operational semantics is not unusual. In fact, the concept is frequently used in programming textbooks and programming language reference manuals. For example, the semantics of the C for construct can be describe in terms of very simple instructions, as in:



C statement: for ( exp1; exp2; exp3) { …}

Operational Semantics: exp1;

Loop: if exp2 = 0 goto out



exp3;

goto loop

out:….



The human reader of such a description is the virtual computer and is assumed to be able to correctly ‘execute’ the instructions in the definition and recognize the effects of the ‘execution’.



….



Operational semantics depends on algorithms, not mathematics. The statements of one programming language are described in terms of the statements of a lower-level programming language. This approach can lead to circularities, in which concepts are indirectly defined in terms of themselves.





Other more formal approaches to describing semantics include:



Axiomatic semantics (used for correctness proofs of programs) (uses predicate calculus and simple Boolean expressions )

Each statement of a program is both preceded and followed by a logical expression that specifies constraints on program variables

The constraints, rather than the entire state of an abstract machine, as with operational semantics, are used to specify the

Meaning of a statement.



Denotational semantics: most rigorous and widely known method for describing the meaning of programs and is based on recursive function theory.

The fundamental concept of denotational semantics is to define for each language entity both a mathematical object and a function

That maps instances of that entity onto instances of the mathematical object. Because objects are rigorously defined, they

Represent the exact meaning of their corresponding entities. The idea is based on the fact that there are rigorous ways of manipulating

Mathematical objects but not for programming language constructs. The difficulty with this method lies in creating the objects

And the mapping functions. The methods is named denotational because the mathematical objects denote the meaning of their

Corresponding syntactic entities.”





To summarize:



operational semantics is a method of describing the meaning of language constructs in terms of their effects on an ‘ideal’ machine.



Axiomatic semantics, which is based on formal logic, was devised as a tool for proving the correctness of programs.



Denotational semantics: mathematical objects are used to represent the meanings of language constructs. Language entities are converted to these mathematical objects with recursive functions.



On the other hand, from my personal point of view, TSOs are an extra, I mean, external function shouldn’t be use for any purpose supported by the language (as sending ASPs or PDUs), its purpose should be i.e. pop-up messages or the use of some graphic library, etc., but these cases are applications not related with the formalization of the language.

I agree with Theo and György, considering TTCN-3 as a formal language, but, it is only my opinion.



Here are my euro and two cents :-).



Cha ching!!! :-) :-)



Best Regards,

And thanks very much for all your opinions on this topic!!!

Sergio



Cheers,



Claude.





De: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] En nombre de Claude Desroches
Enviado el: lunes, 05 de julio de 2010 15:14
Para: This email address is being protected from spambots. You need JavaScript enabled to view it.
Asunto: Re: TTCN-3 as a formal language





Hi Sergio,



As soon as external functions (written in anything other than TTCN-3) are considered, then all bets are off and TTCN-3 is no longer considered an FDT, unless of course the ‚external’ implementation language is also a formally defined language.



However, in all honesty, TTCN-3 even if it is a formal language, has never been implemented as such. All too suppliers translate TTCN-3 into Java, C, C++, C# or some other high level language which themselves are not formal implementation languages. To make matters even muddier, you then need to deal with hardware architectures and operating systems which also are not formally defined.



In effect, what does the discussion as to ‘whether TTCN-3 is or is not a formally defined language’ bring us?



I wonder myself.



Thanks for the input.



Cheers,

Claude.





_____

From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Sergio Lobato López
Sent: 05 July 2010 10:24
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Re: TTCN-3 as a formal language



Hi again,

So, I can see a similar scenario as I found with my colleagues. From my personal point of view, we can separate a mathematical definition, and on the other hand the conformance testing.

If we consider, strictly, a mathematical definition, perhaps TTCN-3 is not the best language to be defined as formal, but TTCN-3, is a language oriented for testing, so we should study TTCN-3 in this way.

When we talk about FDT, we must also consider the FMCT (Formal Method in Conformance Testing, defined in the OSI conformance testing project 1.21.54 at the document FMCT94), I think that TTCN-3 might be considered as formal language (whenever nobody tries to write down a test case based on TSOs, off course :-)) .



BR,

Sergio



De: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] En nombre de Roland Gecse
Enviado el: martes, 29 de junio de 2010 12:20
Para: This email address is being protected from spambots. You need JavaScript enabled to view it.
Asunto: Re: TTCN-3 as a formal language



Hello,



Let me share you my personal opinion!



I agree with Claude that its not only the syntax that makes the FDT! Probably that is why TTCN-3 Core Language is complemented with the Operational Semantics, which intends to provide a ``formal'' description of the natural language specification.



However, quoting Z.110, I believe that both TTCN and TTCN-3 misses the most important objectives of FDTs:

4.1 Objectives of an FDT

The goal of an FDT is to permit precise and unambiguous specifications. FDTs are also intended to satisfy objectives such as:

– a basis for analysing specifications for correctness, efficiency, etc. (by simulation, verification or systematic test derivation);

– a basis for determining completeness of specifications;

– a basis for validation of specifications against the requirement of the Recommendation;

– a basis for determining conformance of implementations to Recommendations;

– a basis for determining consistency of specifications between Recommendations;

– a basis for implementation support.

I recall we had some issue regarding the exact meaning of a certain TTCN construct (, which I do not remember any more). Not to speak about the TSOs! Anyway, it caused some ATS to work differently on different tools. So I clearly believe that TTCN is strictly _not_ an FDT by any means.



TTCN-3 started much better in this sense but let's face it: TTCN-3 is over 10 years old and still far from preciseness, unambiguity, correctness and completeness. IMHO, for each fix or new feature introduced into the language we get a magnitude more of additional inconsistencies. I can only conclude that TTCN-3 is a ``wannabe'' FDT. Or did anyone ever verified any part of the specification?



Believe me I would be really happy if TTCN-3 was a FDT in deed! So please make it precise, concise, unambiguous and complete! Please make it a FDT! And do it fast!



Best Regards,

Roland.





_____

From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of György Réthy
Sent: Tuesday, June 29, 2010 11:32
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Re: TTCN-3 as a formal language

Hi,



I cannot make the same conclusion from the sentence quoted by Claude than he did. The sentence speaks about the SYNTAX of the language, so conclude something regarding the semantics is ... hmmm... at least misleading. Regarding the syntaxt we have a mathematic model, it is the BNF.



But I think that starting discussing the topic in terms of mathematical models would mislead the whole discussion. The original question was: "if TTCN-3 is considered a formal language or not, in the same way that TTCN-2 was considered a formal notation." I agree with Theo: if TTCN-2 is a formal language, TTCN-3 is a formal language too. It has everything TTCN-2 had (in fact more).



But we shall not forget that a question come from a standardization organization (as opposed to an academic institute on mathematics). So, I would even re-formulate the question: is TTCN-3 suitable for the formal specification of standards (as opposed e.g. to a natural language + tables description)?



So, let's look what e.g. ITU is saying on this respect: "Formal description techniques are extensively used in ITU-T Recommendations to describe system behaviour, structure and data, in order to produce precise and unambiguous formal specifications, which are essential to the quality of the Recommendations and their implementations. Those descriptions are organized by formal language as follows:" ( <blocked::http://www.itu.int/ITU-T/formal-language/> www.itu.int/ITU-T/formal-language/). And they are listing ASN.1, XML, MIB/PIB, LDIF and GDMO databases.



In Recommendation Z.110 there are definitions on this topic:

3.1.2 formal description technique (FDT): A specification technique based on a technical language using rigorous and unambiguous rules both with respect to developing expressions in the language (formal syntax) and interpreting the meaning of these expressions (formal semantics). The main FDTs recommended by ITU-T are ASN.1 [b-ITU-T X.680 series], TTCN-2 [b-ITU-T X.292], TTCN‑3 [b-ITU‑T Z.161] to [b-ITU-T Z.170], SDL-2000 [b-ITU-T Z.100] to [b-ITU-T Z.106], SDL-2000 combined with UML [b-ITU‑T Z.109], MSC [b-ITU-T Z.120] and [b-ITU-T Z.121] and URN [b‑ITU‑T Z.150] and [b-ITU‑T Z.151].

3.1.3 natural language description: An example of an informal description technique using one of the languages used by ITU‑T to publish Recommendations. It may be supplemented with mathematical and other accepted notation, figures, etc.



So, ITU-T is listing TTCN-3 explicitly ...



This is my two cents.



BR,




_____


From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Theofanis Vassiliou-Gioles
Sent: 2010-június-29 10:33
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Re: TTCN-3 as a formal language

Hi Claude,



hmmm. I slightly disagree.

Reading the definition it says:



to model the syntax of a programming … language

Well the syntax is modeled using EBNF. And you can work "mathematically" on this model.



A formal language normally has formally defined semantics

Well the definition(s) do not say this. ;-)



The rest (static and operational semantics) is also according to the wikipedia definition an add-on to a formal language.



Furthermore, I believe that for TTCN-3 you could define a mathematical model both for the static and the operational semantics, with the exception of external functions.



So I come to a slightly different conclusion:

a) TTCN-3 is a formal language

b) TTCN-3 has no formal semantics (yet) defined.



As (a) does not require (b) and the original question was:

“Is TTCN-3 is a formal language?”

I would say: yes, it is.



Other comments?



Best regards,

Theo



PS: The inclusion of ASN.1, XML, etc does not influence the properties of the TTCN-3 language itself, as they are mapped to dedicated TTCN-3 constructs. So basically any analysis etc. work on TTCN-3 only. I admit that this is "slightly" different for external functions. :-(



Am 28.06.2010 um 20:16 schrieb Claude Desroches:



Hi Sergio, Theo,



There are several ‘diverging’ definitions for the term ‘formal language’. Which one is the correct one? :-)



Theo referenced the Wikipedia definition.



Here is another taken from the McGraw-Hill dictionary: <encyclopedia2.thefreedictionary.com/formal+language> encyclopedia2.thefreedictionary.com/formal+language



formal language [¦fȯr·məl ′laŋ·gwij] (computer science)



An abstract mathematical object used to model the syntax of a programming or natural language.

McGraw-Hill Dictionary of Scientific & Technical Terms, 6E, Copyright © 2003 by The McGraw-Hill Companies, Inc.



Based on the above definition one could immediately conclude that TTCN-3 is not a formal language since there is no mathematical object specifying its syntax, nor its semantics (although Part ES-2201873-4 of the standards does offer informal flow graphs). Can static semantics be mathematically formalized?



TTCN-2 and TTCN-3 are described using:

* a EBNF ( a deterministic context free grammar (Chomsky Type-2))?

* semantics (associating meaning to syntax)

o static semantics ( described using English prose (natural languages tend to be ambiguous…) and

o operational/dynamic semantics (execution behaviour),



NOTE: TTCN-3 static semantics are defined in Annex A of ES 201 873-1 (Core Notation)

Operational semantics are defined in ES 201 873-4 ( Operational Semantics)



Neither TTCN-2, nor TTCN-3 is defined using mathematical model(s). A formal language normally has formally defined semantics which allow for formal (read mathematical) verification (proof of correctness).



Wikipedia defines “Formal semantics of programming languages” as follows: <en.wikipedia.org/wiki/Formal_semantics_of_programming_languages> en.wikipedia.org/wiki/Formal_semantics_of_programming_languages



Based on the Wikipedia description of operational semantics, for TTCN-3 to be a formal language, the operational semantics would need to be described using a mathematical formalism such as predicate logic, an abstract machine or something else.



Some food for thought: ES-201-873-4 describes the operational semantics of TTCN-3. Section 4 Introduction, states:



“NOTE: The mapping of TTCN-3 statements onto flow graphs is an informal step and is not defined by using the

BNF rules in ES 201 873-1 [1]. The reason for this is that the BNF rules are not optimal for an intuitive

mapping because several static semantic rules are coded into BNF rules in order to allow static semantic

checks during the syntax check.”



Further, TTCN-3 allows the use of ASN.1, IDL, XSD, and external functions written in whatever programming language.



To answer the question: “Is TTCN-3 is a formal language?” No.



“A penny for your thoughts, and two cents for your opinion.”



Those were my two cents + a penny’s worth of opinion. :-)





Cheers,

Claude





PS: Further, TTCN-2 and TTCN-3 are not strongly typed.






_____


From: active_ttcn3 : mts stf133 ttcn version 3 - active members only [This email address is being protected from spambots. You need JavaScript enabled to view it.] On Behalf Of Sergio Lobato López
Sent: 28 June 2010 13:18
To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: TTCN-3 as a formal language



Hi everyone,

I have had some discussions with colleagues about if TTCN-3 is considered a formal language or not, in the same way that TTCN-2 was considered a formal notation. So I would like to extend our discussion to the TTCN-3 community, in order to enumerate some of the features which make TTCN-3 to be considered as formal or not.



Thanks in advance for your comments,

Best Regards

Sergio
The administrator has disabled public write access.
  • Page:
  • 1

FacebookTwitterGoogle BookmarksRedditNewsvineTechnoratiLinkedin