Moose (analysis)

Moose
Developer(s)The Moose Team
Stable release
8.0.1 / February 5, 2021 (2021-02-05)
Written inSmalltalk
Operating systemCross-platform
TypeData analysis
LicenseBSD License
Websitemodularmoose.org

Moose is a free and open source platform for software and data analysis built in Pharo.

Moose offers multiple services ranging from importing and parsing data, to modeling, to measuring, querying, mining, and to building interactive and visual analysis tools. Moose was born in a research context,[1] and it is currently supported by several research groups throughout the world. It is increasingly being adopted in industry[citation needed].

Key Features

The philosophy of Moose is to enable the analyst to produce new dedicated analysis tools, and to customize the flow of analysis. While Moose is mainly used in software analysis, it is built to work for any data.

To achieve this it offers multiple mechanisms and frameworks:

  • Importing and meta-meta-modeling is achieved through a generic meta-described engine.[2][3] Any meta-model is described in terms of a self-described meta-meta-model, and based on this description, the import/export is provided through the MSE file format. Through this file format, Moose can exchange data with external tools.
  • For parsing, Moose provides a novel framework [4] that makes use of several parsing technologies (like parsing expression grammar) and that provides a fluent interface for easy construction.
  • Software analysis is specifically supported through the FAMIX family of meta-models. The core of FAMIX is a language independent meta-model that is similar to UML but it is focused on analysis. Furthermore, it provides rich interface for querying models.
  • Visualization is supported through two different engines: one for expressing graph visualizations,[5] and one for expressing charts. They both provide a fluent interface for easy construction.
  • Browsing is an important principle in Moose, and it is supported in multiple ways as well. A generic interface enables the analyst to browse any model. To be able to specify specific browsers, Moose offers a generic engine that eases the specification through a specific fluent interface.

History

1996-1999: First infrastructure, meta-model

Moose was born at the University of Bern in the context of FAMOOS, a European project that took place between Sept. 1996-Sept. 1999. FAMOOS focussed on methods and tools to analyse and detect design problems in object-oriented legacy systems, and to migrate these systems towards more flexible architectures. The main results of FAMOOS are summarized in the FAMOOS Handbook and in the Object-Oriented Reengineering Patterns[6] book.

In the beginning of the FAMOOS project Moose was merely the implementation of a language independent meta-model known as FAMIX. The parsing of C/C++ code was done through Sniff+, and the produced models were imported via the CDIF standard. Initially, Moose provided for a hard-coded importer and served as basis for simple visualization and program fact extractor (1997). Then it started to be used to compute metrics.

Later on, as the meta-model evolved, it became apparent that the import/export service should be orthogonal to the meta-model and most important that the environment should support meta-model extension. As a consequence, a first, extremely simple meta-meta-model was implemented, which, at the time, could represent entities and relationships (1998).

1999-2003: Interchange formats, visualizations

With the introduction of the XMI standard, a first Meta-Object Facility meta-model was implemented and CDIF meta-models were transformed into MOF meta-models for the XMI model generation. However, MOF was not used as the underlying Moose meta-meta-model.

In parallel, the visualization development led to the extension of the set of metrics computed. At the time, CodeCrawler was the flagship application of Moose, and for a significant period CodeCrawler influenced the architecture of Moose (1999). For example, the metrics had to be computed for all entities before the views could be generated.

The interest in researching the evolution of systems led to the implementation of the meta-model repository. As such, the first application was the Evolution Matrix (2001). Later on, more research was invested in understanding the evolution of systems, resulting in the development of Van (2002).

Because the evolution analysis requires large amounts of data to be manipulated, it was not feasible anymore to manipulate all the model information all the time. Also, the computation of the metrics beforehand for all entities in the model was another bottleneck. As a consequence, several services were implemented: partial loading of the models, lazy computation of the properties, and caching of results.

It became apparent that the meta-descriptions are a powerful way of separating the data representation (i.e., the meta-model) from the different techniques to manipulate this data. Consequently, the team started to implement a MOF-like meta-meta-model (2002) and replaced the original one. It offers an architecture similar to that of the Eclipse Modeling Framework (EMF).

2003-2007: Generic UI, custom interchange format, scriptable visualizations

As an application of the meta-description, the development of a generic GUI was started to provide basic services such as navigation, querying, and introspection (2003). An important role in the caching mechanism and in the querying is played by the notion of a group as a first-class entity: every query or selection in Moose yields a group, and any group can be manipulated in the Browser (2003).

