comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Securing type extensions
Date: Thu, 16 Sep 2010 09:47:27 +0200
Date: 2010-09-16T09:47:27+02:00	[thread overview]
Message-ID: <1rzqpilsu35mh.dzxeefhdmt1s.dlg@40tude.net> (raw)
In-Reply-To: 4c9130f6$0$7656$9b4e6d93@newsspool1.arcor-online.net

On Wed, 15 Sep 2010 22:47:51 +0200, Georg Bauhaus wrote:

> On 9/15/10 10:15 AM, Dmitry A. Kazakov wrote:
>> On Tue, 14 Sep 2010 23:18:36 +0200, Georg Bauhaus wrote:
> 
>>>> Hmm, how "trustworthiness" corresponds to correctness and type safety?
> 
>>> 1 - Technically, [...]
>>> But the parent type's "plan" might require that the type's operations
>>> be called in a certain order,
>>
>> This is poor design.
> 
> Certainly, and a "plan" suffices as an example, if you agree
> that perfect technical specifications of what (again, just for the
> sake of an example) a type writer expects an extension writer to
> do are not always possible. (Which I understand you do.)

That is not the type writer. There are three parties, the interface
designer, the designer of an implementation and the user of the interface
(class). Since it is the last two, who must get along, class-wide
implementations do not really change anything in the picture.

>>> How do you talk about this on site?  Can you trust the plug-in code?
>>> Suppose you don't use Ada, but Python or some other more dynamically
>>> typed language. Can you  even assume the type has the same interface
>>> as its parent? When the absence of a statically known interface
>>> destroys all hope for type safety, how can programmers sill trust
>>> Google to continue providing meaningful Python objects for Google
>>> App Engine?
>>
>> This is an unrelated issue.
> 
> The issue is related to trust, and to type extension, and it is an
> existing challenge.
> Call it poor design on the part of Python framework writers, if that
> is what it seems to be.   But since the framework exists as a foundation
> for real software, it does affect multi-party work. We can't always
> control the parent types, and must see if we can find it trustworthy.

and the point is? 

>>> The conflict here is triggered by a malfunctioning program:
>>> who/what is to blame when a type extension (by party X) does not
>>> work nicely with a partial program (by party Y)?
>>
>> Any software/hardware decomposition has this problem.
> 
> Yes.  The composition problems are varied, though.
> One language can offer more help than another.

One like SPARK.

>> The program semantics cannot be specified exhaustively. I don't know were
>> you want to go, but it is not only impossible to specify all program
>> semantics, moreover, it is also impossible to have LSP subtyping.
>> Substitutability in the context of subtyping cannot be upheld statically.
>> You have to verify substitutability per each case of substitution.
>>
>> Since we trust you, we do not verify it. Is it what you consider as
>> "trustworthiness"? Non-contracted behavior?
> 
> More inclusively, a mix of technical and social properties of
> a software situation will lead to more or less trust.

The way you described it, trust has no physical meaning. It is a
psychological phenomenon, not a subject of CS and SW engineering. Maybe a
greater effect in gaining trust could be achieved by painting green walls
of the cubicles, by writing "no gene-modified bits inside" on the DVD
cover. Whatever...

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2010-09-16  7:47 UTC|newest]

