Технологический/платформенный стек

Jun 07, 2015 20:44

В свежепереведённом на русский (http://panchul.livejournal.com/469643.html) учебнике Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера» приводится схема уровней определения (в учебнике это названо "уровнями абстракции", но с равным успехом это может быть и "системными уровнями", и "дисциплинами", и "технологическими платформами") электронной вычислительной системы:


Эта схема крайне интересна сама по себе. Вот несколько моих мыслей по её поводу:

1. Это образование, Карл.
Сколько всего нужно знать, чтобы сделать что-то осмысленное? Например, учебник Харрис&Харрис, из которого взята диаграмка уровней всего навсего приквел к уже переведённой книжке "Computer Architecture: A Quantitative Approach" Паттерсона и Хеннеси. "Без Х&Х книжка Х-П - это описательное знание, а вот с комбинацией двух книжек студент может что-то реализовать на FPGA" (http://panchul.livejournal.com/469643.html?thread=19173003#t19173003).

То есть это пример тьюторской диаграммы (про определение тьюторства как определение образовательной траектории на множестве отдельных курсов): http://ailev.livejournal.com/1145422.html

Опять же, можно говорить о дисциплине и технологии на каждом из этих уровней и пытаться понять, на каком уровне дисциплины мы учим -- школьном, ПТУ, университетском или предельном. Диаграмма тут может быть совсем другой (хороший пример -- http://matt.might.net/articles/phd-school-in-pictures/), и дальше можно гадать: учить эти уровни один за одним "от математики" (ибо физика тут явно не первой должна стоять), или учить только несколько смежных, или там вообще нет "стека" и последовательности, а какая-то более сложная структура.

2. Определения, абстракции, метасистемные переходы, логические уровни.
Когда мы говорим об уровнях, неплохо бы понимать, что это за уровни. В принципе, это всё уровни определения чего-то: нам нужно описать систему, мы её описываем. Учебники ведь обычно посвящёны моделированию определяемых инженерами систем: вводят самые разные языки моделирования (так, Харрис&Харрис для описания аппаратуры вводит сразу два конкурирующих языка: SystemVerilog и VHDL). Конечно, на разных уровнях определения системы используются разные языки. Языков нужно знать много, и всех языков сразу не выучишь (полиполиглотность -- http://ailev.livejournal.com/1128482.html), мастерство зажигается очень медленно (http://ailev.livejournal.com/1130190.html). Но унификация языков и последюущее моделирование на них (вывод моделей из-под черепов в экзокортекс раньше на бумагу, а нынче в компьютер) позволяет организовать разделение труда. Сложность платформенной многоуровневости раскладывается на множество людей, каждому из которых нужно знать только три смежных уровня, чтобы эффективно встраиваться в технологический/платформенный стек.

Конечно, многоуровневость тут должна быть рассмотрена сразу в трёх направлениях (системный подход ровно об этом, я попытался именно это отразить в своём учебнике по системноинженерному мышлению -- http://techinvestlab.ru/systems_engineering_thinking):
-- многоуровневое определение целевой системы/использующей системы (учебник Харрис&Харрис как раз об этом)
-- многоуровневое определение обеспечивающей системы системы деятельности, которая создаёт целевую систему: кто что с чем зачем делает, чтобы создать целевую систему).
-- многоуровневое определение описаний (информатика как работа агентов с текстами и кодами -- http://ailev.livejournal.com/1008054.html, но также и "гирлянды языков" -- см. мои реплики в дискуссии http://baaltii1.livejournal.com/573648.html).

[TWIMC -- ага, не две доски, а два раза по две доски: третья приставляется и к содержательной, и к организационной доскам]

3. Инновации в технологических платформах.
"Платформа" -- это про модули и интерфейсы. Описываемые уровни платформы (модульные уровни) позволяют задавать модульные слои (layers, а не levels) с понятными интерфейсами друг ко другу. От какого-то уровня вниз или вверх (вниз! и вверх!) можно взять и заменить всю конструкцию, оставив неизменным интерфейс платформы -- все накопленные библиотеки, языки, оборудование, опытных разработчиков и производителей.

Так что эти уровни -- хороший классификатор для пикейножилетной деятельности по отслеживанию технологических прорывов. Я поэтому и перестал с 2010 года заниматься выписыванием технологических/платформенных стеков (последний грех был тут: http://ailev.livejournal.com/781013.html), что при современной глубине платформенного стека изображать из себя Госплан абсолютно бесперспективно, даже если этот Госплан сядет на пароход и поплывёт каким-нибудь форсайт-флотом. Предприниматели же обычно работают с парой (максимум -- тройкой) смежных уровней.
Previous post Next post
Up