To ease tool development, a plug-in mechanism was needed. Thus, based on meta-description, each tool can register itself to the menu attached to each entity in the meta-model. This simple mechanism allows these tools to complement each other without imposing a hard-coded dependency between them.

The combination of menus and groups meant that complex analyses could be broken down into multiple steps, each of which may make use of a different tool. Combining and composing tools thereby becomes natural and transparent.

In 2006, Meta was created as a self-described implementation of EMOF (Essential Meta Object Facility) and it replaced the meta-meta-model of Moose. Together with Meta, the new MSE file format was created. Because Meta is self described, Moose is now able to load both externals models and meta-models using the same mechanism. In the same time, XMI and CDIF support was dropped.

To provide support for fast prototyping of interactive visual tools, Mondrian was built. Mondrian uses Smalltalk as an underlying scripting language and adds support for graph based visualizations. Mondrian received 2nd prize at the ESUG 2006 Innovation Awards.

In 2007, a new engine, called EyeSee, grew up around Moose to allow for scripting Excel-like charts. EyeSee received 2nd prize at the ESUG 2007 Innovation Awards.

2008-2011: FAMIX 3.0, scriptable browsers and the move to Pharo

In 2008, Meta was replaced by Fame that implements a new meta-meta-model (FM3) that is simpler and more flexible than EMOF. The effort for building Fame is correlated with the development of FAMIX 3.0, a family of meta-models for software analysis.

Starting with the end of 2008, a large effort was started to move Moose from VisualWorks to Pharo, an open source Smalltalk. The first alpha version under Pharo was released in August 2009.

During this time Glamour was developed, an engine for scripting interactive browsers. Glamour received the 3rd prize at the ESUG 2009 Innovation Awards.

PetitParser was added to the Moose Suite. PetitParser is a novel engine for creating dedicated parsers.