Thread overview: 107+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-12 10:18 Preventing type extensions Florian Weimer
2010-09-12 11:59 ` Ludovic Brenta
2010-09-12 12:53   ` Florian Weimer
2010-09-12 21:23     ` Maciej Sobczak
2010-09-13  5:32       ` Florian Weimer
2010-09-13  7:13         ` Dmitry A. Kazakov
2010-09-13  9:19           ` Georg Bauhaus
2010-09-13  9:42             ` Dmitry A. Kazakov
2010-09-13 10:23               ` Niklas Holsti
2010-09-13 12:55                 ` Cyrille
2010-09-13 13:55                   ` Dmitry A. Kazakov
2010-09-13 21:13                   ` J-P. Rosen
2010-09-21 13:57                     ` Cyrille
2010-09-21 14:19                       ` Dmitry A. Kazakov
2010-09-21 14:44                         ` Cyrille
2010-09-21 16:25                           ` Dmitry A. Kazakov
2010-09-21 17:11                             ` Georg Bauhaus
2010-09-21 18:11                               ` Dmitry A. Kazakov
2010-09-23 20:00                                 ` Simon Wright
2010-09-23 20:49                                   ` Dmitry A. Kazakov
2010-09-24  9:10                                     ` Georg Bauhaus
2010-09-24 10:24                                       ` Dmitry A. Kazakov
2010-09-24 13:30                                 ` Niklas Holsti
2010-09-24 16:27                                   ` Dmitry A. Kazakov
2010-09-24 17:47                                     ` Niklas Holsti
2010-09-24 19:42                                       ` Dmitry A. Kazakov
2010-09-21 14:32                       ` J-P. Rosen
2010-09-21 15:02                         ` Cyrille
2010-09-21 15:26                           ` J-P. Rosen
2010-09-21 16:18                             ` Cyrille
2010-09-22  8:01                               ` J-P. Rosen
2010-09-22 17:28                                 ` Cyrille
2010-09-22 19:30                                   ` Ludovic Brenta
2010-09-22 19:51                                     ` Florian Weimer
2010-09-22 20:14                                       ` Dmitry A. Kazakov
2010-09-22 20:25                                         ` Florian Weimer
2010-09-22 20:38                                           ` Dmitry A. Kazakov
2010-09-22 21:25                                             ` Vinzent Hoefler
2010-09-22 21:20                                           ` Georg Bauhaus
2010-09-22 20:16                                       ` Ludovic Brenta
2010-09-22 20:34                                         ` Florian Weimer
2010-09-22 22:45                                           ` Britt Snodgrass
2010-09-23  8:02                                           ` Ludovic Brenta
2010-09-23 16:51                                     ` Pascal Obry
2010-09-23 18:37                                       ` Florian Weimer
2010-09-23 18:55                                         ` Pascal Obry
2010-09-23 20:28                                       ` Ludovic Brenta
2010-09-24  9:20                                         ` Ludovic Brenta
2010-09-24 14:49                                           ` Simon Wright
2010-09-24 15:09                                             ` Ludovic Brenta
2010-09-24 16:21                                           ` Robert A Duff
2010-09-25  7:10                                         ` Pascal Obry
2010-09-25 12:03                                           ` Brian Drummond
2010-09-24  8:16                                   ` J-P. Rosen
2010-09-24  8:39                                     ` Cyrille
2010-09-24  9:27                                       ` Cyrille
2010-09-29 16:47                                         ` J-P. Rosen
2010-09-30 10:08                                           ` Cyrille
2010-10-05 17:02                                             ` J-P. Rosen
2010-10-08  7:50                                               ` Cyrille
2010-10-08 13:58                                               ` Cyrille
2010-10-08 20:12                                                 ` Dmitry A. Kazakov
2010-10-11  7:57                                                   ` Cyrille
2010-10-11  8:24                                                     ` Dmitry A. Kazakov
2010-10-12  5:23                                                   ` Shark8
2010-10-13  9:06                                                 ` J-P. Rosen
2010-10-13 17:37                                                   ` Cyrille
2010-10-13 18:50                                                     ` Dmitry A. Kazakov
2010-09-21 14:50                       ` (see below)
2010-09-21 17:37                         ` Cyrille
2010-09-21 19:07                           ` (see below)
2010-09-13 13:05                 ` Dmitry A. Kazakov
2010-09-13 20:21                   ` Niklas Holsti
2010-09-13 21:00                     ` Dmitry A. Kazakov
2010-09-13 21:10                 ` J-P. Rosen
2010-09-14 12:16                   ` Niklas Holsti
2010-09-14 16:46                     ` Dmitry A. Kazakov
2010-09-14 18:08                       ` Niklas Holsti
2010-09-14 18:32                         ` Niklas Holsti
2010-09-15  8:18                         ` Dmitry A. Kazakov
2010-09-14 17:04                     ` J-P. Rosen
2010-09-13 15:12               ` Securing type extensions (was: Preventing type extensions) Georg Bauhaus
2010-09-13 15:29                 ` Securing type extensions Dmitry A. Kazakov
2010-09-13 17:23                 ` Simon Wright
2010-09-13 20:22                   ` Georg Bauhaus
2010-09-13 20:41                     ` Dmitry A. Kazakov
2010-09-14 10:02                       ` Georg Bauhaus
2010-09-14 12:22                         ` Dmitry A. Kazakov
2010-09-14 21:18                           ` Georg Bauhaus
2010-09-15  8:15                             ` Dmitry A. Kazakov
2010-09-15 20:47                               ` Georg Bauhaus
2010-09-16  7:47                                 ` Dmitry A. Kazakov [this message]
2010-09-16 11:52                                   ` Georg Bauhaus
2010-09-16 12:45                                     ` Dmitry A. Kazakov
2010-09-16 20:53                                       ` Georg Bauhaus
2010-09-16 21:37                                         ` Dmitry A. Kazakov
2010-09-17  8:45                                           ` Georg Bauhaus
2010-09-17  9:39                                             ` Dmitry A. Kazakov
2010-10-05  5:59                     ` Randy Brukardt
2010-09-13 18:32           ` Preventing " Florian Weimer
2010-09-13 20:30             ` Dmitry A. Kazakov
2010-09-22 19:41               ` Florian Weimer
2010-09-22 20:34                 ` Dmitry A. Kazakov
2010-09-22 21:10                   ` Georg Bauhaus
2010-09-17  0:16           ` Shark8
2010-09-17  7:04             ` AdaMagica
2010-09-17 21:05               ` Shark8
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox