aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/landing/sections/Publications.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/landing/sections/Publications.tsx')
-rw-r--r--src/components/landing/sections/Publications.tsx275
1 files changed, 275 insertions, 0 deletions
diff --git a/src/components/landing/sections/Publications.tsx b/src/components/landing/sections/Publications.tsx
new file mode 100644
index 0000000..e343c42
--- /dev/null
+++ b/src/components/landing/sections/Publications.tsx
@@ -0,0 +1,275 @@
1/*
2 * SPDX-FileCopyrightText: 2023-2024 Kristóf Marussy
3 *
4 * SPDX-License-Identifier: MIT
5 */
6
7import {
8 ArrowSquareOut,
9 Certificate,
10 File,
11 Lock,
12 Package,
13 Play,
14} from '@phosphor-icons/react';
15import clsx from 'clsx';
16
17import {
18 CreativeCommonsIcon,
19 DBLPIcon,
20 GoogleScholarIcon,
21 MTMTIcon,
22 OrcidIcon,
23 ScopusIcon,
24} from '@site/src/components/icons';
25import Section from '@site/src/components/landing/Section';
26import Subtitle from '@site/src/components/landing/Subtitle';
27import styles from './Publications.module.css';
28
29function DOILink({ doi }: { doi: string }) {
30 return (
31 <a
32 href={`https://doi.org/${doi}`}
33 className={clsx(styles.link, styles['link--lower'])}
34 >
35 <ArrowSquareOut
36 weight="bold"
37 aria-hidden="true"
38 className={styles.link__icon}
39 />
40 DOI
41 </a>
42 );
43}
44
45function PDFLink({ filename }: { filename: string }) {
46 return (
47 <a
48 href={`/papers/${filename}.pdf`}
49 className={clsx(styles.link, styles['link--lower'])}
50 >
51 <File weight="bold" aria-hidden="true" className={styles.link__icon} />
52 PDF
53 </a>
54 );
55}
56
57function ArtifactLink({ doi }: { doi: string }) {
58 return (
59 <a
60 href={`https://doi.org/${doi}`}
61 className={clsx(styles.link, styles['link--lower'])}
62 >
63 <Package weight="bold" aria-hidden="true" className={styles.link__icon} />
64 Artifact
65 </a>
66 );
67}
68
69function ArxivLink({ arxivID }: { arxivID: string }) {
70 return (
71 <a href={`https://arxiv.org/abs/${arxivID}`} className={styles.link}>
72 <ArrowSquareOut
73 weight="bold"
74 aria-hidden="true"
75 className={styles.link__icon}
76 />
77 arXiv
78 </a>
79 );
80}
81
82function VideoLink({ url }: { url: string }) {
83 return (
84 <a href={url} className={clsx(styles.link, styles['link--lower'])}>
85 <Play weight="bold" aria-hidden="true" className={styles.link__icon} />
86 Video
87 </a>
88 );
89}
90
91function ClosedAccess({ publisher, url }: { publisher: string; url: string }) {
92 return (
93 <a
94 href={url}
95 rel="nofollow"
96 className={clsx(styles.link, styles['link--license'])}
97 >
98 <Lock weight="bold" aria-hidden="true" className={styles.link__icon} />
99 <span className="sr-only">Closed Access: </span>
100 {publisher}
101 </a>
102 );
103}
104
105function OpenAccess({ license }: { license: string }) {
106 const url = `https://creativecommons.org/licenses/${license}/4.0/`;
107 return (
108 <a href={url} className={clsx(styles.link, styles['link--license'])}>
109 <CreativeCommonsIcon className={styles.link__icon} hidden />
110 <span className="sr-only">Open Access: </span>
111 CC-{license.toUpperCase()}-4.0
112 </a>
113 );
114}
115
116function ArtifactLicense({ license, url }: { license: string; url: string }) {
117 return (
118 <a href={url} className={clsx(styles.link, styles['link--license'])}>
119 <Certificate
120 weight="bold"
121 aria-hidden="true"
122 className={styles.link__icon}
123 />
124 <span className="sr-only">Artifact license: </span>
125 {license}
126 </a>
127 );
128}
129
130export default function Publications() {
131 return (
132 <Section id="publications" title="Publications">
133 <div className="container">
134 <section>
135 <Subtitle icon="📌">Selected publications</Subtitle>
136 <ul>
137 <li className={styles.publications__item}>
138 <b>Kristóf Marussy</b>, Attila Ficsor, Oszkár Semeráth, Dániel
139 Varró (2024). Refinery: Graph Solver as a Service. In&nbsp;
140 <i>
141 International Conference on Software Engineering (ICSE) 2024
142 </i>
143 . <PDFLink filename="icse24" />{' '}
144 <VideoLink url="https://www.youtube.com/watch?v=Qy_3udNsWsM" />{' '}
145 <OpenAccess license="by" />
146 </li>
147 <li className={styles.publications__item}>
148 Máté Földiák, <b>Kristóf Marussy</b>, Dániel Varró, István Majzik
149 (2022). System architecture synthesis for performability by logic
150 solvers. In&nbsp;
151 <i>
152 International Conference on Model Driven Engineering Languages
153 and Systems (MODELS) 2022,
154 </i>{' '}
155 pp.&nbsp;433&ndash;45. <DOILink doi="10.1145/3550355.3552448" />{' '}
156 <PDFLink filename="models22" />{' '}
157 <ClosedAccess
158 publisher="ACM"
159 url="https://authors.acm.org/journals/rights-permissions"
160 />{' '}
161 <ArtifactLink doi="10.5281/zenodo.6974248" />{' '}
162 <ArtifactLicense
163 license="EPL-2.0"
164 url="https://www.eclipse.org/legal/epl-v20.html"
165 />
166 </li>
167 <li className={styles.publications__item}>
168 Boqi Chen, <b>Kristóf Marussy</b>, Sebastian Pilarski, Oszkár
169 Semeráth, Dániel Varró (2022). Consistent Scene Graph Generation
170 by Constraint Optimization. In&nbsp;
171 <i>
172 International Conference on Automated Software Engineering (ASE)
173 2022
174 </i>
175 . <DOILink doi="10.1145/3551349.3560433" />{' '}
176 <PDFLink filename="ase22" /> <OpenAccess license="by" />
177 </li>
178 <li className={styles.publications__item}>
179 <b>Kristóf Marussy</b>, Oszkár Semeráth, Dániel Varró (2022).{' '}
180 Automated Generation of Consistent Graph Models With Multiplicity
181 Reasoning. <i>IEEE Transactions on Software Engineering,</i>{' '}
182 volume 48, issue 5. <DOILink doi="10.1109/TSE.2020.3025732 " />{' '}
183 <PDFLink filename="tse22" /> <OpenAccess license="by" />
184 </li>
185 <li className={styles.publications__item}>
186 Márton Búr, <b>Kristóf Marussy</b>, Brett H.&nbsp;Meyer, Dániel
187 Varró (2021). Worst-case Execution Time Calculation for
188 Query-based Monitors by Witness Generation.{' '}
189 <i>ACM Transactions on Embedded Computing Systems,</i> volume 20,
190 issue 6. <DOILink doi="10.1145/3239372.3239412" />{' '}
191 <ArxivLink arxivID="2102.03116" /> <PDFLink filename="tecs21" />{' '}
192 <OpenAccess license="by" />
193 </li>
194 <li className={styles.publications__item}>
195 <b>Kristóf Marussy</b>, Oszkár Semeráth, Aren A.&nbsp;Babikian,
196 Dániel Varró (2020). A Specification Language for Consistent Model
197 Generation based on Partial Models.{' '}
198 <i>Journal of Object Technology,</i> volume 19,
199 pp.&nbsp;3:1&ndash;22. <DOILink doi="10.5381/jot.2020.19.3.a12" />{' '}
200 <PDFLink filename="jot20" />{' '}
201 <VideoLink url="https://www.youtube.com/watch?v=ggTbv_s5t2A" />{' '}
202 <OpenAccess license="by-nd" />
203 </li>
204 <li className={styles.publications__item}>
205 <b>Kristóf Marussy</b> and Oszkár Semeráth (2018). Incremental
206 View Model Synchronization Using Partial Models. In&nbsp;
207 <i>
208 International Conference on Model Driven Engineering Languages
209 and Systems (MODELS) 2018,
210 </i>{' '}
211 pp.&nbsp;323&ndash;333. <DOILink doi="10.1145/3239372.3239412" />{' '}
212 <PDFLink filename="models18" />{' '}
213 <ClosedAccess
214 publisher="ACM"
215 url="https://authors.acm.org/journals/rights-permissions"
216 />{' '}
217 <ArtifactLink doi="10.5281/zenodo.1318156" />{' '}
218 <ArtifactLicense
219 license="EPL-1.0"
220 url="https://www.eclipse.org/legal/epl-v10.html"
221 />
222 </li>
223 </ul>
224 </section>
225 <div className={styles.elsewhere}>
226 <p className={styles.elsewhere__text}>
227 See the full list of my publications at
228 </p>
229 <ul className={styles.elsewhere__list}>
230 <li className={styles.elsewhere__item}>
231 <a
232 href="https://orcid.org/0000-0002-9135-8256"
233 className={styles.elsewhere__icon}
234 >
235 <OrcidIcon />
236 </a>
237 </li>
238 <li className={styles.elsewhere__item}>
239 <a
240 href="https://dblp.org/pid/130/6479.html"
241 className={styles.elsewhere__icon}
242 >
243 <DBLPIcon />
244 </a>
245 </li>
246 <li className={styles.elsewhere__item}>
247 <a
248 href="https://scholar.google.com/citations?user=E9CKNYoAAAAJ"
249 className={styles.elsewhere__icon}
250 >
251 <GoogleScholarIcon />
252 </a>
253 </li>
254 <li className={styles.elsewhere__item}>
255 <a
256 href="https://www.scopus.com/authid/detail.uri?authorId=55860043200"
257 className={styles.elsewhere__icon}
258 >
259 <ScopusIcon />
260 </a>
261 </li>
262 <li className={styles.elsewhere__item}>
263 <a
264 href="https://m2.mtmt.hu/gui2/?type=authors&mode=browse&sel=authors10062709"
265 className={styles.elsewhere__icon}
266 >
267 <MTMTIcon />
268 </a>
269 </li>
270 </ul>
271 </div>
272 </div>
273 </Section>
274 );
275}