References

  1. ^ Oscar Nierstrasz, Stéphane Ducasse, and Tudor Gîrba. The Story of Moose: an Agile Reengineering Environment. In Proceedings of the European Software Engineering Conference (ESEC/FSE'05), p. 1—10, ACM Press, New York NY, 2005. Invited paper.
  2. ^ Stéphane Ducasse, Tudor Gîrba, Adrian Kuhn, and Lukas Renggli. Meta-Environment and Executable Meta-Language using Smalltalk: an Experience Report. In Journal of Software and Systems Modeling (SOSYM) 8(1) p. 5—19, February 2009.
  3. ^ Adrian Kuhn and Toon Verwaest. FAME, A Polyglot Library for Metamodeling at Runtime. In Workshop on Models at Runtime, p. 57—66, 2008
  4. ^ Lukas Renggli, Stéphane Ducasse, Tudor Gîrba, and Oscar Nierstrasz. Practical Dynamic Grammars for Dynamic Languages. In 4th Workshop on Dynamic Languages and Applications (DYLA 2010), Malaga, Spain, June 2010
  5. ^ Michael Meyer, Tudor Gîrba, and Mircea Lungu. Mondrian: An Agile Visualization Framework. In ACM Symposium on Software Visualization (SoftVis'06), p. 135—144, ACM Press, New York, NY, USA, 2006.
  6. ^ Serge Demeyer, Stéphane Ducasse, and Oscar Nierstrasz. Object-Oriented Reengineering Patterns, Square Bracket Associates, 2008. URL

Read other articles:

Budaya Kuai Kuai (atau budaya Guai Guai[1]) adalah suatu fenomena di Taiwan ketika para pekerja menaruh penganan bermerek Kuai Kuai (乖乖) di sebelah atau di atas mesin. Para pekerja yang melakukan hal ini mempercayai bahwa dengan menaruh kudapan itu, karena namanya – Kuai Kuai – berarti patuh atau bersikap baik, akan membuat suatu alat berfungsi tanpa kesalahan. Kebiasaan seperti ini dapat ditemukan secara umum di banyak sekali tempat kerja dalam masyarakat Taiwan. Seperangkat ...

 

1971 horror novel by William P. Blatty The Exorcist First edition coverAuthorWilliam Peter BlattyCountryUnited StatesLanguageEnglishGenreHorrorPublisherHarper & RowPublication dateJune 1971Media typePrint (hardcover, paperback)Pages340 (first edition)ISBN978-0-06-010365-1OCLC29760583Followed byLegion  The Exorcist is a 1971 horror novel written by American writer William Peter Blatty and published by Harper & Row. The book details the demonic possession of eleven-year-o...

 

Road in eastern Ireland R160 roadBóthar R160Tractor on the R160Route informationLength20.4 km (12.7 mi)Major junctionsFrom R154 / R933 TrimMajor intersections R158 Trim (Summerhill Road) R156 BrannockstownCrosses Leinster BlackwaterPasses through LongwoodCrosses Royal Canal and Western Commuter railway line; enters County KildareTo R148 Ballynadrumny LocationCountryIreland Highway system Roads in Ireland Motorways Primary Secondary Regional The R160 road is a regional road in ...

2012 2022 Élections législatives de 2017 en Guadeloupe 4 sièges de députés à l'Assemblée nationale 10 et 17 juin 2017 Type d’élection Élections législatives Campagne 22 mai au 10 juin12 juin au 16 juin Corps électoral et résultats Inscrits 316 226 Votants 80 967   25,60 %  8,9 Votes exprimés 74 597 Votes blancs 2 803 Votes nuls 3 617 La République en marche - Guadeloupe unie, solidaire et responsable Voix au 1er tour 12 023 ...

 

Badan Keamanan RakyatBekas kantor Badan Keamanan Rakyat di PadangDidirikan22 Agustus 1945Dibubarkan5 Oktober 1945(diubah menjadi Tentara Keamanan Rakyat)Markas besarJakartaKepemimpinanKetuaMoeffreni Moe'min Badan Keamanan Rakyat (atau biasa disingkat BKR) adalah suatu badan yang dibentuk untuk melakukan tugas pemeliharaan keamanan bersama-sama dengan rakyat dan jawatan-jawatan negara.[1] BKR dibentuk oleh Panitia Persiapan Kemerdekaan Indonesia atau PPKI dalam sidangnya pada tanggal 2...

 

Questa voce sull'argomento stagioni delle società calcistiche italiane è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Associazione Sportiva RegginaStagione 1953-1954Sport calcio Squadra Reggina Allenatore Enzo Dolfin IV Serie3º posto girone H 1952-1953 1954-1955 Si invita a seguire il modello di voce Questa pagina raccoglie i dati riguardanti l'Associazione Sportiva Reggina nelle competizioni u...

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada April 2017. Chong Yong-deInformasi pribadiTanggal lahir 4 Februari 1978 (umur 46)Tempat lahir Prefektur Aichi, JepangPosisi bermain GelandangKarier senior*Tahun Tim Tampil (Gol)2000 Ome FC 2001 Pohang Steelers 2002-2004 Nagoya Grampus Eight 2002 →Cerezo Osaka...

 

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (ديسمبر 2018) خواطر تسعة التعليق شعار الموسم يتفكرون النوع تعليم · ديني السلسلة خواطر (الترتيب: 9)  تطوير أح...

 

Venetian noble Mercury, with auspicious horoscope, commissioned by Michiel from Antonio Minelli, 1527 (Victoria and Albert Museum) Marcantonio Michiel (1484–1552)[1] was a Venetian noble from a family prominent in the service of the state who was interested in matters of art. His notes on the contemporary art collections of Venice, Padua, Milan and other northern Italian centres (Notizie d'opere del disegno), written sporadically between 1521 and 1543[2] and preserved in the...

Questa voce sull'argomento centri abitati del Baden-Württemberg è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Pfaffenhofencomune Pfaffenhofen – Veduta LocalizzazioneStato Germania Land Baden-Württemberg DistrettoStoccarda CircondarioHeilbronn TerritorioCoordinate49°04′N 8°58′E / 49.066667°N 8.966667°E49.066667; 8.966667 (Pfaffenhofen)Coordinate: 49°04′N 8°58′E / 49.066667°N 8.966667°E49...

 

Maltese lawyer, historian, and linguist (1712–1770) CanonGiovanni Pietro Francesco Agius de SoldanisBust of de Soldanis at the Villa Rundle gardensBornĠan Piet Franġisk Agius1 November 1712Rabat, Gozo, Hospitaller MaltaDied30 January 1770 (aged 57)Resting placeCollegiate Parish Church of St Paul's Shipwreck, VallettaNationalityMalteseEducationCollegium Melitense, VallettaUniversity of PaduaOccupation(s)Priest · Lawyer · LibrarianParentsAndrea Hagius (father)Val...

 

1930 U.S. trade law placing and raising tariffs on tens of thousands of imports Main articles: Tariffs in United States history, List of tariffs in the United States, and Protectionism in the United States Tariff Act of 1930Long titleAn Act To provide revenue, to regulate commerce with foreign countries, to encourage the industries of the United States, to protect American labor, and for other purposes.NicknamesHawley–Smoot Tariff, Smoot–Hawley TariffEnacted bythe 71st United States ...

Seorang pekerja wanita Jepang di atas kereta api Office lady, sering disingkat OL (Jepang: オーエル Ōeru), adalah seorang wanita pekerja kantor di Jepang yang memiliki tugas-tugas melayani kebutuhan karyawan kantor lainnya, seperti menyuguhkan teh dan pekerjaan kesekretariatan dan tulis-menulis lainnya. Office lady umumnya adalah karyawan permanen penuh-waktu (full time). Meskipun demikian, pekerjaan mereka biasanya hanya sedikit memiliki kesempatan untuk promosi, serta terdapat harapan ...

 

Ceremony placing a ship in active service This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) The examples and perspective in this article may not represent a worldwide view of the subject. You may improve this article, discuss the issue on the talk page, or create a new article, as appropriate. (December 2010) (Learn how and when to remove this message) This article needs additional citation...

 

فيصل طراد معلومات شخصية الميلاد 12 فبراير 1956 (68 سنة)  المدينة المنورة  مواطنة السعودية  الحياة العملية المهنة دبلوماسي  تعديل مصدري - تعديل   فيصل بن حسن بن أحمد طراد (12 فبراير 1956 -) هو دبلوماسي سعودي، وكان سفيرًا للمملكة العربية السعودية في عدّة دول.[1] النشأة �...

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (يوليو 2016) مذكّرات خير الدين بربروس غلاف الكتاب باللغة العربية معلومات الكتاب المؤلف محمد دراج البلد  الجزائر الل...

 

Flavio CobolliFlavio Cobolli nel 2023Nazionalità Italia Altezza185 cm Peso74 kg Tennis Carriera Singolare1 Vittorie/sconfitte 24-27 (47.06%) Titoli vinti 0 Miglior ranking 48º (1° luglio 2024) Ranking attuale ranking Risultati nei tornei del Grande Slam  Australian Open 3T (2024)  Roland Garros 2T (2024)  Wimbledon 1T (2024)  US Open Q3 (2022) Doppio1 Vittorie/sconfitte 0-4 (0%) Titoli vinti 0 Miglior ranking 316º (11 aprile 2022) Ranking attuale ranking 1 Dati re...

 

Tinju padaPekan Olahraga Nasional XIX Putra Putri   46 kg     48 kg   49 kg 51 kg 52 kg 54 kg 56 kg 57 kg 60 kg 60 kg 64 kg 64 kg 69 kg 75 kg 81 kg 91 kg Tinju kelas layang putri pada Pekan Olahraga Nasional XIX akan dilaksanakan di GSG Tinju Pelabuhan Ratu, Kabupaten Sukabumi, Jawa Barat.[1] Jadwal Seluruh waktu menggunakan Waktu Indonesia Barat (UTC+07:00) Tanggal Babak 20 September 2016 Babak 16 besar 23 September 2016 Perempat final 25 September 2016 Semifinal...

Building in Kabukichō, Shinjuku, Tokyo, Japan You can help expand this article with text translated from the corresponding article in Japanese. (November 2019) Click [show] for important translation instructions. View a machine-translated version of the Japanese article. Machine translation, like DeepL or Google Translate, is a useful starting point for translations, but translators must revise errors as necessary and confirm that the translation is accurate, rather than simply copy-pas...

 

Ethiopian politician Belete MollaMinister of Innovation and TechnologyIncumbentAssumed office 6 October 2021PresidentSahle-Work ZewdePrime MinisterAbiy AhmedPreceded byAbraham BelayChairman of the National Movement of AmharaIncumbentAssumed office 24 February 2020Preceded byDesalegn Chanie Personal detailsPolitical partyNational Movement of AmharaEducationAddis Ababa University (PhD)AwardsErasmus Mundus Scholarship Award (2007) Belete Molla (Amharic: በለጠ ሞላ) is an Ethiopian ...