From: Doctor Who <doc@tardis.org>
Subject: Re: The Ravenscar profile and capabilities paradigm
Date: Tue, 12 Oct 2021 20:24:20 +0200 [thread overview]
Message-ID: <4lkbmgd7dabitibimkab7hodsfqpv422cr@4ax.com> (raw)
In-Reply-To: abkbmgduvlrjee1bm1v74oks4kv8kqqen6@4ax.com
On Tue, 12 Oct 2021 20:21:28 +0200, Doctor Who <doc@tardis.org> wrote:
>On Tue, 12 Oct 2021 16:43:07 +0100, "Luke A. Guest"
><laguest@archeia.com> wrote:
>
>>On 12/10/2021 16:33, Shark8 wrote:
>>> On Tuesday, October 12, 2021 at 9:04:09 AM UTC-6, Luke A. Guest wrote:
>>>> On 12/10/2021 16:01, Shark8 wrote:
>>>>> On Monday, October 11, 2021 at 1:24:48 PM UTC-6, Doctor Who wrote:
>>>>>> On Mon, 11 Oct 2021 16:32:13 +0100, Simon Wright wrote:
>>>>>>> Doctor Who writes:
>>>>>>>
>>>>>>>> someone knows how to introduce the capabilities paradigm in Ada,
>>>>>>>> specifically for programs written using the Ravenscar profile ?
>>>>>>>
>>>>> Type Capability is ( Read, Copy, Whatever );
>>>> There can be a capabiity for literally anything, even ownership and can
>>>> be different depending on object/os service.
>>>>
>>>> I'd say a tagged type is better than an enum.
>>> Possibly.
>>> But there's no reason to complicate the general idea in example-form: even if it's a tagged type you're going to want the capability-instance to be limited-private; the implementation of the "permissions" component being a Boolean-array or a vector of Capability'Class [most obviously having Capability be an abstract tagged null record] is mostly irrelevant for that demonstration. (And using a vector of tagged-type instead of the array would have bogged the example down with importing and instantiating the Vector container and setting up multiple non-abstract Capability-descendants, cluttering the point of the example.)
>>>
>>
>>Capabilities allow granting and revoking of access, iirc, the kernel has
>>access to all, the kernel then grants access to certain processes, i.e.
>>memory server, filesystem server, etc. each of those processes can
>>further grant and revoke caps.
>>
>
>thank you all for the help, I hope this discussion goes far.
>the most useful approach is the microkernel, where access to, and
>operation of, each service is mediated by capabilities.
>
>I would go so far to define and implement a capability-based
>microkernel written in Ada using the Ravenscar profile.
I like SweetAda, and I would like to implement something similar but
using the approach I described so far.
next prev parent reply other threads:[~2021-10-12 18:24 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-11 13:33 The Ravenscar profile and capabilities paradigm Doctor Who
2021-10-11 14:48 ` Luke A. Guest
2021-10-11 19:25 ` Doctor Who
2021-10-11 19:36 ` Luke A. Guest
2021-10-11 19:50 ` Doctor Who
2021-10-12 0:45 ` Luke A. Guest
2021-10-12 0:47 ` Luke A. Guest
2021-10-12 2:31 ` Doctor Who
2021-10-12 2:29 ` Doctor Who
2021-10-12 2:35 ` Doctor Who
2021-10-12 3:19 ` Doctor Who
2021-10-12 5:17 ` Richard Iswara
2021-10-12 6:42 ` Doctor Who
2021-10-12 11:51 ` Richard Iswara
2021-10-12 11:58 ` Luke A. Guest
2021-10-12 15:04 ` Doctor Who
2021-10-11 15:32 ` Simon Wright
2021-10-11 19:24 ` Doctor Who
2021-10-12 15:01 ` Shark8
2021-10-12 15:02 ` Luke A. Guest
2021-10-12 15:33 ` Shark8
2021-10-12 15:43 ` Luke A. Guest
2021-10-12 18:21 ` Doctor Who
2021-10-12 18:24 ` Doctor Who [this message]
2021-10-14 3:46 ` Doctor Who
2021-10-14 15:16 ` Shark8
2021-10-14 16:38 ` Doctor Who
2021-10-14 21:20 ` Simon Wright
2021-10-15 11:21 ` Doctor Who
2021-10-11 15:48 ` Shark8
2021-10-11 19:25 ` Doctor Who
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox