Source: http://www.csc.lsu.edu/~gb/Brew/index.html
Објектно-ориентирани јазици обезбедат механизми апстракција кои им помагаат со структурирање големи софтверски. Многу комерцијални програми, како што се десктоп апликации или игри, се произведени во стилот на ОО, или во јазикот ОО или со рака-кодирање техники ОО на јазикот како што се C. Сепак, како што нашата анализа на ОО дизајн обрасци покажуваат, апстракција механизми кои се обезбедуваат од страна на повеќето широко се користи ОО јазици C ++ и Java се уште не се доволни. Еден стил ОО програмирање е соодветен механизам јазикот за структурирање на податоци и ако се очекува софтверот да се развива од страна на репрезентации податоци рафинирање. Сепак, ОО јазици не обезбеди соодветна поддршка за воведување на нови апстракции ретроактивно или ако софтверот се развива со додавање на функционалност на стабилна структура на податоци. Многу модели OO дизајн може да се смета заобиколници околу примена на стилот на ОО на проблемите со кои се посоодветно да се реши во еден поинаков, на пример, една функционална, стил на програмирање.
Ние имаме цел продолжување на C ++ со интерфејси (тогаш наречена потписи) и структурни субпишување, кои им овозможуваат додавање апстракции ретроактивно, како и проширување на Јава со структурни субпишување. Нашите C ++ проширувањето е дел од дистрибуцијата GCC до верзија 2.95. Ние спроведе структурни субпишување за Java како продолжување на Сонцето JDK 1.1.5 компајлерот. Во моментов, ние работиме на дизајнирање на јазикот пијалак, како продолжување на Јава со објект модел врз основа на анализа на дизајн обрасци и за спроведување на компајлер за јазикот на пијалак. До пијалак и компајлерот запарвам се доволно далеку развиени, ние ги обликуваш нашите резултати од истражување во контекст на Јава. За развојот на софтвер со додавање на функционалност на стабилна структура на податоци, тоа би било пожелно да имаат поддршка за мультиметоды во јазикот. Развивме продолжување на Јава со ретроактивно апстракција и мультиметоды, наречена Половина и половина, а во моментов се работи за нејзина имплементација. Ние покажавме дека мультиметоды заедно со механизам за затворање оневозможи изработка на програми во функционална стил сличен на оној во ML.
При развојот на ОО софтвер, тоа е потребно да се осигура дека методите на објектот се нарекуваат во правилен ред. Ние имаме цел јазична поддршка за одредување на протоколи објектот во декларациите класа и интерфејс во Јава. Овој јазик поддршка овозможува на компајлерот да се потврди дека протоколот класа задоволува протокол интерфејс и да се генерираат дебагирање код за следење на редоследот на метод повици во рок време. Ние сме спроведување поддршка за протоколи како продолжување на компајлерот Сонцето JDK. Ние сме, исто така, работи на јазична поддршка за мобилност. Мобилни библиотеки објект за Java, како што се библиотека Aglets не дозволуваат миграција на државата извршување на методите за извршување во еден агент. Имаме развиена механизам за превод и мобилни теми кои им овозможуваат на многонишкови агент за да мигрираат со сите свои извршување државата. Ние спроведува преведувачот како препроцесори во компајлерот пијалак. Ние сме со користење на овие многонишкови агенти за распишување научни апликации на десктоп мрежа, да се види на веб-страница Органски мрежа.
Ние сме во моментов работат на спроведување протоколи и нашите продолжување на Јава со мультиметоды во OpenJDK компајлерот да послужи како платформа за идните истражувања дизајн јазик.
Cоработници
Константин Лейфер, Одделот за компјутерски науки, Лојола Универзитетот во Чикаго
Винсент Ф. Русо, Гоби
Мајкл Јанг, Одделот за компјутерски и информации. Сци., Универзитетот во Орегон
поранешни студенти
Сергеј Буткевич, Ренесанса технологии
Арйав Дж. Чакраварти (д-р, јуни 2004), Дасра
Рони Гилки (MS, мај 2012)
Џејсон О. Халстром, Факултетот за компјутер, Университет Клемтона
Мартин Янше (MS, март 2004 година), Symptotic
Брајан Ларкинс, Одделот за компјутерски науки, Крајбрежни Каролина универзитет
Пеи Лу, Мајкрософт
Кристофер Г. Пейсерт, Bellagio
Марко Ренедо, Банката на Америка
Лакшми (Синдху) Риммалапуди (MS, декември 2008), Активни мрежи
Даршат Шах, Мајкрософт
Арчана Валлабханени (MS, декември 2012), Revolverdocs/MightyJunn Productions
Ксайоин Ванг (MS, декември 2001), Amazon.com
Софтвер
- Јава со структурни субпишуванье
Продолжување на JDK 1.0.2. - C ++ потписи
Достапен во GNU G ++, верзија 2.95.
Публикации
2002
- Половина и половина: Повеќе испраќање и Ретроактивно Апстракција за Java
Г. Баумгартнер, М. Янше, К. Лауфер. Техничкиот извештај бр OSU-CISRC-5/01-TR08, Одделот за компјутерски и информатички науки, Државниот универзитет во Охајо, ажурирани март 2002 година.
2001
- Поддршка за функционално програмирање во запарвам
Г. Баумгартнер, М. Янше, К.Д. Пейзерт. Ин Keи Дејвис, Јанис Смарагдакис, Јерг Штригнитц: Зборник на Програмскиот мулти парадигма со објектно-ориентирани јазици, 1 Меѓународна работилница (MPOOL ’01), Будимпешта, Унгарија, на 18 јуни 2001 година, Серија Објавување на Џон фон Нојман Институтот за компјутер, том . 7, стр. 111-125. - Сигурност преку силна мобилност
X. Ванг, Дж. Халстром, Г. Баумгартнер. Во Зборникот на 7-ми ECOOP Работилница за мобилни системи Предмет: развој на стабилна и висока Апликации Доверба Агент (MOS ’01), Будимпешта, Унгарија, на 18 јуни 2001 година, стр 1-13.
2000
- Безбедно структурните за согласност за Java
К. Лауфер, Г. Баумгартнер, В.Ф. Русо. Компјутерски весник, бр. 43, број 6, 2000, стр. 469-481. Исто така достапен како Технички извештај OSU-CISRC-6/98-TR20, Одделот за компјутерски и информатички науки, Универзитетот Охајо Стејт во јуни 1998 година. - Компајлер и за поддршка на алатката за дебагирање протоколи објект
С. Буткевич, М. Ренедо, Г. Баумгартнер, М. Јанг. Во Зборникот на 8-ми Меѓународен симпозиум за Основи на софтверско инженерство (FSE-8 / АЦМ SIGSoft 2000), Сан Диего, Калифорнија, 6-10 ноември 2000 година, стр. 50-59. - Компајлер и за поддршка на алатката за дебагирање протоколи објект
С. Буткевич, М. Ренедо, Г. Баумгартнер, М. Јанг. Технички извештај OSU-CISRC-3/00-TR10, Одделот за компјутерски и информатички науки, Универзитетот Охајо Стејт во март 2000 година подобрена верзија се појавува во Зборникот на 8-ми Меѓународен симпозиум за Основи на софтверско инженерство (FSE-8 / АЦМ SIGSoft 2000), Сан Диего, Калифорнија, 6-10 ноември 2000 година, стр. 50-59.
1998
- Безбедно структурните за согласност за Java
К. Лауфер, Г. Баумгартнер, В.Ф. Русо. Технички извештај OSU-CISRC-6/98-TR20, Одделот за компјутерски и информатички науки, Универзитетот Охајо Стејт во јуни 1998 година.
1997
- Потписи спроведување за C ++
Г. Баумгартнер, В.Ф. Русо. АЦМ Трансакции на програмски јазици и системи (TOPLAS), том. 19, број 1, јануари 1997 година, стр. 153-187.
1996
- На интеракција на Објектно-ориентирана дизајн модели и програмски јазици
Г. Баумгартнер, К. Лауфер, В.Ф. Русо. Технички извештај CSD-TR-96-020, Одделот за компјутерски науки, Универзитетот Пурдју, февруари 1996 година.
1995
- Потписи: јазик за продолжување за подобрување Тип на апстракција и Подтип полиморфизам во C ++
Г. Баумгартнер, В.Ф. Русо. Софтвер – пракса и искуство, том. 25, бр 8, стр. 863-889, август 1995 година На располагање Технички извештај CSD-TR-95-051, Одделот за компјутерски науки, Универзитетот Пурдју, август 1995 година. - Потписи: јазик за продолжување за подобрување Тип на апстракција и Подтип полиморфизам во C ++
Г. Баумгартнер, В.Ф. Русо. Технички извештај CSD-TR-95-051, Одделот за компјутерски науки, Универзитетот Пурдју, август 1995 година. - Потписи спроведување за C ++
Г. Баумгартнер, В.Ф. Русо. Технички извештај CSD-TR-95-025, Одделот за компјутерски науки, Универзитетот Пурдју, август 1995 година. Подобрена верзија се појавува во АЦМ Трансакции на програмски јазици и системи (TOPLAS), том. 19, број 1, јануари 1997 година, стр. 153-187.
1994
- Потписи: C ++ Продолжување на Тип на апстракција и Подтип полиморфизам
Г. Баумгартнер, В.Ф. Русо. Технички извештај CSD-TR-93-059, Одделот за компјутерски науки, Пурдју универзитет, декември 1994 година беше заменет од Техничкиот извештај CSD-TR-95-051, Одделот за компјутерски науки, Универзитетот Пурдју, август 1995 година. - Потписи спроведување за C ++
Г. Баумгартнер, В.Ф. Русо. Во Зборникот на USENIX C ++ конференција од 1994 година, 11-14 април 1994 година, Кембриџ, Масачусетс, USENIX асоцијација, стр. 37-56.
Финансирање
- Државниот универзитет во Охајо, 1998 – 1999 година.